From f4c52a41fa156e063f41a6c6bfe1f02ebce5d2c5 Mon Sep 17 00:00:00 2001 From: Blaise Tine Date: Fri, 16 Apr 2021 02:45:37 -0700 Subject: [PATCH] minor update --- driver/tests/tex_demo/common.h | 1 + driver/tests/tex_demo/kernel.bin | Bin 5180 -> 10188 bytes driver/tests/tex_demo/kernel.c | 6 +- driver/tests/tex_demo/kernel.dump | 2163 +++++++++++++++++------------ driver/tests/tex_demo/kernel.elf | Bin 11352 -> 12292 bytes driver/tests/tex_demo/main.cpp | 1 + driver/tests/tex_demo/texsw.h | 11 +- hw/rtl/VX_config.vh | 2 +- 8 files changed, 1294 insertions(+), 890 deletions(-) diff --git a/driver/tests/tex_demo/common.h b/driver/tests/tex_demo/common.h index c6129fe3..d23c55fb 100644 --- a/driver/tests/tex_demo/common.h +++ b/driver/tests/tex_demo/common.h @@ -9,6 +9,7 @@ struct kernel_arg_t { uint8_t filter; uint8_t wrap; uint8_t use_sw; + uint32_t lod; uint8_t src_logWidth; uint8_t src_logHeight; uint8_t src_stride; diff --git a/driver/tests/tex_demo/kernel.bin b/driver/tests/tex_demo/kernel.bin index 5400f84011ea5ff8e0216b462134708b4d78660b..8559a392b839f29969df8915d2462bfa9f2c843f 100755 GIT binary patch literal 10188 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 delta 2048 zcmb7FU2GIp6h3$E%-$B*?!YbGf)R2m6 zy{5$c3HY#j=G}>&2{_I1uE2HB0_#dSA-R4(ZyQw$72219R-NTq*O@t*aq&5h<9-~s z;n<90wA)_%K&#%6qkW9@mqDA`_e`TvJqq*?1E;sS+cTDG3yrGlFzjc`W3{7T)Qm!` z{yJhfwzGS3slEDRJe6&01E77o!TDSRMDVxAE-A+HS2gF$A;Lb@h|^o781*UDsO?sb znuj%``f<&uvNUf`k`CX9o;E7iYsQL~G|ZuxLyelxs8M|c-)XwH=Nu#!u`J}OYRB`%N2k-O!REK^gk9lm; zsKWdYrt)%u4)UG9B1YAyl6ar381{eB>G3yV_!D-F|L{+qKY!cu{4^1_>xofw9TH7% z0e^2QKgRoV7_5dAP19WgZIERNIk!DYb_+`s`@toiB$L3U2%y^gb{X#dj^TP~R1ncqw=>zZE0H6r4!DGvTYMEf}LI{Jwh?k9qc z6S>c>0(qbgcxff@XbilL5%4;{C&HZo(cXm?3IRPF2Io-~XpDjM{RrRnPb5*)^H}1F zT9H_`Cc+PN0pHsJUQ3S13Vg0`!F%~<5EEC4*mf1Xo14JPZv|oFos5Hsj35)fCDgpa z?FfL!e1*r`F_=Z>2qouPb7dWJsS01sZAcyP^18B{es4o-}ayYh&n z4|9^CRAaB)yhy7Cu#h1V7(B=`aE``=z?k;f_CLE0S@ivYtj!+T)&T{Hf zgl|NULDj6^65*U8N4m@c8#_0GP^WFns7xue(o*D^4wG-imq-`VqZH^us$`e}k9V3B zHxtYSu`>=l+lg%Skzivl?3y%|QbZ)L1nXoR_vpwLXb%{=%cO9BqMn<@IkFir7wna^ z;}Fm-y0S2KOTC;Z+00tN)W^y;Pw}3UsN=6dtBJx(PoYmvp|%+iEfvM7(^2 z2pjJtBXio$f+-XfLQi2)Gl!zA0cZqLkku~edSOQQcxFz|K*yHJk)cFrZ!vGij)q6u=L2S$7f`>3>VU=lui*I4e5^PbNyTr?N zVr*oH_aGYu#s&y4jSzVtLU;wT^52Zv|DUpZ7-QDm4wwc1O`)}d7DEXNorRu4SqklU zUuRh&y=ktsu#$k5ks~sShzpDiV9W;@zyFYfhdKVmf{|l;j`PElwU=jWSB?~xsCElq#}aP z4W-b=)h1ln46}=W JRf}|J`xhpGz>fd` diff --git a/driver/tests/tex_demo/kernel.c b/driver/tests/tex_demo/kernel.c index 76dd029f..6a04b801 100644 --- a/driver/tests/tex_demo/kernel.c +++ b/driver/tests/tex_demo/kernel.c @@ -30,10 +30,10 @@ void kernel_body(int task_id, void* arg) { int32_t v = (int32_t)(fv * (1<<20)); #ifdef ENABLE_SW if (state->use_sw) { - dst_row[x] = tex_sw(state, 0, u, v, 0x0); + dst_row[x] = (state->filter == 2) ? tex3_sw(state, 0, u, v, state->lod) : tex_sw(state, 0, u, v, state->lod); } else { #endif - dst_row[x] = vx_tex(0, u, v, 0x0); + dst_row[x] = (state->filter == 2) ? vx_tex3(0, u, v, state->lod) : vx_tex(0, u, v, state->lod); #ifdef ENABLE_SW } #endif @@ -54,7 +54,7 @@ int main() { vx_csr_write(CSR_TEX_HEIGHT(0), arg->src_logHeight); vx_csr_write(CSR_TEX_FORMAT(0), arg->format); vx_csr_write(CSR_TEX_WRAP(0), (arg->wrap << 2) | arg->wrap); - vx_csr_write(CSR_TEX_FILTER(0), arg->filter); + vx_csr_write(CSR_TEX_FILTER(0), (arg->filter ? 1 : 0)); struct tile_arg_t targ; targ.state = arg; diff --git a/driver/tests/tex_demo/kernel.dump b/driver/tests/tex_demo/kernel.dump index 3fc9be2d..38264ab2 100644 --- a/driver/tests/tex_demo/kernel.dump +++ b/driver/tests/tex_demo/kernel.dump @@ -5,26 +5,26 @@ kernel.elf: file format elf32-littleriscv Disassembly of section .init: 80000000 <_start>: -80000000: 00000597 auipc a1,0x0 -80000004: 73858593 addi a1,a1,1848 # 80000738 +80000000: 00001597 auipc a1,0x1 +80000004: d7458593 addi a1,a1,-652 # 80000d74 80000008: fc102573 csrr a0,0xfc1 8000000c: 00b5106b 0xb5106b -80000010: 728000ef jal ra,80000738 +80000010: 565000ef jal ra,80000d74 80000014: 00100513 li a0,1 80000018: 0005006b 0x5006b -8000001c: 00001517 auipc a0,0x1 -80000020: 42050513 addi a0,a0,1056 # 8000143c -80000024: 00001617 auipc a2,0x1 -80000028: 49860613 addi a2,a2,1176 # 800014bc <__BSS_END__> +8000001c: 00002517 auipc a0,0x2 +80000020: 7b050513 addi a0,a0,1968 # 800027cc +80000024: 00003617 auipc a2,0x3 +80000028: 82860613 addi a2,a2,-2008 # 8000284c <__BSS_END__> 8000002c: 40a60633 sub a2,a2,a0 80000030: 00000593 li a1,0 -80000034: 289000ef jal ra,80000abc +80000034: 0c4010ef jal ra,800010f8 80000038: 00001517 auipc a0,0x1 -8000003c: 98c50513 addi a0,a0,-1652 # 800009c4 <__libc_fini_array> -80000040: 13d000ef jal ra,8000097c -80000044: 1dd000ef jal ra,80000a20 <__libc_init_array> +8000003c: fc850513 addi a0,a0,-56 # 80001000 <__libc_fini_array> +80000040: 779000ef jal ra,80000fb8 +80000044: 018010ef jal ra,8000105c <__libc_init_array> 80000048: 008000ef jal ra,80000050
-8000004c: 1450006f j 80000990 +8000004c: 7810006f j 80000fcc Disassembly of section .text: @@ -32,12 +32,12 @@ Disassembly of section .text: 80000050: fd010113 addi sp,sp,-48 80000054: 7ffff7b7 lui a5,0x7ffff 80000058: 02112623 sw ra,44(sp) -8000005c: 00c7a703 lw a4,12(a5) # 7ffff00c <__stack_size+0x7fffec0c> +8000005c: 0107a703 lw a4,16(a5) # 7ffff010 <__stack_size+0x7fffec10> 80000060: fd071073 csrw 0xfd0,a4 80000064: fd405073 csrwi 0xfd4,0 -80000068: 0087c703 lbu a4,8(a5) +80000068: 00c7c703 lbu a4,12(a5) 8000006c: fd571073 csrw 0xfd5,a4 -80000070: 0097c703 lbu a4,9(a5) +80000070: 00d7c703 lbu a4,13(a5) 80000074: fd671073 csrw 0xfd6,a4 80000078: 0047c703 lbu a4,4(a5) 8000007c: fd171073 csrw 0xfd1,a4 @@ -46,898 +46,1299 @@ Disassembly of section .text: 80000088: 00d76733 or a4,a4,a3 8000008c: fd271073 csrw 0xfd2,a4 80000090: 0057c703 lbu a4,5(a5) -80000094: fd371073 csrw 0xfd3,a4 -80000098: 0107a703 lw a4,16(a5) -8000009c: 800016b7 lui a3,0x80001 -800000a0: 4346a787 flw fa5,1076(a3) # 80001434 <__stack_top+0x81001434> -800000a4: 00e12823 sw a4,16(sp) -800000a8: 0007a503 lw a0,0(a5) -800000ac: 0147a683 lw a3,20(a5) -800000b0: d0177753 fcvt.s.wu fa4,a4 -800000b4: 800005b7 lui a1,0x80000 -800000b8: 00a68733 add a4,a3,a0 -800000bc: fff70713 addi a4,a4,-1 -800000c0: 02a75733 divu a4,a4,a0 -800000c4: d016f6d3 fcvt.s.wu fa3,a3 -800000c8: 18e7f753 fdiv.s fa4,fa5,fa4 -800000cc: 00c10613 addi a2,sp,12 -800000d0: 11058593 addi a1,a1,272 # 80000110 <__stack_top+0x81000110> -800000d4: 00f12623 sw a5,12(sp) -800000d8: 18d7f7d3 fdiv.s fa5,fa5,fa3 -800000dc: 00e12c27 fsw fa4,24(sp) -800000e0: 00e12a23 sw a4,20(sp) -800000e4: 00f12e27 fsw fa5,28(sp) -800000e8: 74c000ef jal ra,80000834 -800000ec: 02c12083 lw ra,44(sp) -800000f0: 03010113 addi sp,sp,48 -800000f4: 00008067 ret +80000094: 00e03733 snez a4,a4 +80000098: fd371073 csrw 0xfd3,a4 +8000009c: 0147a703 lw a4,20(a5) +800000a0: 800026b7 lui a3,0x80002 +800000a4: 7c46a787 flw fa5,1988(a3) # 800027c4 <__stack_top+0x810027c4> +800000a8: 00e12823 sw a4,16(sp) +800000ac: 0007a503 lw a0,0(a5) +800000b0: 0187a683 lw a3,24(a5) +800000b4: d0177753 fcvt.s.wu fa4,a4 +800000b8: 800005b7 lui a1,0x80000 +800000bc: 00a68733 add a4,a3,a0 +800000c0: fff70713 addi a4,a4,-1 +800000c4: 02a75733 divu a4,a4,a0 +800000c8: d016f6d3 fcvt.s.wu fa3,a3 +800000cc: 18e7f753 fdiv.s fa4,fa5,fa4 +800000d0: 00c10613 addi a2,sp,12 +800000d4: 6c458593 addi a1,a1,1732 # 800006c4 <__stack_top+0x810006c4> +800000d8: 00f12623 sw a5,12(sp) +800000dc: 18d7f7d3 fdiv.s fa5,fa5,fa3 +800000e0: 00e12c27 fsw fa4,24(sp) +800000e4: 00e12a23 sw a4,20(sp) +800000e8: 00f12e27 fsw fa5,28(sp) +800000ec: 585000ef jal ra,80000e70 +800000f0: 02c12083 lw ra,44(sp) +800000f4: 03010113 addi sp,sp,48 +800000f8: 00008067 ret -800000f8 : -800000f8: 00000793 li a5,0 -800000fc: 00078863 beqz a5,8000010c -80000100: 80001537 lui a0,0x80001 -80000104: 9c450513 addi a0,a0,-1596 # 800009c4 <__stack_top+0x810009c4> -80000108: 0750006f j 8000097c -8000010c: 00008067 ret +800000fc : +800000fc: 00000793 li a5,0 +80000100: 00078863 beqz a5,80000110 +80000104: 80001537 lui a0,0x80001 +80000108: 00050513 mv a0,a0 +8000010c: 6ad0006f j 80000fb8 +80000110: 00008067 ret -80000110 : -80000110: 0085a703 lw a4,8(a1) -80000114: 0005a883 lw a7,0(a1) -80000118: fa010113 addi sp,sp,-96 -8000011c: 02e507b3 mul a5,a0,a4 -80000120: 05712023 sw s7,64(sp) -80000124: 01c8ab83 lw s7,28(a7) -80000128: 0105a007 flw ft0,16(a1) -8000012c: 0208a683 lw a3,32(a7) -80000130: 04812e23 sw s0,92(sp) -80000134: 04912c23 sw s1,88(sp) -80000138: 05212a23 sw s2,84(sp) -8000013c: 05312823 sw s3,80(sp) -80000140: 05412623 sw s4,76(sp) -80000144: 03778bb3 mul s7,a5,s7 -80000148: d017f5d3 fcvt.s.wu fa1,a5 -8000014c: 05512423 sw s5,72(sp) -80000150: 05612223 sw s6,68(sp) -80000154: 03812e23 sw s8,60(sp) -80000158: 03912c23 sw s9,56(sp) -8000015c: 03a12a23 sw s10,52(sp) -80000160: 03b12823 sw s11,48(sp) -80000164: 1005f5d3 fmul.s fa1,fa1,ft0 -80000168: 00db8bb3 add s7,s7,a3 -8000016c: 28070c63 beqz a4,80000404 -80000170: 80001737 lui a4,0x80001 -80000174: 43072687 flw fa3,1072(a4) # 80001430 <__stack_top+0x81001430> -80000178: 07e10737 lui a4,0x7e10 -8000017c: 81f70713 addi a4,a4,-2017 # 7e0f81f <__stack_size+0x7e0f41f> -80000180: 00c5a607 flw fa2,12(a1) -80000184: f0000553 fmv.w.x fa0,zero -80000188: 00e12e23 sw a4,28(sp) -8000018c: 00010737 lui a4,0x10 -80000190: fff70713 addi a4,a4,-1 # ffff <__stack_size+0xfbff> -80000194: 00e12823 sw a4,16(sp) -80000198: 10a67553 fmul.s fa0,fa2,fa0 -8000019c: 0f0f1737 lui a4,0xf0f1 -800001a0: f0f70713 addi a4,a4,-241 # f0f0f0f <__stack_size+0xf0f0b0f> -800001a4: 02e12023 sw a4,32(sp) -800001a8: 0045a783 lw a5,4(a1) -800001ac: ff010737 lui a4,0xff010 -800001b0: 001003b7 lui t2,0x100 -800001b4: 00ff02b7 lui t0,0xff0 -800001b8: f0070713 addi a4,a4,-256 # ff00ff00 <__stack_top+0xff00> -800001bc: 00012623 sw zero,12(sp) -800001c0: fff38c13 addi s8,t2,-1 # fffff <__stack_size+0xffbff> -800001c4: 00100c93 li s9,1 -800001c8: 0ff28293 addi t0,t0,255 # ff00ff <__stack_size+0xfefcff> -800001cc: 02e12623 sw a4,44(sp) -800001d0: 22078a63 beqz a5,80000404 -800001d4: 10d5f7d3 fmul.s fa5,fa1,fa3 -800001d8: 0078c303 lbu t1,7(a7) -800001dc: c0079ed3 fcvt.w.s t4,fa5,rtz -800001e0: fffec913 not s2,t4 -800001e4: 41f95913 srai s2,s2,0x1f -800001e8: 018ef7b3 and a5,t4,s8 -800001ec: 012ef933 and s2,t4,s2 -800001f0: 00f12a23 sw a5,20(sp) -800001f4: 00794463 blt s2,t2,800001fc -800001f8: fff38913 addi s2,t2,-1 -800001fc: 20a507d3 fmv.s fa5,fa0 -80000200: 000b8513 mv a0,s7 -80000204: 00000613 li a2,0 -80000208: 01400993 li s3,20 -8000020c: 00400493 li s1,4 -80000210: 00500a93 li s5,5 -80000214: 00300a13 li s4,3 -80000218: 00080b37 lui s6,0x80 -8000021c: 0200006f j 8000023c -80000220: 31de576b 0x31de576b -80000224: 00e52023 sw a4,0(a0) -80000228: 0045a783 lw a5,4(a1) -8000022c: 00160613 addi a2,a2,1 -80000230: 00c7f7d3 fadd.s fa5,fa5,fa2 -80000234: 00450513 addi a0,a0,4 -80000238: 1af67663 bgeu a2,a5,800003e4 -8000023c: 10d7f753 fmul.s fa4,fa5,fa3 -80000240: c0071e53 fcvt.w.s t3,fa4,rtz -80000244: fc030ee3 beqz t1,80000220 -80000248: 0058c783 lbu a5,5(a7) -8000024c: 0088cf03 lbu t5,8(a7) -80000250: 0098c683 lbu a3,9(a7) -80000254: 0048c803 lbu a6,4(a7) -80000258: 0068c403 lbu s0,6(a7) -8000025c: 00c8af83 lw t6,12(a7) -80000260: 32078e63 beqz a5,8000059c -80000264: 41eb5733 sra a4,s6,t5 -80000268: 40db5db3 sra s11,s6,a3 -8000026c: 40ee07b3 sub a5,t3,a4 -80000270: 00ee0733 add a4,t3,a4 -80000274: 41be8e33 sub t3,t4,s11 -80000278: 01be8db3 add s11,t4,s11 -8000027c: 3b940c63 beq s0,s9,80000634 -80000280: fff7c413 not s0,a5 -80000284: 41f45413 srai s0,s0,0x1f -80000288: 0087f7b3 and a5,a5,s0 -8000028c: 0077c463 blt a5,t2,80000294 -80000290: fff38793 addi a5,t2,-1 -80000294: fffe4413 not s0,t3 -80000298: 41f45413 srai s0,s0,0x1f -8000029c: 008e7e33 and t3,t3,s0 -800002a0: 007e4463 blt t3,t2,800002a8 -800002a4: fff38e13 addi t3,t2,-1 -800002a8: fff74413 not s0,a4 -800002ac: 41f45413 srai s0,s0,0x1f -800002b0: 00877733 and a4,a4,s0 -800002b4: 00774463 blt a4,t2,800002bc -800002b8: fff38713 addi a4,t2,-1 -800002bc: fffdc413 not s0,s11 -800002c0: 41f45413 srai s0,s0,0x1f -800002c4: 008dfdb3 and s11,s11,s0 -800002c8: 007dc463 blt s11,t2,800002d0 -800002cc: fff38d93 addi s11,t2,-1 -800002d0: 40d986b3 sub a3,s3,a3 -800002d4: 41e98433 sub s0,s3,t5 -800002d8: 40de5e33 sra t3,t3,a3 -800002dc: 40ddd6b3 sra a3,s11,a3 -800002e0: 4087d7b3 sra a5,a5,s0 -800002e4: 01ee1db3 sll s11,t3,t5 -800002e8: 40875733 sra a4,a4,s0 -800002ec: 01e69f33 sll t5,a3,t5 -800002f0: 01e78433 add s0,a5,t5 -800002f4: 01b786b3 add a3,a5,s11 -800002f8: 01b70db3 add s11,a4,s11 -800002fc: 01e70733 add a4,a4,t5 -80000300: 00269693 slli a3,a3,0x2 -80000304: 002d9d93 slli s11,s11,0x2 -80000308: 00241413 slli s0,s0,0x2 -8000030c: 00271713 slli a4,a4,0x2 -80000310: 00df86b3 add a3,t6,a3 -80000314: 01bf8db3 add s11,t6,s11 -80000318: 00ef8733 add a4,t6,a4 -8000031c: 008f8433 add s0,t6,s0 -80000320: 0006a683 lw a3,0(a3) -80000324: 000daf03 lw t5,0(s11) -80000328: 00042f83 lw t6,0(s0) -8000032c: 00072703 lw a4,0(a4) -80000330: 0ff7f793 andi a5,a5,255 -80000334: 0ffe7e13 andi t3,t3,255 -80000338: 30980863 beq a6,s1,80000648 -8000033c: 1d04ec63 bltu s1,a6,80000514 -80000340: 0f481e63 bne a6,s4,8000043c -80000344: 008f9d13 slli s10,t6,0x8 -80000348: 00869413 slli s0,a3,0x8 -8000034c: 01fd6fb3 or t6,s10,t6 -80000350: 008f1d93 slli s11,t5,0x8 -80000354: 00871d13 slli s10,a4,0x8 -80000358: 00d466b3 or a3,s0,a3 -8000035c: 01edef33 or t5,s11,t5 -80000360: 00ed6733 or a4,s10,a4 -80000364: 0056f6b3 and a3,a3,t0 -80000368: 005fffb3 and t6,t6,t0 -8000036c: 005f7f33 and t5,t5,t0 -80000370: 00577733 and a4,a4,t0 -80000374: 40df0f33 sub t5,t5,a3 -80000378: 41f70733 sub a4,a4,t6 -8000037c: 02ff0433 mul s0,t5,a5 -80000380: 00000f13 li t5,0 -80000384: 02f707b3 mul a5,a4,a5 -80000388: 40845713 srai a4,s0,0x8 -8000038c: 00d70733 add a4,a4,a3 -80000390: 00577733 and a4,a4,t0 -80000394: 4087d793 srai a5,a5,0x8 -80000398: 01f787b3 add a5,a5,t6 -8000039c: 0057f7b3 and a5,a5,t0 -800003a0: 40e787b3 sub a5,a5,a4 -800003a4: 03c78e33 mul t3,a5,t3 -800003a8: 408e5e13 srai t3,t3,0x8 -800003ac: 00ee0733 add a4,t3,a4 -800003b0: 00577733 and a4,a4,t0 -800003b4: 1504ec63 bltu s1,a6,8000050c -800003b8: 25481c63 bne a6,s4,80000610 -800003bc: 40875793 srai a5,a4,0x8 -800003c0: 00e7e733 or a4,a5,a4 -800003c4: 01012783 lw a5,16(sp) -800003c8: 00160613 addi a2,a2,1 -800003cc: 00c7f7d3 fadd.s fa5,fa5,fa2 -800003d0: 00f77733 and a4,a4,a5 -800003d4: 00e52023 sw a4,0(a0) -800003d8: 0045a783 lw a5,4(a1) -800003dc: 00450513 addi a0,a0,4 -800003e0: e4f66ee3 bltu a2,a5,8000023c -800003e4: 00c12603 lw a2,12(sp) -800003e8: 01c8a683 lw a3,28(a7) -800003ec: 0085a703 lw a4,8(a1) -800003f0: 00160613 addi a2,a2,1 -800003f4: 00c12623 sw a2,12(sp) -800003f8: 0005f5d3 fadd.s fa1,fa1,ft0 -800003fc: 00db8bb3 add s7,s7,a3 -80000400: dce668e3 bltu a2,a4,800001d0 -80000404: 05c12403 lw s0,92(sp) -80000408: 05812483 lw s1,88(sp) -8000040c: 05412903 lw s2,84(sp) -80000410: 05012983 lw s3,80(sp) -80000414: 04c12a03 lw s4,76(sp) -80000418: 04812a83 lw s5,72(sp) -8000041c: 04412b03 lw s6,68(sp) -80000420: 04012b83 lw s7,64(sp) -80000424: 03c12c03 lw s8,60(sp) -80000428: 03812c83 lw s9,56(sp) -8000042c: 03412d03 lw s10,52(sp) -80000430: 03012d83 lw s11,48(sp) -80000434: 06010113 addi sp,sp,96 -80000438: 00008067 ret -8000043c: 28081863 bnez a6,800006cc -80000440: 0056f433 and s0,a3,t0 -80000444: 00040d93 mv s11,s0 -80000448: 005ff433 and s0,t6,t0 -8000044c: 00812c23 sw s0,24(sp) -80000450: 005f7d33 and s10,t5,t0 -80000454: 03b12223 sw s11,36(sp) -80000458: 41bd0d33 sub s10,s10,s11 -8000045c: 01812d83 lw s11,24(sp) -80000460: 40875413 srai s0,a4,0x8 -80000464: 00577733 and a4,a4,t0 -80000468: 41b70733 sub a4,a4,s11 -8000046c: 02fd0d33 mul s10,s10,a5 -80000470: 408fdf93 srai t6,t6,0x8 -80000474: 005fffb3 and t6,t6,t0 -80000478: 00547433 and s0,s0,t0 -8000047c: 41f40433 sub s0,s0,t6 -80000480: 02812423 sw s0,40(sp) -80000484: 02412403 lw s0,36(sp) -80000488: 4086d693 srai a3,a3,0x8 -8000048c: 408f5f13 srai t5,t5,0x8 -80000490: 0056f6b3 and a3,a3,t0 -80000494: 02f70733 mul a4,a4,a5 -80000498: 005f7f33 and t5,t5,t0 -8000049c: 40df0f33 sub t5,t5,a3 -800004a0: 00070d93 mv s11,a4 -800004a4: 408d5713 srai a4,s10,0x8 -800004a8: 01812d03 lw s10,24(sp) -800004ac: 00870733 add a4,a4,s0 -800004b0: 00577433 and s0,a4,t0 -800004b4: 408dd713 srai a4,s11,0x8 -800004b8: 01a70733 add a4,a4,s10 -800004bc: 00577733 and a4,a4,t0 -800004c0: 40870db3 sub s11,a4,s0 -800004c4: 02812703 lw a4,40(sp) -800004c8: 02ff0f33 mul t5,t5,a5 -800004cc: 02f70733 mul a4,a4,a5 -800004d0: 408f5793 srai a5,t5,0x8 -800004d4: 00d786b3 add a3,a5,a3 -800004d8: 0056f6b3 and a3,a3,t0 -800004dc: 40875793 srai a5,a4,0x8 -800004e0: 01f787b3 add a5,a5,t6 -800004e4: 0057f7b3 and a5,a5,t0 -800004e8: 03cd8733 mul a4,s11,t3 -800004ec: 40d787b3 sub a5,a5,a3 -800004f0: 03c787b3 mul a5,a5,t3 -800004f4: 40875713 srai a4,a4,0x8 -800004f8: 00870733 add a4,a4,s0 -800004fc: 00577733 and a4,a4,t0 -80000500: 4087d793 srai a5,a5,0x8 -80000504: 00d78f33 add t5,a5,a3 -80000508: eb04f8e3 bgeu s1,a6,800003b8 -8000050c: 07580e63 beq a6,s5,80000588 -80000510: 1040006f j 80000614 -80000514: f35816e3 bne a6,s5,80000440 -80000518: 00c69813 slli a6,a3,0xc -8000051c: 00d866b3 or a3,a6,a3 -80000520: 02012803 lw a6,32(sp) -80000524: 00cf1413 slli s0,t5,0xc -80000528: 00cf9d93 slli s11,t6,0xc -8000052c: 00c71d13 slli s10,a4,0xc -80000530: 01e46f33 or t5,s0,t5 -80000534: 01fdefb3 or t6,s11,t6 -80000538: 00ed6733 or a4,s10,a4 -8000053c: 0106f6b3 and a3,a3,a6 -80000540: 010fffb3 and t6,t6,a6 -80000544: 010f7f33 and t5,t5,a6 -80000548: 01077733 and a4,a4,a6 -8000054c: 40df0f33 sub t5,t5,a3 -80000550: 41f70733 sub a4,a4,t6 -80000554: 02ff0f33 mul t5,t5,a5 -80000558: 02f70733 mul a4,a4,a5 -8000055c: 408f5f13 srai t5,t5,0x8 -80000560: 00df06b3 add a3,t5,a3 -80000564: 0056f6b3 and a3,a3,t0 -80000568: 40875713 srai a4,a4,0x8 -8000056c: 01f70733 add a4,a4,t6 -80000570: 005777b3 and a5,a4,t0 -80000574: 40d787b3 sub a5,a5,a3 -80000578: 03c78e33 mul t3,a5,t3 -8000057c: 408e5e13 srai t3,t3,0x8 -80000580: 00de0733 add a4,t3,a3 -80000584: 00577733 and a4,a4,t0 -80000588: 40c75793 srai a5,a4,0xc -8000058c: 00e7e733 or a4,a5,a4 -80000590: 01012783 lw a5,16(sp) -80000594: 00f77733 and a4,a4,a5 -80000598: c8dff06f j 80000224 -8000059c: 09940663 beq s0,s9,80000628 -800005a0: fffe4713 not a4,t3 -800005a4: 41f75713 srai a4,a4,0x1f -800005a8: 00ee7733 and a4,t3,a4 -800005ac: 00774463 blt a4,t2,800005b4 -800005b0: fff38713 addi a4,t2,-1 -800005b4: 00090793 mv a5,s2 -800005b8: 40d986b3 sub a3,s3,a3 -800005bc: 40d7d6b3 sra a3,a5,a3 -800005c0: 41e98e33 sub t3,s3,t5 -800005c4: 41c75e33 sra t3,a4,t3 -800005c8: 01e696b3 sll a3,a3,t5 -800005cc: 01c68e33 add t3,a3,t3 -800005d0: 002e1e13 slli t3,t3,0x2 -800005d4: 01cf8e33 add t3,t6,t3 -800005d8: 000e2703 lw a4,0(t3) -800005dc: 12980863 beq a6,s1,8000070c -800005e0: 0104ec63 bltu s1,a6,800005f8 -800005e4: c54810e3 bne a6,s4,80000224 -800005e8: 00871793 slli a5,a4,0x8 -800005ec: 00e7e733 or a4,a5,a4 -800005f0: 00577733 and a4,a4,t0 -800005f4: dc9ff06f j 800003bc -800005f8: c35816e3 bne a6,s5,80000224 -800005fc: 00c71793 slli a5,a4,0xc -80000600: 00e7e733 or a4,a5,a4 -80000604: 02012783 lw a5,32(sp) -80000608: 00f77733 and a4,a4,a5 -8000060c: f7dff06f j 80000588 -80000610: c0081ae3 bnez a6,80000224 -80000614: 02c12783 lw a5,44(sp) -80000618: 008f1693 slli a3,t5,0x8 -8000061c: 00f6f6b3 and a3,a3,a5 -80000620: 00d76733 or a4,a4,a3 -80000624: c01ff06f j 80000224 -80000628: 01412783 lw a5,20(sp) -8000062c: 018e7733 and a4,t3,s8 -80000630: f89ff06f j 800005b8 -80000634: 0187f7b3 and a5,a5,s8 -80000638: 018e7e33 and t3,t3,s8 -8000063c: 01877733 and a4,a4,s8 -80000640: 018dfdb3 and s11,s11,s8 -80000644: c8dff06f j 800002d0 -80000648: 01069813 slli a6,a3,0x10 -8000064c: 00d866b3 or a3,a6,a3 -80000650: 01c12803 lw a6,28(sp) -80000654: 010f1413 slli s0,t5,0x10 -80000658: 010f9d93 slli s11,t6,0x10 -8000065c: 01071d13 slli s10,a4,0x10 -80000660: 01e46f33 or t5,s0,t5 -80000664: 01fdefb3 or t6,s11,t6 -80000668: 00ed6733 or a4,s10,a4 -8000066c: 0106f6b3 and a3,a3,a6 -80000670: 010fffb3 and t6,t6,a6 -80000674: 010f7f33 and t5,t5,a6 -80000678: 01077733 and a4,a4,a6 -8000067c: 40df0f33 sub t5,t5,a3 -80000680: 41f70733 sub a4,a4,t6 -80000684: 02ff0f33 mul t5,t5,a5 -80000688: 02f70733 mul a4,a4,a5 -8000068c: 408f5f13 srai t5,t5,0x8 -80000690: 00df06b3 add a3,t5,a3 -80000694: 0056f6b3 and a3,a3,t0 -80000698: 40875713 srai a4,a4,0x8 -8000069c: 01f70733 add a4,a4,t6 -800006a0: 005777b3 and a5,a4,t0 -800006a4: 40d787b3 sub a5,a5,a3 -800006a8: 03c78e33 mul t3,a5,t3 -800006ac: 408e5e13 srai t3,t3,0x8 -800006b0: 00de0733 add a4,t3,a3 -800006b4: 00577733 and a4,a4,t0 -800006b8: 41075793 srai a5,a4,0x10 -800006bc: 00e7e733 or a4,a5,a4 -800006c0: 01012783 lw a5,16(sp) -800006c4: 00f77733 and a4,a4,a5 -800006c8: b5dff06f j 80000224 -800006cc: 41f70733 sub a4,a4,t6 -800006d0: 40df0f33 sub t5,t5,a3 -800006d4: 02ff0f33 mul t5,t5,a5 -800006d8: 02f707b3 mul a5,a4,a5 -800006dc: 408f5f13 srai t5,t5,0x8 -800006e0: 00df0f33 add t5,t5,a3 -800006e4: 005f7f33 and t5,t5,t0 -800006e8: 4087d793 srai a5,a5,0x8 -800006ec: 01f787b3 add a5,a5,t6 -800006f0: 0057f7b3 and a5,a5,t0 -800006f4: 41e787b3 sub a5,a5,t5 +80000114 : +80000114: 00554783 lbu a5,5(a0) # 80001005 <__stack_top+0x81001005> +80000118: 00c54303 lbu t1,12(a0) +8000011c: 00d54803 lbu a6,13(a0) +80000120: 00454683 lbu a3,4(a0) +80000124: 00654e83 lbu t4,6(a0) +80000128: 01052883 lw a7,16(a0) +8000012c: 2e078063 beqz a5,8000040c +80000130: 00080e37 lui t3,0x80 +80000134: 406e5733 sra a4,t3,t1 +80000138: 00100f13 li t5,1 +8000013c: 410e5e33 sra t3,t3,a6 +80000140: 40e587b3 sub a5,a1,a4 +80000144: 41c60533 sub a0,a2,t3 +80000148: 00b70733 add a4,a4,a1 +8000014c: 01c60633 add a2,a2,t3 +80000150: 3bee8e63 beq t4,t5,8000050c +80000154: fff7c593 not a1,a5 +80000158: 41f5d593 srai a1,a1,0x1f +8000015c: 00b7f7b3 and a5,a5,a1 +80000160: 001005b7 lui a1,0x100 +80000164: 42b7d463 bge a5,a1,8000058c +80000168: fff54593 not a1,a0 +8000016c: 41f5d593 srai a1,a1,0x1f +80000170: 00b57533 and a0,a0,a1 +80000174: 001005b7 lui a1,0x100 +80000178: 3cb55a63 bge a0,a1,8000054c +8000017c: fff74593 not a1,a4 +80000180: 41f5d593 srai a1,a1,0x1f +80000184: 00b77733 and a4,a4,a1 +80000188: 001005b7 lui a1,0x100 +8000018c: 3ab75263 bge a4,a1,80000530 +80000190: fff64593 not a1,a2 +80000194: 41f5d593 srai a1,a1,0x1f +80000198: 00b67633 and a2,a2,a1 +8000019c: 001005b7 lui a1,0x100 +800001a0: 38b65463 bge a2,a1,80000528 +800001a4: 01400593 li a1,20 +800001a8: 41058833 sub a6,a1,a6 +800001ac: 41055533 sra a0,a0,a6 +800001b0: 406585b3 sub a1,a1,t1 +800001b4: 41065633 sra a2,a2,a6 +800001b8: 00661633 sll a2,a2,t1 +800001bc: 40b7d833 sra a6,a5,a1 +800001c0: 40b75733 sra a4,a4,a1 +800001c4: 006515b3 sll a1,a0,t1 +800001c8: 00b80333 add t1,a6,a1 +800001cc: 00c807b3 add a5,a6,a2 +800001d0: 00b705b3 add a1,a4,a1 +800001d4: 00c70733 add a4,a4,a2 +800001d8: 00259593 slli a1,a1,0x2 +800001dc: 00231613 slli a2,t1,0x2 +800001e0: 00279793 slli a5,a5,0x2 +800001e4: 00271713 slli a4,a4,0x2 +800001e8: 00c88633 add a2,a7,a2 +800001ec: 00b885b3 add a1,a7,a1 +800001f0: 00f887b3 add a5,a7,a5 +800001f4: 00e88733 add a4,a7,a4 +800001f8: 00400893 li a7,4 +800001fc: 00062f03 lw t5,0(a2) +80000200: 0007ae83 lw t4,0(a5) +80000204: 0005a603 lw a2,0(a1) # 100000 <__stack_size+0xffc00> +80000208: 00072783 lw a5,0(a4) +8000020c: 0ff87813 andi a6,a6,255 +80000210: 0ff57593 andi a1,a0,255 +80000214: 3f168c63 beq a3,a7,8000060c +80000218: 14d8ee63 bltu a7,a3,80000374 +8000021c: 00300713 li a4,3 +80000220: 0ae69063 bne a3,a4,800002c0 +80000224: 008f1713 slli a4,t5,0x8 +80000228: 008e9513 slli a0,t4,0x8 +8000022c: 00861313 slli t1,a2,0x8 +80000230: 00879893 slli a7,a5,0x8 +80000234: 00ff0e37 lui t3,0xff0 +80000238: 0ffe0e13 addi t3,t3,255 # ff00ff <__stack_size+0xfefcff> +8000023c: 01e76f33 or t5,a4,t5 +80000240: 01d56533 or a0,a0,t4 +80000244: 00f8e7b3 or a5,a7,a5 +80000248: 00c36633 or a2,t1,a2 +8000024c: 01c57eb3 and t4,a0,t3 +80000250: 01cf7f33 and t5,t5,t3 +80000254: 01c7f533 and a0,a5,t3 +80000258: 01c67633 and a2,a2,t3 +8000025c: 41d50533 sub a0,a0,t4 +80000260: 41e607b3 sub a5,a2,t5 +80000264: 030787b3 mul a5,a5,a6 +80000268: 00000713 li a4,0 +8000026c: 03050833 mul a6,a0,a6 +80000270: 4087d793 srai a5,a5,0x8 +80000274: 01e787b3 add a5,a5,t5 +80000278: 01c7f7b3 and a5,a5,t3 +8000027c: 40885513 srai a0,a6,0x8 +80000280: 01d50533 add a0,a0,t4 +80000284: 01c57533 and a0,a0,t3 +80000288: 40f50533 sub a0,a0,a5 +8000028c: 02b50533 mul a0,a0,a1 +80000290: 40855513 srai a0,a0,0x8 +80000294: 00f50533 add a0,a0,a5 +80000298: 01c57533 and a0,a0,t3 +8000029c: 00400793 li a5,4 +800002a0: 24d7e663 bltu a5,a3,800004ec +800002a4: 00300793 li a5,3 +800002a8: 22f69463 bne a3,a5,800004d0 +800002ac: 40855793 srai a5,a0,0x8 +800002b0: 00a7e533 or a0,a5,a0 +800002b4: 01051513 slli a0,a0,0x10 +800002b8: 01055513 srli a0,a0,0x10 +800002bc: 00008067 ret +800002c0: 30069263 bnez a3,800005c4 +800002c4: 00ff0537 lui a0,0xff0 +800002c8: 0ff50313 addi t1,a0,255 # ff00ff <__stack_size+0xfefcff> +800002cc: 006f72b3 and t0,t5,t1 +800002d0: 00667e33 and t3,a2,t1 +800002d4: 4087d893 srai a7,a5,0x8 +800002d8: 405e0e33 sub t3,t3,t0 +800002dc: 006effb3 and t6,t4,t1 +800002e0: 0067f733 and a4,a5,t1 +800002e4: 408f5f13 srai t5,t5,0x8 +800002e8: 0068f7b3 and a5,a7,t1 +800002ec: 40865613 srai a2,a2,0x8 +800002f0: 030e08b3 mul a7,t3,a6 +800002f4: 408ede93 srai t4,t4,0x8 +800002f8: 006f7f33 and t5,t5,t1 +800002fc: 006efeb3 and t4,t4,t1 +80000300: 00667633 and a2,a2,t1 +80000304: 41f70733 sub a4,a4,t6 +80000308: 41d787b3 sub a5,a5,t4 +8000030c: 41e60633 sub a2,a2,t5 +80000310: 03070733 mul a4,a4,a6 +80000314: 4088d893 srai a7,a7,0x8 +80000318: 00588533 add a0,a7,t0 +8000031c: 006578b3 and a7,a0,t1 +80000320: 03060633 mul a2,a2,a6 +80000324: 40875513 srai a0,a4,0x8 +80000328: 01f50533 add a0,a0,t6 +8000032c: 00657533 and a0,a0,t1 +80000330: 41150533 sub a0,a0,a7 +80000334: 03078833 mul a6,a5,a6 +80000338: 40865793 srai a5,a2,0x8 +8000033c: 01e787b3 add a5,a5,t5 +80000340: 0067f7b3 and a5,a5,t1 +80000344: 40885713 srai a4,a6,0x8 +80000348: 01d70733 add a4,a4,t4 +8000034c: 00677733 and a4,a4,t1 +80000350: 02b50533 mul a0,a0,a1 +80000354: 40f70733 sub a4,a4,a5 +80000358: 02b70733 mul a4,a4,a1 +8000035c: 40855513 srai a0,a0,0x8 +80000360: 01150533 add a0,a0,a7 +80000364: 00657533 and a0,a0,t1 +80000368: 40875713 srai a4,a4,0x8 +8000036c: 00f70733 add a4,a4,a5 +80000370: f2dff06f j 8000029c +80000374: 00500713 li a4,5 +80000378: f4e696e3 bne a3,a4,800002c4 +8000037c: 00cf1693 slli a3,t5,0xc +80000380: 00c61313 slli t1,a2,0xc +80000384: 00ce9513 slli a0,t4,0xc +80000388: 00c79893 slli a7,a5,0xc +8000038c: 0f0f1737 lui a4,0xf0f1 +80000390: f0f70713 addi a4,a4,-241 # f0f0f0f <__stack_size+0xf0f0b0f> +80000394: 00f8e7b3 or a5,a7,a5 +80000398: 01e6ef33 or t5,a3,t5 +8000039c: 00c36633 or a2,t1,a2 +800003a0: 01d56eb3 or t4,a0,t4 +800003a4: 00ef7f33 and t5,t5,a4 +800003a8: 00eefeb3 and t4,t4,a4 +800003ac: 00e67633 and a2,a2,a4 +800003b0: 00e7f733 and a4,a5,a4 +800003b4: 41d70733 sub a4,a4,t4 +800003b8: 41e607b3 sub a5,a2,t5 +800003bc: 030787b3 mul a5,a5,a6 +800003c0: 00ff0537 lui a0,0xff0 +800003c4: 0ff50513 addi a0,a0,255 # ff00ff <__stack_size+0xfefcff> +800003c8: 03070833 mul a6,a4,a6 +800003cc: 4087d793 srai a5,a5,0x8 +800003d0: 01e787b3 add a5,a5,t5 +800003d4: 00a7f7b3 and a5,a5,a0 +800003d8: 40885713 srai a4,a6,0x8 +800003dc: 01d70733 add a4,a4,t4 +800003e0: 00a77733 and a4,a4,a0 +800003e4: 40f70733 sub a4,a4,a5 +800003e8: 02b70733 mul a4,a4,a1 +800003ec: 40875713 srai a4,a4,0x8 +800003f0: 00f70733 add a4,a4,a5 +800003f4: 00a77533 and a0,a4,a0 +800003f8: 40c55793 srai a5,a0,0xc +800003fc: 00a7e533 or a0,a5,a0 +80000400: 01051513 slli a0,a0,0x10 +80000404: 01055513 srli a0,a0,0x10 +80000408: 00008067 ret +8000040c: 00100793 li a5,1 +80000410: 18fe8c63 beq t4,a5,800005a8 +80000414: fff5c713 not a4,a1 +80000418: 41f75713 srai a4,a4,0x1f +8000041c: 00e5f733 and a4,a1,a4 +80000420: 001007b7 lui a5,0x100 +80000424: 14f75663 bge a4,a5,80000570 +80000428: fff64793 not a5,a2 +8000042c: 41f7d793 srai a5,a5,0x1f +80000430: 00f67633 and a2,a2,a5 +80000434: 001007b7 lui a5,0x100 +80000438: 12f65863 bge a2,a5,80000568 +8000043c: 01400593 li a1,20 +80000440: 41058833 sub a6,a1,a6 +80000444: 41065633 sra a2,a2,a6 +80000448: 406585b3 sub a1,a1,t1 +8000044c: 40b75733 sra a4,a4,a1 +80000450: 00661633 sll a2,a2,t1 +80000454: 00e60633 add a2,a2,a4 +80000458: 00261613 slli a2,a2,0x2 +8000045c: 00c88733 add a4,a7,a2 +80000460: 00400793 li a5,4 +80000464: 00072503 lw a0,0(a4) +80000468: 22f68a63 beq a3,a5,8000069c +8000046c: 02d7ea63 bltu a5,a3,800004a0 +80000470: 00300793 li a5,3 +80000474: 08f69a63 bne a3,a5,80000508 +80000478: 00851793 slli a5,a0,0x8 +8000047c: 00a7e533 or a0,a5,a0 +80000480: 00ff07b7 lui a5,0xff0 +80000484: 0ff78793 addi a5,a5,255 # ff00ff <__stack_size+0xfefcff> +80000488: 00f577b3 and a5,a0,a5 +8000048c: 4087d513 srai a0,a5,0x8 +80000490: 00f56533 or a0,a0,a5 +80000494: 01051513 slli a0,a0,0x10 +80000498: 01055513 srli a0,a0,0x10 +8000049c: 00008067 ret +800004a0: 00500793 li a5,5 +800004a4: 10f69c63 bne a3,a5,800005bc +800004a8: 00c51793 slli a5,a0,0xc +800004ac: 00a7e533 or a0,a5,a0 +800004b0: 0f0f17b7 lui a5,0xf0f1 +800004b4: f0f78793 addi a5,a5,-241 # f0f0f0f <__stack_size+0xf0f0b0f> +800004b8: 00f577b3 and a5,a0,a5 +800004bc: 40c7d513 srai a0,a5,0xc +800004c0: 00f56533 or a0,a0,a5 +800004c4: 01051513 slli a0,a0,0x10 +800004c8: 01055513 srli a0,a0,0x10 +800004cc: 00008067 ret +800004d0: 0e069863 bnez a3,800005c0 +800004d4: ff0107b7 lui a5,0xff010 +800004d8: f0078793 addi a5,a5,-256 # ff00ff00 <__stack_top+0xff00> +800004dc: 00871713 slli a4,a4,0x8 +800004e0: 00f77733 and a4,a4,a5 +800004e4: 00e56533 or a0,a0,a4 +800004e8: 00008067 ret +800004ec: 00500793 li a5,5 +800004f0: fef692e3 bne a3,a5,800004d4 +800004f4: 40c55793 srai a5,a0,0xc +800004f8: 00a7e533 or a0,a5,a0 +800004fc: 01051513 slli a0,a0,0x10 +80000500: 01055513 srli a0,a0,0x10 +80000504: 00008067 ret +80000508: 00008067 ret +8000050c: 001005b7 lui a1,0x100 +80000510: fff58593 addi a1,a1,-1 # fffff <__stack_size+0xffbff> +80000514: 00b7f7b3 and a5,a5,a1 +80000518: 00b57533 and a0,a0,a1 +8000051c: 00b77733 and a4,a4,a1 +80000520: 00b67633 and a2,a2,a1 +80000524: c81ff06f j 800001a4 +80000528: fff58613 addi a2,a1,-1 +8000052c: c79ff06f j 800001a4 +80000530: fff58713 addi a4,a1,-1 +80000534: fff64593 not a1,a2 +80000538: 41f5d593 srai a1,a1,0x1f +8000053c: 00b67633 and a2,a2,a1 +80000540: 001005b7 lui a1,0x100 +80000544: c6b640e3 blt a2,a1,800001a4 +80000548: fe1ff06f j 80000528 +8000054c: fff58513 addi a0,a1,-1 # fffff <__stack_size+0xffbff> +80000550: fff74593 not a1,a4 +80000554: 41f5d593 srai a1,a1,0x1f +80000558: 00b77733 and a4,a4,a1 +8000055c: 001005b7 lui a1,0x100 +80000560: c2b748e3 blt a4,a1,80000190 +80000564: fcdff06f j 80000530 +80000568: fff78613 addi a2,a5,-1 +8000056c: ed1ff06f j 8000043c +80000570: fff78713 addi a4,a5,-1 +80000574: fff64793 not a5,a2 +80000578: 41f7d793 srai a5,a5,0x1f +8000057c: 00f67633 and a2,a2,a5 +80000580: 001007b7 lui a5,0x100 +80000584: eaf64ce3 blt a2,a5,8000043c +80000588: fe1ff06f j 80000568 +8000058c: fff58793 addi a5,a1,-1 # fffff <__stack_size+0xffbff> +80000590: fff54593 not a1,a0 +80000594: 41f5d593 srai a1,a1,0x1f +80000598: 00b57533 and a0,a0,a1 +8000059c: 001005b7 lui a1,0x100 +800005a0: bcb54ee3 blt a0,a1,8000017c +800005a4: fa9ff06f j 8000054c +800005a8: 001007b7 lui a5,0x100 +800005ac: fff78793 addi a5,a5,-1 # fffff <__stack_size+0xffbff> +800005b0: 00f5f733 and a4,a1,a5 +800005b4: 00f67633 and a2,a2,a5 +800005b8: e85ff06f j 8000043c +800005bc: 00008067 ret +800005c0: 00008067 ret +800005c4: 41e606b3 sub a3,a2,t5 +800005c8: 41d787b3 sub a5,a5,t4 +800005cc: 030686b3 mul a3,a3,a6 +800005d0: 00ff0537 lui a0,0xff0 +800005d4: 0ff50713 addi a4,a0,255 # ff00ff <__stack_size+0xfefcff> +800005d8: 030787b3 mul a5,a5,a6 +800005dc: 4086d693 srai a3,a3,0x8 +800005e0: 01e686b3 add a3,a3,t5 +800005e4: 00e6f6b3 and a3,a3,a4 +800005e8: 4087d513 srai a0,a5,0x8 +800005ec: 01d50533 add a0,a0,t4 +800005f0: 00e57533 and a0,a0,a4 +800005f4: 40d50533 sub a0,a0,a3 +800005f8: 02b50533 mul a0,a0,a1 +800005fc: 40855513 srai a0,a0,0x8 +80000600: 00d50533 add a0,a0,a3 +80000604: 00e57533 and a0,a0,a4 +80000608: 00008067 ret +8000060c: 010f1713 slli a4,t5,0x10 +80000610: 01061893 slli a7,a2,0x10 +80000614: 010e9513 slli a0,t4,0x10 +80000618: 01079693 slli a3,a5,0x10 +8000061c: 07e10337 lui t1,0x7e10 +80000620: 81f30313 addi t1,t1,-2017 # 7e0f81f <__stack_size+0x7e0f41f> +80000624: 00f6e7b3 or a5,a3,a5 +80000628: 01e76f33 or t5,a4,t5 +8000062c: 00c8e633 or a2,a7,a2 +80000630: 01d56533 or a0,a0,t4 +80000634: 00657eb3 and t4,a0,t1 +80000638: 006f7f33 and t5,t5,t1 +8000063c: 0067f533 and a0,a5,t1 +80000640: 00667633 and a2,a2,t1 +80000644: 41d50533 sub a0,a0,t4 +80000648: 41e607b3 sub a5,a2,t5 +8000064c: 030787b3 mul a5,a5,a6 +80000650: 00ff0737 lui a4,0xff0 +80000654: 0ff70713 addi a4,a4,255 # ff00ff <__stack_size+0xfefcff> +80000658: 03050833 mul a6,a0,a6 +8000065c: 4087d793 srai a5,a5,0x8 +80000660: 01e787b3 add a5,a5,t5 +80000664: 00e7f7b3 and a5,a5,a4 +80000668: 40885513 srai a0,a6,0x8 +8000066c: 01d50533 add a0,a0,t4 +80000670: 00e57533 and a0,a0,a4 +80000674: 40f50533 sub a0,a0,a5 +80000678: 02b50533 mul a0,a0,a1 +8000067c: 40855513 srai a0,a0,0x8 +80000680: 00f50533 add a0,a0,a5 +80000684: 00e577b3 and a5,a0,a4 +80000688: 4107d513 srai a0,a5,0x10 +8000068c: 00f56533 or a0,a0,a5 +80000690: 01051513 slli a0,a0,0x10 +80000694: 01055513 srli a0,a0,0x10 +80000698: 00008067 ret +8000069c: 01051793 slli a5,a0,0x10 +800006a0: 00a7e533 or a0,a5,a0 +800006a4: 07e107b7 lui a5,0x7e10 +800006a8: 81f78793 addi a5,a5,-2017 # 7e0f81f <__stack_size+0x7e0f41f> +800006ac: 00f577b3 and a5,a0,a5 +800006b0: 4107d513 srai a0,a5,0x10 +800006b4: 00f56533 or a0,a0,a5 +800006b8: 01051513 slli a0,a0,0x10 +800006bc: 01055513 srli a0,a0,0x10 +800006c0: 00008067 ret + +800006c4 : +800006c4: 0085a703 lw a4,8(a1) # 100008 <__stack_size+0xffc08> +800006c8: f7010113 addi sp,sp,-144 +800006cc: 08812423 sw s0,136(sp) +800006d0: 02e507b3 mul a5,a0,a4 +800006d4: 0005a403 lw s0,0(a1) +800006d8: 05312027 fsw fs3,64(sp) +800006dc: 03512c27 fsw fs5,56(sp) +800006e0: 02042e03 lw t3,32(s0) +800006e4: 02442683 lw a3,36(s0) +800006e8: 0105aa87 flw fs5,16(a1) +800006ec: 08112623 sw ra,140(sp) +800006f0: 08912223 sw s1,132(sp) +800006f4: 09212023 sw s2,128(sp) 800006f8: 03c78e33 mul t3,a5,t3 -800006fc: 408e5e13 srai t3,t3,0x8 -80000700: 01ee0733 add a4,t3,t5 -80000704: 00577733 and a4,a4,t0 -80000708: b1dff06f j 80000224 -8000070c: 01071793 slli a5,a4,0x10 -80000710: 00e7e733 or a4,a5,a4 -80000714: 01c12783 lw a5,28(sp) -80000718: 00f77733 and a4,a4,a5 -8000071c: 41075793 srai a5,a4,0x10 -80000720: 00e7e733 or a4,a5,a4 -80000724: 01012783 lw a5,16(sp) -80000728: 00f77733 and a4,a4,a5 -8000072c: af9ff06f j 80000224 - -80000730 <_exit>: -80000730: 00000513 li a0,0 -80000734: 0005006b 0x5006b - -80000738 : -80000738: fc002573 csrr a0,0xfc0 -8000073c: 0005006b 0x5006b -80000740: 00001197 auipc gp,0x1 -80000744: 0c818193 addi gp,gp,200 # 80001808 <__global_pointer> -80000748: 7f000117 auipc sp,0x7f000 -8000074c: 8b810113 addi sp,sp,-1864 # ff000000 <__stack_top> -80000750: 40000593 li a1,1024 -80000754: cc102673 csrr a2,0xcc1 -80000758: 02c585b3 mul a1,a1,a2 -8000075c: 40b10133 sub sp,sp,a1 -80000760: cc3026f3 csrr a3,0xcc3 -80000764: 00068663 beqz a3,80000770 -80000768: 00000513 li a0,0 -8000076c: 0005006b 0x5006b - -80000770 : -80000770: 00008067 ret - -80000774 : -80000774: fe010113 addi sp,sp,-32 -80000778: 00112e23 sw ra,28(sp) -8000077c: 00812c23 sw s0,24(sp) -80000780: 00912a23 sw s1,20(sp) -80000784: 01212823 sw s2,16(sp) -80000788: 01312623 sw s3,12(sp) -8000078c: fc0027f3 csrr a5,0xfc0 -80000790: 0007806b 0x7806b -80000794: cc5026f3 csrr a3,0xcc5 -80000798: cc3029f3 csrr s3,0xcc3 -8000079c: cc002773 csrr a4,0xcc0 -800007a0: fc002673 csrr a2,0xfc0 -800007a4: 800017b7 lui a5,0x80001 -800007a8: 00269693 slli a3,a3,0x2 -800007ac: 43c78793 addi a5,a5,1084 # 8000143c <__stack_top+0x8100143c> -800007b0: 00d787b3 add a5,a5,a3 -800007b4: 0007a483 lw s1,0(a5) -800007b8: 0104a403 lw s0,16(s1) -800007bc: 00c4a683 lw a3,12(s1) -800007c0: 0089a933 slt s2,s3,s0 -800007c4: 00040793 mv a5,s0 -800007c8: 00d90933 add s2,s2,a3 -800007cc: 03368433 mul s0,a3,s3 -800007d0: 00f9d463 bge s3,a5,800007d8 -800007d4: 00098793 mv a5,s3 -800007d8: 00f40433 add s0,s0,a5 -800007dc: 0084a683 lw a3,8(s1) -800007e0: 02c40433 mul s0,s0,a2 -800007e4: 02e907b3 mul a5,s2,a4 -800007e8: 00d40433 add s0,s0,a3 -800007ec: 00f40433 add s0,s0,a5 -800007f0: 00890933 add s2,s2,s0 -800007f4: 01245e63 bge s0,s2,80000810 -800007f8: 0004a783 lw a5,0(s1) -800007fc: 0044a583 lw a1,4(s1) -80000800: 00040513 mv a0,s0 -80000804: 00140413 addi s0,s0,1 -80000808: 000780e7 jalr a5 -8000080c: fe8916e3 bne s2,s0,800007f8 -80000810: 0019b993 seqz s3,s3 -80000814: 0009806b 0x9806b -80000818: 01c12083 lw ra,28(sp) -8000081c: 01812403 lw s0,24(sp) -80000820: 01412483 lw s1,20(sp) -80000824: 01012903 lw s2,16(sp) -80000828: 00c12983 lw s3,12(sp) -8000082c: 02010113 addi sp,sp,32 -80000830: 00008067 ret - -80000834 : -80000834: fc010113 addi sp,sp,-64 -80000838: 02112e23 sw ra,60(sp) -8000083c: 02812c23 sw s0,56(sp) -80000840: 02912a23 sw s1,52(sp) -80000844: 03212823 sw s2,48(sp) -80000848: 03312623 sw s3,44(sp) -8000084c: fc2026f3 csrr a3,0xfc2 -80000850: fc102873 csrr a6,0xfc1 -80000854: fc002473 csrr s0,0xfc0 -80000858: cc5027f3 csrr a5,0xcc5 -8000085c: 01f00713 li a4,31 -80000860: 0cf74463 blt a4,a5,80000928 -80000864: 030408b3 mul a7,s0,a6 -80000868: 00100713 li a4,1 -8000086c: 00a8d463 bge a7,a0,80000874 -80000870: 03154733 div a4,a0,a7 -80000874: 0ce6c863 blt a3,a4,80000944 -80000878: 0ae7d863 bge a5,a4,80000928 -8000087c: fff68693 addi a3,a3,-1 -80000880: 02e54333 div t1,a0,a4 -80000884: 00030893 mv a7,t1 -80000888: 00f69663 bne a3,a5,80000894 -8000088c: 02e56533 rem a0,a0,a4 -80000890: 006508b3 add a7,a0,t1 -80000894: 0288c4b3 div s1,a7,s0 -80000898: 0288e933 rem s2,a7,s0 -8000089c: 0b04ca63 blt s1,a6,80000950 -800008a0: 00100693 li a3,1 -800008a4: 0304c733 div a4,s1,a6 -800008a8: 00070663 beqz a4,800008b4 -800008ac: 00070693 mv a3,a4 -800008b0: 0304e733 rem a4,s1,a6 -800008b4: 800019b7 lui s3,0x80001 -800008b8: 43c98993 addi s3,s3,1084 # 8000143c <__stack_top+0x8100143c> -800008bc: 00e12e23 sw a4,28(sp) -800008c0: 00c10713 addi a4,sp,12 -800008c4: 00b12623 sw a1,12(sp) -800008c8: 00c12823 sw a2,16(sp) -800008cc: 00d12c23 sw a3,24(sp) -800008d0: 02f30333 mul t1,t1,a5 +800006fc: d017f9d3 fcvt.s.wu fs3,a5 +80000700: 07312e23 sw s3,124(sp) +80000704: 07412c23 sw s4,120(sp) +80000708: 07512a23 sw s5,116(sp) +8000070c: 07612823 sw s6,112(sp) +80000710: 07712623 sw s7,108(sp) +80000714: 07812423 sw s8,104(sp) +80000718: 07912223 sw s9,100(sp) +8000071c: 07a12023 sw s10,96(sp) +80000720: 00de07b3 add a5,t3,a3 +80000724: 05b12e23 sw s11,92(sp) +80000728: 04812627 fsw fs0,76(sp) +8000072c: 04912427 fsw fs1,72(sp) +80000730: 05212227 fsw fs2,68(sp) +80000734: 03412e27 fsw fs4,60(sp) +80000738: 00f12623 sw a5,12(sp) +8000073c: 1159f9d3 fmul.s fs3,fs3,fs5 +80000740: 28070e63 beqz a4,800009dc +80000744: 80002737 lui a4,0x80002 +80000748: 7c072487 flw fs1,1984(a4) # 800027c0 <__stack_top+0x810027c0> +8000074c: fff00737 lui a4,0xfff00 +80000750: 00b70713 addi a4,a4,11 # fff0000b <__stack_top+0xf0000b> +80000754: 00c5a907 flw fs2,12(a1) +80000758: f0000a53 fmv.w.x fs4,zero +8000075c: 00e12c23 sw a4,24(sp) +80000760: 07e10737 lui a4,0x7e10 +80000764: 81f70713 addi a4,a4,-2017 # 7e0f81f <__stack_size+0x7e0f41f> +80000768: 02e12223 sw a4,36(sp) +8000076c: 11497a53 fmul.s fs4,fs2,fs4 +80000770: 00010737 lui a4,0x10 +80000774: fff70713 addi a4,a4,-1 # ffff <__stack_size+0xfbff> +80000778: 00e12a23 sw a4,20(sp) +8000077c: 0045a783 lw a5,4(a1) +80000780: 0f0f1737 lui a4,0xf0f1 +80000784: f0f70713 addi a4,a4,-241 # f0f0f0f <__stack_size+0xf0f0b0f> +80000788: 00ff0bb7 lui s7,0xff0 +8000078c: 00058a13 mv s4,a1 +80000790: 00100ab7 lui s5,0x100 +80000794: 00012823 sw zero,16(sp) +80000798: 00200c13 li s8,2 +8000079c: 02e12423 sw a4,40(sp) +800007a0: 0ffb8b93 addi s7,s7,255 # ff00ff <__stack_size+0xfefcff> +800007a4: 22078c63 beqz a5,800009dc +800007a8: 1099f7d3 fmul.s fa5,fs3,fs1 +800007ac: 001007b7 lui a5,0x100 +800007b0: fff78793 addi a5,a5,-1 # fffff <__stack_size+0xffbff> +800007b4: 00744b03 lbu s6,7(s0) +800007b8: c00799d3 fcvt.w.s s3,fa5,rtz +800007bc: fff9cd13 not s10,s3 +800007c0: 41fd5d13 srai s10,s10,0x1f +800007c4: 00f9f7b3 and a5,s3,a5 +800007c8: 01a9fd33 and s10,s3,s10 +800007cc: 00f12e23 sw a5,28(sp) +800007d0: 015d4463 blt s10,s5,800007d8 +800007d4: fffa8d13 addi s10,s5,-1 # fffff <__stack_size+0xffbff> +800007d8: ff0107b7 lui a5,0xff010 +800007dc: 214a0453 fmv.s fs0,fs4 +800007e0: 00c12903 lw s2,12(sp) +800007e4: f0078793 addi a5,a5,-256 # ff00ff00 <__stack_top+0xff00> +800007e8: 00000493 li s1,0 +800007ec: 00100313 li t1,1 +800007f0: 01400d93 li s11,20 +800007f4: 00400c93 li s9,4 +800007f8: 00500893 li a7,5 +800007fc: 00300813 li a6,3 +80000800: 02f12023 sw a5,32(sp) +80000804: 109477d3 fmul.s fa5,fs0,fs1 +80000808: c00795d3 fcvt.w.s a1,fa5,rtz +8000080c: 220b0263 beqz s6,80000a30 +80000810: 00544683 lbu a3,5(s0) +80000814: 25868a63 beq a3,s8,80000a68 +80000818: 00c44603 lbu a2,12(s0) +8000081c: 00d44783 lbu a5,13(s0) +80000820: 00444703 lbu a4,4(s0) +80000824: 00644f83 lbu t6,6(s0) +80000828: 01042503 lw a0,16(s0) +8000082c: 24068c63 beqz a3,80000a84 +80000830: 000806b7 lui a3,0x80 +80000834: 40c6d3b3 sra t2,a3,a2 +80000838: 40f6d6b3 sra a3,a3,a5 +8000083c: 407582b3 sub t0,a1,t2 +80000840: 007585b3 add a1,a1,t2 +80000844: 40d983b3 sub t2,s3,a3 +80000848: 00d986b3 add a3,s3,a3 +8000084c: 406f8463 beq t6,t1,80000c54 +80000850: fff2cf93 not t6,t0 +80000854: 41ffdf93 srai t6,t6,0x1f +80000858: 01f2f2b3 and t0,t0,t6 +8000085c: 0152c463 blt t0,s5,80000864 +80000860: fffa8293 addi t0,s5,-1 +80000864: fff3cf93 not t6,t2 +80000868: 41ffdf93 srai t6,t6,0x1f +8000086c: 01f3f3b3 and t2,t2,t6 +80000870: 0153c463 blt t2,s5,80000878 +80000874: fffa8393 addi t2,s5,-1 +80000878: fff5cf93 not t6,a1 +8000087c: 41ffdf93 srai t6,t6,0x1f +80000880: 01f5f5b3 and a1,a1,t6 +80000884: 0155c463 blt a1,s5,8000088c +80000888: fffa8593 addi a1,s5,-1 +8000088c: fff6cf93 not t6,a3 +80000890: 41ffdf93 srai t6,t6,0x1f +80000894: 01f6f6b3 and a3,a3,t6 +80000898: 0156c463 blt a3,s5,800008a0 +8000089c: fffa8693 addi a3,s5,-1 +800008a0: 40fd87b3 sub a5,s11,a5 +800008a4: 40cd8fb3 sub t6,s11,a2 +800008a8: 40f6d6b3 sra a3,a3,a5 +800008ac: 40f3d3b3 sra t2,t2,a5 +800008b0: 00c397b3 sll a5,t2,a2 +800008b4: 41f2d2b3 sra t0,t0,t6 +800008b8: 41f5d5b3 sra a1,a1,t6 +800008bc: 00c69633 sll a2,a3,a2 +800008c0: 00f28fb3 add t6,t0,a5 +800008c4: 00c286b3 add a3,t0,a2 +800008c8: 00f587b3 add a5,a1,a5 +800008cc: 00c585b3 add a1,a1,a2 +800008d0: 002f9f93 slli t6,t6,0x2 800008d4: 00279793 slli a5,a5,0x2 -800008d8: 00f987b3 add a5,s3,a5 -800008dc: 00e7a023 sw a4,0(a5) -800008e0: 00612a23 sw t1,20(sp) -800008e4: 06904c63 bgtz s1,8000095c -800008e8: 04090063 beqz s2,80000928 -800008ec: 02848433 mul s0,s1,s0 -800008f0: 00812a23 sw s0,20(sp) -800008f4: 0009006b 0x9006b -800008f8: cc5027f3 csrr a5,0xcc5 -800008fc: cc202573 csrr a0,0xcc2 -80000900: 00279793 slli a5,a5,0x2 -80000904: 00f989b3 add s3,s3,a5 -80000908: 0009a783 lw a5,0(s3) -8000090c: 0087a683 lw a3,8(a5) -80000910: 0007a703 lw a4,0(a5) -80000914: 0047a583 lw a1,4(a5) -80000918: 00d50533 add a0,a0,a3 -8000091c: 000700e7 jalr a4 -80000920: 00100793 li a5,1 -80000924: 0007806b 0x7806b -80000928: 03c12083 lw ra,60(sp) -8000092c: 03812403 lw s0,56(sp) -80000930: 03412483 lw s1,52(sp) -80000934: 03012903 lw s2,48(sp) -80000938: 02c12983 lw s3,44(sp) -8000093c: 04010113 addi sp,sp,64 -80000940: 00008067 ret -80000944: 00068713 mv a4,a3 -80000948: f2e7cae3 blt a5,a4,8000087c -8000094c: fddff06f j 80000928 -80000950: 00000713 li a4,0 -80000954: 00100693 li a3,1 -80000958: f5dff06f j 800008b4 -8000095c: 00048713 mv a4,s1 -80000960: 00985463 bge a6,s1,80000968 -80000964: 00080713 mv a4,a6 -80000968: 800007b7 lui a5,0x80000 -8000096c: 77478793 addi a5,a5,1908 # 80000774 <__stack_top+0x81000774> -80000970: 00f7106b 0xf7106b -80000974: e01ff0ef jal ra,80000774 -80000978: f71ff06f j 800008e8 +800008d8: 00269693 slli a3,a3,0x2 +800008dc: 00259593 slli a1,a1,0x2 +800008e0: 01f50fb3 add t6,a0,t6 +800008e4: 00f507b3 add a5,a0,a5 +800008e8: 00d506b3 add a3,a0,a3 +800008ec: 00b505b3 add a1,a0,a1 +800008f0: 000faf83 lw t6,0(t6) +800008f4: 0007a783 lw a5,0(a5) +800008f8: 0006a683 lw a3,0(a3) # 80000 <__stack_size+0x7fc00> +800008fc: 0005a603 lw a2,0(a1) +80000900: 0ff2f293 andi t0,t0,255 +80000904: 0ff3f393 andi t2,t2,255 +80000908: 3f970063 beq a4,s9,80000ce8 +8000090c: 28ece863 bltu s9,a4,80000b9c +80000910: 1d071863 bne a4,a6,80000ae0 +80000914: 008f9593 slli a1,t6,0x8 +80000918: 00879513 slli a0,a5,0x8 +8000091c: 00869e93 slli t4,a3,0x8 +80000920: 00861e13 slli t3,a2,0x8 +80000924: 01f5e5b3 or a1,a1,t6 +80000928: 00f567b3 or a5,a0,a5 +8000092c: 00dee6b3 or a3,t4,a3 +80000930: 00ce6633 or a2,t3,a2 +80000934: 0175f5b3 and a1,a1,s7 +80000938: 0176f6b3 and a3,a3,s7 +8000093c: 0177f7b3 and a5,a5,s7 +80000940: 01767633 and a2,a2,s7 +80000944: 40b787b3 sub a5,a5,a1 +80000948: 40d60633 sub a2,a2,a3 +8000094c: 025787b3 mul a5,a5,t0 +80000950: 00000f93 li t6,0 +80000954: 025602b3 mul t0,a2,t0 +80000958: 4087d793 srai a5,a5,0x8 +8000095c: 00b785b3 add a1,a5,a1 +80000960: 0175f5b3 and a1,a1,s7 +80000964: 4082d293 srai t0,t0,0x8 +80000968: 00d287b3 add a5,t0,a3 +8000096c: 0177f7b3 and a5,a5,s7 +80000970: 40b787b3 sub a5,a5,a1 +80000974: 027783b3 mul t2,a5,t2 +80000978: 4083d393 srai t2,t2,0x8 +8000097c: 00b385b3 add a1,t2,a1 +80000980: 0175f533 and a0,a1,s7 +80000984: 20ece863 bltu s9,a4,80000b94 +80000988: 2b071a63 bne a4,a6,80000c3c +8000098c: 40855793 srai a5,a0,0x8 +80000990: 00a7e533 or a0,a5,a0 +80000994: 01412783 lw a5,20(sp) +80000998: 00f57533 and a0,a0,a5 +8000099c: 00a92023 sw a0,0(s2) +800009a0: 004a2783 lw a5,4(s4) +800009a4: 00148493 addi s1,s1,1 +800009a8: 01247453 fadd.s fs0,fs0,fs2 +800009ac: 00490913 addi s2,s2,4 +800009b0: e4f4eae3 bltu s1,a5,80000804 +800009b4: 01012603 lw a2,16(sp) +800009b8: 00c12583 lw a1,12(sp) +800009bc: 02042683 lw a3,32(s0) +800009c0: 008a2703 lw a4,8(s4) +800009c4: 00160613 addi a2,a2,1 +800009c8: 00d586b3 add a3,a1,a3 +800009cc: 00c12823 sw a2,16(sp) +800009d0: 00d12623 sw a3,12(sp) +800009d4: 0159f9d3 fadd.s fs3,fs3,fs5 +800009d8: dce666e3 bltu a2,a4,800007a4 +800009dc: 08c12083 lw ra,140(sp) +800009e0: 08812403 lw s0,136(sp) +800009e4: 08412483 lw s1,132(sp) +800009e8: 08012903 lw s2,128(sp) +800009ec: 07c12983 lw s3,124(sp) +800009f0: 07812a03 lw s4,120(sp) +800009f4: 07412a83 lw s5,116(sp) +800009f8: 07012b03 lw s6,112(sp) +800009fc: 06c12b83 lw s7,108(sp) +80000a00: 06812c03 lw s8,104(sp) +80000a04: 06412c83 lw s9,100(sp) +80000a08: 06012d03 lw s10,96(sp) +80000a0c: 05c12d83 lw s11,92(sp) +80000a10: 04c12407 flw fs0,76(sp) +80000a14: 04812487 flw fs1,72(sp) +80000a18: 04412907 flw fs2,68(sp) +80000a1c: 04012987 flw fs3,64(sp) +80000a20: 03c12a07 flw fs4,60(sp) +80000a24: 03812a87 flw fs5,56(sp) +80000a28: 09010113 addi sp,sp,144 +80000a2c: 00008067 ret +80000a30: 00544703 lbu a4,5(s0) +80000a34: 00842783 lw a5,8(s0) +80000a38: 01870863 beq a4,s8,80000a48 +80000a3c: 7935d76b 0x7935d76b +80000a40: 00e92023 sw a4,0(s2) +80000a44: f5dff06f j 800009a0 +80000a48: 7935d76b 0x7935d76b +80000a4c: 01812683 lw a3,24(sp) +80000a50: 00f6d463 bge a3,a5,80000a58 +80000a54: 00068793 mv a5,a3 +80000a58: 015787b3 add a5,a5,s5 +80000a5c: 7935d7eb 0x7935d7eb +80000a60: 00e92023 sw a4,0(s2) +80000a64: f3dff06f j 800009a0 +80000a68: 00098613 mv a2,s3 +80000a6c: 00040513 mv a0,s0 +80000a70: ea4ff0ef jal ra,80000114 +80000a74: 00100313 li t1,1 +80000a78: 00500893 li a7,5 +80000a7c: 00300813 li a6,3 +80000a80: f1dff06f j 8000099c +80000a84: 1e6f8663 beq t6,t1,80000c70 +80000a88: fff5c693 not a3,a1 +80000a8c: 41f6d693 srai a3,a3,0x1f +80000a90: 00d5f5b3 and a1,a1,a3 +80000a94: 0155c463 blt a1,s5,80000a9c +80000a98: fffa8593 addi a1,s5,-1 +80000a9c: 000d0693 mv a3,s10 +80000aa0: 40fd87b3 sub a5,s11,a5 +80000aa4: 40f6d7b3 sra a5,a3,a5 +80000aa8: 40cd86b3 sub a3,s11,a2 +80000aac: 00c797b3 sll a5,a5,a2 +80000ab0: 40d5d5b3 sra a1,a1,a3 +80000ab4: 00b787b3 add a5,a5,a1 +80000ab8: 00279793 slli a5,a5,0x2 +80000abc: 00f507b3 add a5,a0,a5 +80000ac0: 0007a503 lw a0,0(a5) +80000ac4: 21970063 beq a4,s9,80000cc4 +80000ac8: 14ecee63 bltu s9,a4,80000c24 +80000acc: ed0718e3 bne a4,a6,8000099c +80000ad0: 00851793 slli a5,a0,0x8 +80000ad4: 00a7e533 or a0,a5,a0 +80000ad8: 01757533 and a0,a0,s7 +80000adc: eb1ff06f j 8000098c +80000ae0: 1a071263 bnez a4,80000c84 +80000ae4: 017ff5b3 and a1,t6,s7 +80000ae8: 0177fe33 and t3,a5,s7 +80000aec: 40be0e33 sub t3,t3,a1 +80000af0: 025e0e33 mul t3,t3,t0 +80000af4: 408fdf93 srai t6,t6,0x8 +80000af8: 4087d793 srai a5,a5,0x8 +80000afc: 0176f533 and a0,a3,s7 +80000b00: 40865f13 srai t5,a2,0x8 +80000b04: 017fffb3 and t6,t6,s7 +80000b08: 0177f7b3 and a5,a5,s7 +80000b0c: 01767633 and a2,a2,s7 +80000b10: 40a60633 sub a2,a2,a0 +80000b14: 41f78eb3 sub t4,a5,t6 +80000b18: 03c12623 sw t3,44(sp) +80000b1c: 02c12783 lw a5,44(sp) +80000b20: 02560e33 mul t3,a2,t0 +80000b24: 4086d693 srai a3,a3,0x8 +80000b28: 0176f6b3 and a3,a3,s7 +80000b2c: 017f7f33 and t5,t5,s7 +80000b30: 40df0f33 sub t5,t5,a3 +80000b34: 4087d793 srai a5,a5,0x8 +80000b38: 00b787b3 add a5,a5,a1 +80000b3c: 0177f633 and a2,a5,s7 +80000b40: 025e85b3 mul a1,t4,t0 +80000b44: 408e5793 srai a5,t3,0x8 +80000b48: 00a787b3 add a5,a5,a0 +80000b4c: 0177f7b3 and a5,a5,s7 +80000b50: 40c78533 sub a0,a5,a2 +80000b54: 025f02b3 mul t0,t5,t0 +80000b58: 4085d793 srai a5,a1,0x8 +80000b5c: 01f78fb3 add t6,a5,t6 +80000b60: 017fffb3 and t6,t6,s7 +80000b64: 4082d293 srai t0,t0,0x8 +80000b68: 00d286b3 add a3,t0,a3 +80000b6c: 0176f6b3 and a3,a3,s7 +80000b70: 02750533 mul a0,a0,t2 +80000b74: 41f687b3 sub a5,a3,t6 +80000b78: 027783b3 mul t2,a5,t2 +80000b7c: 40855513 srai a0,a0,0x8 +80000b80: 00c50533 add a0,a0,a2 +80000b84: 01757533 and a0,a0,s7 +80000b88: 4083d393 srai t2,t2,0x8 +80000b8c: 01f38fb3 add t6,t2,t6 +80000b90: deecfce3 bgeu s9,a4,80000988 +80000b94: 07170e63 beq a4,a7,80000c10 +80000b98: 0a80006f j 80000c40 +80000b9c: f51714e3 bne a4,a7,80000ae4 +80000ba0: 00c79593 slli a1,a5,0xc +80000ba4: 00f5e7b3 or a5,a1,a5 +80000ba8: 02812583 lw a1,40(sp) +80000bac: 00c69513 slli a0,a3,0xc +80000bb0: 00cf9713 slli a4,t6,0xc +80000bb4: 00c61e13 slli t3,a2,0xc +80000bb8: 00d566b3 or a3,a0,a3 +80000bbc: 01f76733 or a4,a4,t6 +80000bc0: 00ce6633 or a2,t3,a2 +80000bc4: 00b77733 and a4,a4,a1 +80000bc8: 00b6f6b3 and a3,a3,a1 +80000bcc: 00b7f7b3 and a5,a5,a1 +80000bd0: 00b67633 and a2,a2,a1 +80000bd4: 40e787b3 sub a5,a5,a4 +80000bd8: 40d60633 sub a2,a2,a3 +80000bdc: 025787b3 mul a5,a5,t0 +80000be0: 025602b3 mul t0,a2,t0 +80000be4: 4087d793 srai a5,a5,0x8 +80000be8: 00e787b3 add a5,a5,a4 +80000bec: 0177f7b3 and a5,a5,s7 +80000bf0: 4082d293 srai t0,t0,0x8 +80000bf4: 00d28733 add a4,t0,a3 +80000bf8: 01777733 and a4,a4,s7 +80000bfc: 40f70733 sub a4,a4,a5 +80000c00: 027703b3 mul t2,a4,t2 +80000c04: 4083d393 srai t2,t2,0x8 +80000c08: 00f387b3 add a5,t2,a5 +80000c0c: 0177f533 and a0,a5,s7 +80000c10: 40c55793 srai a5,a0,0xc +80000c14: 00a7e533 or a0,a5,a0 +80000c18: 01412783 lw a5,20(sp) +80000c1c: 00f57533 and a0,a0,a5 +80000c20: d7dff06f j 8000099c +80000c24: d7171ce3 bne a4,a7,8000099c +80000c28: 00c51793 slli a5,a0,0xc +80000c2c: 00a7e533 or a0,a5,a0 +80000c30: 02812783 lw a5,40(sp) +80000c34: 00f57533 and a0,a0,a5 +80000c38: fd9ff06f j 80000c10 +80000c3c: d60710e3 bnez a4,8000099c +80000c40: 02012783 lw a5,32(sp) +80000c44: 008f9f93 slli t6,t6,0x8 +80000c48: 00ffffb3 and t6,t6,a5 +80000c4c: 01f56533 or a0,a0,t6 +80000c50: d4dff06f j 8000099c +80000c54: 00100e37 lui t3,0x100 +80000c58: fffe0e93 addi t4,t3,-1 # fffff <__stack_size+0xffbff> +80000c5c: 01d2f2b3 and t0,t0,t4 +80000c60: 01d3f3b3 and t2,t2,t4 +80000c64: 01d5f5b3 and a1,a1,t4 +80000c68: 01d6f6b3 and a3,a3,t4 +80000c6c: c35ff06f j 800008a0 +80000c70: 001006b7 lui a3,0x100 +80000c74: fff68693 addi a3,a3,-1 # fffff <__stack_size+0xffbff> +80000c78: 00d5f5b3 and a1,a1,a3 +80000c7c: 01c12683 lw a3,28(sp) +80000c80: e21ff06f j 80000aa0 +80000c84: 41f787b3 sub a5,a5,t6 +80000c88: 40d60633 sub a2,a2,a3 +80000c8c: 025787b3 mul a5,a5,t0 +80000c90: 025602b3 mul t0,a2,t0 +80000c94: 4087d793 srai a5,a5,0x8 +80000c98: 01f787b3 add a5,a5,t6 +80000c9c: 0177f7b3 and a5,a5,s7 +80000ca0: 4082d293 srai t0,t0,0x8 +80000ca4: 00d28733 add a4,t0,a3 +80000ca8: 01777733 and a4,a4,s7 +80000cac: 40f70733 sub a4,a4,a5 +80000cb0: 027703b3 mul t2,a4,t2 +80000cb4: 4083d393 srai t2,t2,0x8 +80000cb8: 00f387b3 add a5,t2,a5 +80000cbc: 0177f533 and a0,a5,s7 +80000cc0: cddff06f j 8000099c +80000cc4: 01051793 slli a5,a0,0x10 +80000cc8: 00a7e533 or a0,a5,a0 +80000ccc: 02412783 lw a5,36(sp) +80000cd0: 00f57533 and a0,a0,a5 +80000cd4: 41055793 srai a5,a0,0x10 +80000cd8: 00a7e533 or a0,a5,a0 +80000cdc: 01412783 lw a5,20(sp) +80000ce0: 00f57533 and a0,a0,a5 +80000ce4: cb9ff06f j 8000099c +80000ce8: 01079593 slli a1,a5,0x10 +80000cec: 00f5e7b3 or a5,a1,a5 +80000cf0: 02412583 lw a1,36(sp) +80000cf4: 01069513 slli a0,a3,0x10 +80000cf8: 010f9713 slli a4,t6,0x10 +80000cfc: 01061e13 slli t3,a2,0x10 +80000d00: 00d566b3 or a3,a0,a3 +80000d04: 01f76733 or a4,a4,t6 +80000d08: 00ce6633 or a2,t3,a2 +80000d0c: 00b77733 and a4,a4,a1 +80000d10: 00b6f6b3 and a3,a3,a1 +80000d14: 00b7f7b3 and a5,a5,a1 +80000d18: 00b67633 and a2,a2,a1 +80000d1c: 40e787b3 sub a5,a5,a4 +80000d20: 40d60633 sub a2,a2,a3 +80000d24: 025787b3 mul a5,a5,t0 +80000d28: 025602b3 mul t0,a2,t0 +80000d2c: 4087d793 srai a5,a5,0x8 +80000d30: 00e787b3 add a5,a5,a4 +80000d34: 0177f7b3 and a5,a5,s7 +80000d38: 4082d293 srai t0,t0,0x8 +80000d3c: 00d28733 add a4,t0,a3 +80000d40: 01777733 and a4,a4,s7 +80000d44: 40f70733 sub a4,a4,a5 +80000d48: 027703b3 mul t2,a4,t2 +80000d4c: 4083d393 srai t2,t2,0x8 +80000d50: 00f387b3 add a5,t2,a5 +80000d54: 0177f7b3 and a5,a5,s7 +80000d58: 4107d513 srai a0,a5,0x10 +80000d5c: 00f56533 or a0,a0,a5 +80000d60: 01412783 lw a5,20(sp) +80000d64: 00f57533 and a0,a0,a5 +80000d68: c35ff06f j 8000099c -8000097c : -8000097c: 00050593 mv a1,a0 -80000980: 00000693 li a3,0 -80000984: 00000613 li a2,0 -80000988: 00000513 li a0,0 -8000098c: 20c0006f j 80000b98 <__register_exitproc> +80000d6c <_exit>: +80000d6c: 00000513 li a0,0 +80000d70: 0005006b 0x5006b -80000990 : -80000990: ff010113 addi sp,sp,-16 -80000994: 00000593 li a1,0 -80000998: 00812423 sw s0,8(sp) -8000099c: 00112623 sw ra,12(sp) -800009a0: 00050413 mv s0,a0 -800009a4: 290000ef jal ra,80000c34 <__call_exitprocs> -800009a8: 800017b7 lui a5,0x80001 -800009ac: 4387a503 lw a0,1080(a5) # 80001438 <__stack_top+0x81001438> -800009b0: 03c52783 lw a5,60(a0) -800009b4: 00078463 beqz a5,800009bc -800009b8: 000780e7 jalr a5 -800009bc: 00040513 mv a0,s0 -800009c0: d71ff0ef jal ra,80000730 <_exit> +80000d74 : +80000d74: fc002573 csrr a0,0xfc0 +80000d78: 0005006b 0x5006b +80000d7c: 00002197 auipc gp,0x2 +80000d80: e1c18193 addi gp,gp,-484 # 80002b98 <__global_pointer> +80000d84: 7efff117 auipc sp,0x7efff +80000d88: 27c10113 addi sp,sp,636 # ff000000 <__stack_top> +80000d8c: 40000593 li a1,1024 +80000d90: cc102673 csrr a2,0xcc1 +80000d94: 02c585b3 mul a1,a1,a2 +80000d98: 40b10133 sub sp,sp,a1 +80000d9c: cc3026f3 csrr a3,0xcc3 +80000da0: 00068663 beqz a3,80000dac +80000da4: 00000513 li a0,0 +80000da8: 0005006b 0x5006b -800009c4 <__libc_fini_array>: -800009c4: ff010113 addi sp,sp,-16 -800009c8: 00812423 sw s0,8(sp) -800009cc: 800017b7 lui a5,0x80001 -800009d0: 80001437 lui s0,0x80001 -800009d4: 00440413 addi s0,s0,4 # 80001004 <__stack_top+0x81001004> -800009d8: 00478793 addi a5,a5,4 # 80001004 <__stack_top+0x81001004> -800009dc: 408787b3 sub a5,a5,s0 -800009e0: 00912223 sw s1,4(sp) -800009e4: 00112623 sw ra,12(sp) -800009e8: 4027d493 srai s1,a5,0x2 -800009ec: 02048063 beqz s1,80000a0c <__libc_fini_array+0x48> -800009f0: ffc78793 addi a5,a5,-4 -800009f4: 00878433 add s0,a5,s0 -800009f8: 00042783 lw a5,0(s0) -800009fc: fff48493 addi s1,s1,-1 -80000a00: ffc40413 addi s0,s0,-4 -80000a04: 000780e7 jalr a5 -80000a08: fe0498e3 bnez s1,800009f8 <__libc_fini_array+0x34> -80000a0c: 00c12083 lw ra,12(sp) -80000a10: 00812403 lw s0,8(sp) -80000a14: 00412483 lw s1,4(sp) -80000a18: 01010113 addi sp,sp,16 -80000a1c: 00008067 ret +80000dac : +80000dac: 00008067 ret -80000a20 <__libc_init_array>: -80000a20: ff010113 addi sp,sp,-16 -80000a24: 00812423 sw s0,8(sp) -80000a28: 01212023 sw s2,0(sp) -80000a2c: 80001437 lui s0,0x80001 -80000a30: 80001937 lui s2,0x80001 -80000a34: 00040793 mv a5,s0 -80000a38: 00090913 mv s2,s2 -80000a3c: 40f90933 sub s2,s2,a5 -80000a40: 00112623 sw ra,12(sp) -80000a44: 00912223 sw s1,4(sp) -80000a48: 40295913 srai s2,s2,0x2 -80000a4c: 02090063 beqz s2,80000a6c <__libc_init_array+0x4c> -80000a50: 00040413 mv s0,s0 -80000a54: 00000493 li s1,0 -80000a58: 00042783 lw a5,0(s0) # 80001000 <__stack_top+0x81001000> -80000a5c: 00148493 addi s1,s1,1 -80000a60: 00440413 addi s0,s0,4 -80000a64: 000780e7 jalr a5 -80000a68: fe9918e3 bne s2,s1,80000a58 <__libc_init_array+0x38> -80000a6c: 80001437 lui s0,0x80001 -80000a70: 80001937 lui s2,0x80001 -80000a74: 00040793 mv a5,s0 -80000a78: 00490913 addi s2,s2,4 # 80001004 <__stack_top+0x81001004> -80000a7c: 40f90933 sub s2,s2,a5 -80000a80: 40295913 srai s2,s2,0x2 -80000a84: 02090063 beqz s2,80000aa4 <__libc_init_array+0x84> -80000a88: 00040413 mv s0,s0 -80000a8c: 00000493 li s1,0 -80000a90: 00042783 lw a5,0(s0) # 80001000 <__stack_top+0x81001000> -80000a94: 00148493 addi s1,s1,1 -80000a98: 00440413 addi s0,s0,4 -80000a9c: 000780e7 jalr a5 -80000aa0: fe9918e3 bne s2,s1,80000a90 <__libc_init_array+0x70> -80000aa4: 00c12083 lw ra,12(sp) -80000aa8: 00812403 lw s0,8(sp) -80000aac: 00412483 lw s1,4(sp) -80000ab0: 00012903 lw s2,0(sp) -80000ab4: 01010113 addi sp,sp,16 -80000ab8: 00008067 ret +80000db0 : +80000db0: fe010113 addi sp,sp,-32 +80000db4: 00112e23 sw ra,28(sp) +80000db8: 00812c23 sw s0,24(sp) +80000dbc: 00912a23 sw s1,20(sp) +80000dc0: 01212823 sw s2,16(sp) +80000dc4: 01312623 sw s3,12(sp) +80000dc8: fc0027f3 csrr a5,0xfc0 +80000dcc: 0007806b 0x7806b +80000dd0: cc5026f3 csrr a3,0xcc5 +80000dd4: cc3029f3 csrr s3,0xcc3 +80000dd8: cc002773 csrr a4,0xcc0 +80000ddc: fc002673 csrr a2,0xfc0 +80000de0: 800027b7 lui a5,0x80002 +80000de4: 00269693 slli a3,a3,0x2 +80000de8: 7cc78793 addi a5,a5,1996 # 800027cc <__stack_top+0x810027cc> +80000dec: 00d787b3 add a5,a5,a3 +80000df0: 0007a483 lw s1,0(a5) +80000df4: 0104a403 lw s0,16(s1) +80000df8: 00c4a683 lw a3,12(s1) +80000dfc: 0089a933 slt s2,s3,s0 +80000e00: 00040793 mv a5,s0 +80000e04: 00d90933 add s2,s2,a3 +80000e08: 03368433 mul s0,a3,s3 +80000e0c: 00f9d463 bge s3,a5,80000e14 +80000e10: 00098793 mv a5,s3 +80000e14: 00f40433 add s0,s0,a5 +80000e18: 0084a683 lw a3,8(s1) +80000e1c: 02c40433 mul s0,s0,a2 +80000e20: 02e907b3 mul a5,s2,a4 +80000e24: 00d40433 add s0,s0,a3 +80000e28: 00f40433 add s0,s0,a5 +80000e2c: 00890933 add s2,s2,s0 +80000e30: 01245e63 bge s0,s2,80000e4c +80000e34: 0004a783 lw a5,0(s1) +80000e38: 0044a583 lw a1,4(s1) +80000e3c: 00040513 mv a0,s0 +80000e40: 00140413 addi s0,s0,1 +80000e44: 000780e7 jalr a5 +80000e48: fe8916e3 bne s2,s0,80000e34 +80000e4c: 0019b993 seqz s3,s3 +80000e50: 0009806b 0x9806b +80000e54: 01c12083 lw ra,28(sp) +80000e58: 01812403 lw s0,24(sp) +80000e5c: 01412483 lw s1,20(sp) +80000e60: 01012903 lw s2,16(sp) +80000e64: 00c12983 lw s3,12(sp) +80000e68: 02010113 addi sp,sp,32 +80000e6c: 00008067 ret -80000abc : -80000abc: 00f00313 li t1,15 -80000ac0: 00050713 mv a4,a0 -80000ac4: 02c37e63 bgeu t1,a2,80000b00 -80000ac8: 00f77793 andi a5,a4,15 -80000acc: 0a079063 bnez a5,80000b6c -80000ad0: 08059263 bnez a1,80000b54 -80000ad4: ff067693 andi a3,a2,-16 -80000ad8: 00f67613 andi a2,a2,15 -80000adc: 00e686b3 add a3,a3,a4 -80000ae0: 00b72023 sw a1,0(a4) -80000ae4: 00b72223 sw a1,4(a4) -80000ae8: 00b72423 sw a1,8(a4) -80000aec: 00b72623 sw a1,12(a4) -80000af0: 01070713 addi a4,a4,16 -80000af4: fed766e3 bltu a4,a3,80000ae0 -80000af8: 00061463 bnez a2,80000b00 -80000afc: 00008067 ret -80000b00: 40c306b3 sub a3,t1,a2 -80000b04: 00269693 slli a3,a3,0x2 -80000b08: 00000297 auipc t0,0x0 -80000b0c: 005686b3 add a3,a3,t0 -80000b10: 00c68067 jr 12(a3) -80000b14: 00b70723 sb a1,14(a4) -80000b18: 00b706a3 sb a1,13(a4) -80000b1c: 00b70623 sb a1,12(a4) -80000b20: 00b705a3 sb a1,11(a4) -80000b24: 00b70523 sb a1,10(a4) -80000b28: 00b704a3 sb a1,9(a4) -80000b2c: 00b70423 sb a1,8(a4) -80000b30: 00b703a3 sb a1,7(a4) -80000b34: 00b70323 sb a1,6(a4) -80000b38: 00b702a3 sb a1,5(a4) -80000b3c: 00b70223 sb a1,4(a4) -80000b40: 00b701a3 sb a1,3(a4) -80000b44: 00b70123 sb a1,2(a4) -80000b48: 00b700a3 sb a1,1(a4) -80000b4c: 00b70023 sb a1,0(a4) -80000b50: 00008067 ret -80000b54: 0ff5f593 andi a1,a1,255 -80000b58: 00859693 slli a3,a1,0x8 -80000b5c: 00d5e5b3 or a1,a1,a3 -80000b60: 01059693 slli a3,a1,0x10 -80000b64: 00d5e5b3 or a1,a1,a3 -80000b68: f6dff06f j 80000ad4 -80000b6c: 00279693 slli a3,a5,0x2 -80000b70: 00000297 auipc t0,0x0 -80000b74: 005686b3 add a3,a3,t0 -80000b78: 00008293 mv t0,ra -80000b7c: fa0680e7 jalr -96(a3) -80000b80: 00028093 mv ra,t0 -80000b84: ff078793 addi a5,a5,-16 -80000b88: 40f70733 sub a4,a4,a5 -80000b8c: 00f60633 add a2,a2,a5 -80000b90: f6c378e3 bgeu t1,a2,80000b00 -80000b94: f3dff06f j 80000ad0 +80000e70 : +80000e70: fc010113 addi sp,sp,-64 +80000e74: 02112e23 sw ra,60(sp) +80000e78: 02812c23 sw s0,56(sp) +80000e7c: 02912a23 sw s1,52(sp) +80000e80: 03212823 sw s2,48(sp) +80000e84: 03312623 sw s3,44(sp) +80000e88: fc2026f3 csrr a3,0xfc2 +80000e8c: fc102873 csrr a6,0xfc1 +80000e90: fc002473 csrr s0,0xfc0 +80000e94: cc5027f3 csrr a5,0xcc5 +80000e98: 01f00713 li a4,31 +80000e9c: 0cf74463 blt a4,a5,80000f64 +80000ea0: 030408b3 mul a7,s0,a6 +80000ea4: 00100713 li a4,1 +80000ea8: 00a8d463 bge a7,a0,80000eb0 +80000eac: 03154733 div a4,a0,a7 +80000eb0: 0ce6c863 blt a3,a4,80000f80 +80000eb4: 0ae7d863 bge a5,a4,80000f64 +80000eb8: fff68693 addi a3,a3,-1 +80000ebc: 02e54333 div t1,a0,a4 +80000ec0: 00030893 mv a7,t1 +80000ec4: 00f69663 bne a3,a5,80000ed0 +80000ec8: 02e56533 rem a0,a0,a4 +80000ecc: 006508b3 add a7,a0,t1 +80000ed0: 0288c4b3 div s1,a7,s0 +80000ed4: 0288e933 rem s2,a7,s0 +80000ed8: 0b04ca63 blt s1,a6,80000f8c +80000edc: 00100693 li a3,1 +80000ee0: 0304c733 div a4,s1,a6 +80000ee4: 00070663 beqz a4,80000ef0 +80000ee8: 00070693 mv a3,a4 +80000eec: 0304e733 rem a4,s1,a6 +80000ef0: 800029b7 lui s3,0x80002 +80000ef4: 7cc98993 addi s3,s3,1996 # 800027cc <__stack_top+0x810027cc> +80000ef8: 00e12e23 sw a4,28(sp) +80000efc: 00c10713 addi a4,sp,12 +80000f00: 00b12623 sw a1,12(sp) +80000f04: 00c12823 sw a2,16(sp) +80000f08: 00d12c23 sw a3,24(sp) +80000f0c: 02f30333 mul t1,t1,a5 +80000f10: 00279793 slli a5,a5,0x2 +80000f14: 00f987b3 add a5,s3,a5 +80000f18: 00e7a023 sw a4,0(a5) +80000f1c: 00612a23 sw t1,20(sp) +80000f20: 06904c63 bgtz s1,80000f98 +80000f24: 04090063 beqz s2,80000f64 +80000f28: 02848433 mul s0,s1,s0 +80000f2c: 00812a23 sw s0,20(sp) +80000f30: 0009006b 0x9006b +80000f34: cc5027f3 csrr a5,0xcc5 +80000f38: cc202573 csrr a0,0xcc2 +80000f3c: 00279793 slli a5,a5,0x2 +80000f40: 00f989b3 add s3,s3,a5 +80000f44: 0009a783 lw a5,0(s3) +80000f48: 0087a683 lw a3,8(a5) +80000f4c: 0007a703 lw a4,0(a5) +80000f50: 0047a583 lw a1,4(a5) +80000f54: 00d50533 add a0,a0,a3 +80000f58: 000700e7 jalr a4 +80000f5c: 00100793 li a5,1 +80000f60: 0007806b 0x7806b +80000f64: 03c12083 lw ra,60(sp) +80000f68: 03812403 lw s0,56(sp) +80000f6c: 03412483 lw s1,52(sp) +80000f70: 03012903 lw s2,48(sp) +80000f74: 02c12983 lw s3,44(sp) +80000f78: 04010113 addi sp,sp,64 +80000f7c: 00008067 ret +80000f80: 00068713 mv a4,a3 +80000f84: f2e7cae3 blt a5,a4,80000eb8 +80000f88: fddff06f j 80000f64 +80000f8c: 00000713 li a4,0 +80000f90: 00100693 li a3,1 +80000f94: f5dff06f j 80000ef0 +80000f98: 00048713 mv a4,s1 +80000f9c: 00985463 bge a6,s1,80000fa4 +80000fa0: 00080713 mv a4,a6 +80000fa4: 800017b7 lui a5,0x80001 +80000fa8: db078793 addi a5,a5,-592 # 80000db0 <__stack_top+0x81000db0> +80000fac: 00f7106b 0xf7106b +80000fb0: e01ff0ef jal ra,80000db0 +80000fb4: f71ff06f j 80000f24 -80000b98 <__register_exitproc>: -80000b98: 800017b7 lui a5,0x80001 -80000b9c: 4387a703 lw a4,1080(a5) # 80001438 <__stack_top+0x81001438> -80000ba0: 14872783 lw a5,328(a4) -80000ba4: 04078c63 beqz a5,80000bfc <__register_exitproc+0x64> -80000ba8: 0047a703 lw a4,4(a5) -80000bac: 01f00813 li a6,31 -80000bb0: 06e84e63 blt a6,a4,80000c2c <__register_exitproc+0x94> -80000bb4: 00271813 slli a6,a4,0x2 -80000bb8: 02050663 beqz a0,80000be4 <__register_exitproc+0x4c> -80000bbc: 01078333 add t1,a5,a6 -80000bc0: 08c32423 sw a2,136(t1) -80000bc4: 1887a883 lw a7,392(a5) -80000bc8: 00100613 li a2,1 -80000bcc: 00e61633 sll a2,a2,a4 -80000bd0: 00c8e8b3 or a7,a7,a2 -80000bd4: 1917a423 sw a7,392(a5) -80000bd8: 10d32423 sw a3,264(t1) -80000bdc: 00200693 li a3,2 -80000be0: 02d50463 beq a0,a3,80000c08 <__register_exitproc+0x70> -80000be4: 00170713 addi a4,a4,1 -80000be8: 00e7a223 sw a4,4(a5) -80000bec: 010787b3 add a5,a5,a6 -80000bf0: 00b7a423 sw a1,8(a5) -80000bf4: 00000513 li a0,0 -80000bf8: 00008067 ret -80000bfc: 14c70793 addi a5,a4,332 -80000c00: 14f72423 sw a5,328(a4) -80000c04: fa5ff06f j 80000ba8 <__register_exitproc+0x10> -80000c08: 18c7a683 lw a3,396(a5) -80000c0c: 00170713 addi a4,a4,1 -80000c10: 00e7a223 sw a4,4(a5) -80000c14: 00c6e633 or a2,a3,a2 -80000c18: 18c7a623 sw a2,396(a5) -80000c1c: 010787b3 add a5,a5,a6 -80000c20: 00b7a423 sw a1,8(a5) -80000c24: 00000513 li a0,0 -80000c28: 00008067 ret -80000c2c: fff00513 li a0,-1 -80000c30: 00008067 ret +80000fb8 : +80000fb8: 00050593 mv a1,a0 +80000fbc: 00000693 li a3,0 +80000fc0: 00000613 li a2,0 +80000fc4: 00000513 li a0,0 +80000fc8: 20c0006f j 800011d4 <__register_exitproc> -80000c34 <__call_exitprocs>: -80000c34: fd010113 addi sp,sp,-48 -80000c38: 800017b7 lui a5,0x80001 -80000c3c: 01412c23 sw s4,24(sp) -80000c40: 4387aa03 lw s4,1080(a5) # 80001438 <__stack_top+0x81001438> -80000c44: 03212023 sw s2,32(sp) -80000c48: 02112623 sw ra,44(sp) -80000c4c: 148a2903 lw s2,328(s4) -80000c50: 02812423 sw s0,40(sp) -80000c54: 02912223 sw s1,36(sp) -80000c58: 01312e23 sw s3,28(sp) -80000c5c: 01512a23 sw s5,20(sp) -80000c60: 01612823 sw s6,16(sp) -80000c64: 01712623 sw s7,12(sp) -80000c68: 01812423 sw s8,8(sp) -80000c6c: 04090063 beqz s2,80000cac <__call_exitprocs+0x78> -80000c70: 00050b13 mv s6,a0 -80000c74: 00058b93 mv s7,a1 -80000c78: 00100a93 li s5,1 -80000c7c: fff00993 li s3,-1 -80000c80: 00492483 lw s1,4(s2) -80000c84: fff48413 addi s0,s1,-1 -80000c88: 02044263 bltz s0,80000cac <__call_exitprocs+0x78> -80000c8c: 00249493 slli s1,s1,0x2 -80000c90: 009904b3 add s1,s2,s1 -80000c94: 040b8463 beqz s7,80000cdc <__call_exitprocs+0xa8> -80000c98: 1044a783 lw a5,260(s1) -80000c9c: 05778063 beq a5,s7,80000cdc <__call_exitprocs+0xa8> -80000ca0: fff40413 addi s0,s0,-1 -80000ca4: ffc48493 addi s1,s1,-4 -80000ca8: ff3416e3 bne s0,s3,80000c94 <__call_exitprocs+0x60> -80000cac: 02c12083 lw ra,44(sp) -80000cb0: 02812403 lw s0,40(sp) -80000cb4: 02412483 lw s1,36(sp) -80000cb8: 02012903 lw s2,32(sp) -80000cbc: 01c12983 lw s3,28(sp) -80000cc0: 01812a03 lw s4,24(sp) -80000cc4: 01412a83 lw s5,20(sp) -80000cc8: 01012b03 lw s6,16(sp) -80000ccc: 00c12b83 lw s7,12(sp) -80000cd0: 00812c03 lw s8,8(sp) -80000cd4: 03010113 addi sp,sp,48 -80000cd8: 00008067 ret -80000cdc: 00492783 lw a5,4(s2) -80000ce0: 0044a683 lw a3,4(s1) -80000ce4: fff78793 addi a5,a5,-1 -80000ce8: 04878e63 beq a5,s0,80000d44 <__call_exitprocs+0x110> -80000cec: 0004a223 sw zero,4(s1) -80000cf0: fa0688e3 beqz a3,80000ca0 <__call_exitprocs+0x6c> -80000cf4: 18892783 lw a5,392(s2) -80000cf8: 008a9733 sll a4,s5,s0 -80000cfc: 00492c03 lw s8,4(s2) -80000d00: 00f777b3 and a5,a4,a5 -80000d04: 02079263 bnez a5,80000d28 <__call_exitprocs+0xf4> -80000d08: 000680e7 jalr a3 -80000d0c: 00492703 lw a4,4(s2) -80000d10: 148a2783 lw a5,328(s4) -80000d14: 01871463 bne a4,s8,80000d1c <__call_exitprocs+0xe8> -80000d18: f92784e3 beq a5,s2,80000ca0 <__call_exitprocs+0x6c> -80000d1c: f80788e3 beqz a5,80000cac <__call_exitprocs+0x78> -80000d20: 00078913 mv s2,a5 -80000d24: f5dff06f j 80000c80 <__call_exitprocs+0x4c> -80000d28: 18c92783 lw a5,396(s2) -80000d2c: 0844a583 lw a1,132(s1) -80000d30: 00f77733 and a4,a4,a5 -80000d34: 00071c63 bnez a4,80000d4c <__call_exitprocs+0x118> -80000d38: 000b0513 mv a0,s6 -80000d3c: 000680e7 jalr a3 -80000d40: fcdff06f j 80000d0c <__call_exitprocs+0xd8> -80000d44: 00892223 sw s0,4(s2) -80000d48: fa9ff06f j 80000cf0 <__call_exitprocs+0xbc> -80000d4c: 00058513 mv a0,a1 -80000d50: 000680e7 jalr a3 -80000d54: fb9ff06f j 80000d0c <__call_exitprocs+0xd8> +80000fcc : +80000fcc: ff010113 addi sp,sp,-16 +80000fd0: 00000593 li a1,0 +80000fd4: 00812423 sw s0,8(sp) +80000fd8: 00112623 sw ra,12(sp) +80000fdc: 00050413 mv s0,a0 +80000fe0: 290000ef jal ra,80001270 <__call_exitprocs> +80000fe4: 800027b7 lui a5,0x80002 +80000fe8: 7c87a503 lw a0,1992(a5) # 800027c8 <__stack_top+0x810027c8> +80000fec: 03c52783 lw a5,60(a0) +80000ff0: 00078463 beqz a5,80000ff8 +80000ff4: 000780e7 jalr a5 +80000ff8: 00040513 mv a0,s0 +80000ffc: d71ff0ef jal ra,80000d6c <_exit> + +80001000 <__libc_fini_array>: +80001000: ff010113 addi sp,sp,-16 +80001004: 00812423 sw s0,8(sp) +80001008: 800027b7 lui a5,0x80002 +8000100c: 80002437 lui s0,0x80002 +80001010: 39840413 addi s0,s0,920 # 80002398 <__stack_top+0x81002398> +80001014: 39878793 addi a5,a5,920 # 80002398 <__stack_top+0x81002398> +80001018: 408787b3 sub a5,a5,s0 +8000101c: 00912223 sw s1,4(sp) +80001020: 00112623 sw ra,12(sp) +80001024: 4027d493 srai s1,a5,0x2 +80001028: 02048063 beqz s1,80001048 <__libc_fini_array+0x48> +8000102c: ffc78793 addi a5,a5,-4 +80001030: 00878433 add s0,a5,s0 +80001034: 00042783 lw a5,0(s0) +80001038: fff48493 addi s1,s1,-1 +8000103c: ffc40413 addi s0,s0,-4 +80001040: 000780e7 jalr a5 +80001044: fe0498e3 bnez s1,80001034 <__libc_fini_array+0x34> +80001048: 00c12083 lw ra,12(sp) +8000104c: 00812403 lw s0,8(sp) +80001050: 00412483 lw s1,4(sp) +80001054: 01010113 addi sp,sp,16 +80001058: 00008067 ret + +8000105c <__libc_init_array>: +8000105c: ff010113 addi sp,sp,-16 +80001060: 00812423 sw s0,8(sp) +80001064: 01212023 sw s2,0(sp) +80001068: 80002437 lui s0,0x80002 +8000106c: 80002937 lui s2,0x80002 +80001070: 39440793 addi a5,s0,916 # 80002394 <__stack_top+0x81002394> +80001074: 39490913 addi s2,s2,916 # 80002394 <__stack_top+0x81002394> +80001078: 40f90933 sub s2,s2,a5 +8000107c: 00112623 sw ra,12(sp) +80001080: 00912223 sw s1,4(sp) +80001084: 40295913 srai s2,s2,0x2 +80001088: 02090063 beqz s2,800010a8 <__libc_init_array+0x4c> +8000108c: 39440413 addi s0,s0,916 +80001090: 00000493 li s1,0 +80001094: 00042783 lw a5,0(s0) +80001098: 00148493 addi s1,s1,1 +8000109c: 00440413 addi s0,s0,4 +800010a0: 000780e7 jalr a5 +800010a4: fe9918e3 bne s2,s1,80001094 <__libc_init_array+0x38> +800010a8: 80002437 lui s0,0x80002 +800010ac: 80002937 lui s2,0x80002 +800010b0: 39440793 addi a5,s0,916 # 80002394 <__stack_top+0x81002394> +800010b4: 39890913 addi s2,s2,920 # 80002398 <__stack_top+0x81002398> +800010b8: 40f90933 sub s2,s2,a5 +800010bc: 40295913 srai s2,s2,0x2 +800010c0: 02090063 beqz s2,800010e0 <__libc_init_array+0x84> +800010c4: 39440413 addi s0,s0,916 +800010c8: 00000493 li s1,0 +800010cc: 00042783 lw a5,0(s0) +800010d0: 00148493 addi s1,s1,1 +800010d4: 00440413 addi s0,s0,4 +800010d8: 000780e7 jalr a5 +800010dc: fe9918e3 bne s2,s1,800010cc <__libc_init_array+0x70> +800010e0: 00c12083 lw ra,12(sp) +800010e4: 00812403 lw s0,8(sp) +800010e8: 00412483 lw s1,4(sp) +800010ec: 00012903 lw s2,0(sp) +800010f0: 01010113 addi sp,sp,16 +800010f4: 00008067 ret + +800010f8 : +800010f8: 00f00313 li t1,15 +800010fc: 00050713 mv a4,a0 +80001100: 02c37e63 bgeu t1,a2,8000113c +80001104: 00f77793 andi a5,a4,15 +80001108: 0a079063 bnez a5,800011a8 +8000110c: 08059263 bnez a1,80001190 +80001110: ff067693 andi a3,a2,-16 +80001114: 00f67613 andi a2,a2,15 +80001118: 00e686b3 add a3,a3,a4 +8000111c: 00b72023 sw a1,0(a4) +80001120: 00b72223 sw a1,4(a4) +80001124: 00b72423 sw a1,8(a4) +80001128: 00b72623 sw a1,12(a4) +8000112c: 01070713 addi a4,a4,16 +80001130: fed766e3 bltu a4,a3,8000111c +80001134: 00061463 bnez a2,8000113c +80001138: 00008067 ret +8000113c: 40c306b3 sub a3,t1,a2 +80001140: 00269693 slli a3,a3,0x2 +80001144: 00000297 auipc t0,0x0 +80001148: 005686b3 add a3,a3,t0 +8000114c: 00c68067 jr 12(a3) +80001150: 00b70723 sb a1,14(a4) +80001154: 00b706a3 sb a1,13(a4) +80001158: 00b70623 sb a1,12(a4) +8000115c: 00b705a3 sb a1,11(a4) +80001160: 00b70523 sb a1,10(a4) +80001164: 00b704a3 sb a1,9(a4) +80001168: 00b70423 sb a1,8(a4) +8000116c: 00b703a3 sb a1,7(a4) +80001170: 00b70323 sb a1,6(a4) +80001174: 00b702a3 sb a1,5(a4) +80001178: 00b70223 sb a1,4(a4) +8000117c: 00b701a3 sb a1,3(a4) +80001180: 00b70123 sb a1,2(a4) +80001184: 00b700a3 sb a1,1(a4) +80001188: 00b70023 sb a1,0(a4) +8000118c: 00008067 ret +80001190: 0ff5f593 andi a1,a1,255 +80001194: 00859693 slli a3,a1,0x8 +80001198: 00d5e5b3 or a1,a1,a3 +8000119c: 01059693 slli a3,a1,0x10 +800011a0: 00d5e5b3 or a1,a1,a3 +800011a4: f6dff06f j 80001110 +800011a8: 00279693 slli a3,a5,0x2 +800011ac: 00000297 auipc t0,0x0 +800011b0: 005686b3 add a3,a3,t0 +800011b4: 00008293 mv t0,ra +800011b8: fa0680e7 jalr -96(a3) +800011bc: 00028093 mv ra,t0 +800011c0: ff078793 addi a5,a5,-16 +800011c4: 40f70733 sub a4,a4,a5 +800011c8: 00f60633 add a2,a2,a5 +800011cc: f6c378e3 bgeu t1,a2,8000113c +800011d0: f3dff06f j 8000110c + +800011d4 <__register_exitproc>: +800011d4: 800027b7 lui a5,0x80002 +800011d8: 7c87a703 lw a4,1992(a5) # 800027c8 <__stack_top+0x810027c8> +800011dc: 14872783 lw a5,328(a4) +800011e0: 04078c63 beqz a5,80001238 <__register_exitproc+0x64> +800011e4: 0047a703 lw a4,4(a5) +800011e8: 01f00813 li a6,31 +800011ec: 06e84e63 blt a6,a4,80001268 <__register_exitproc+0x94> +800011f0: 00271813 slli a6,a4,0x2 +800011f4: 02050663 beqz a0,80001220 <__register_exitproc+0x4c> +800011f8: 01078333 add t1,a5,a6 +800011fc: 08c32423 sw a2,136(t1) +80001200: 1887a883 lw a7,392(a5) +80001204: 00100613 li a2,1 +80001208: 00e61633 sll a2,a2,a4 +8000120c: 00c8e8b3 or a7,a7,a2 +80001210: 1917a423 sw a7,392(a5) +80001214: 10d32423 sw a3,264(t1) +80001218: 00200693 li a3,2 +8000121c: 02d50463 beq a0,a3,80001244 <__register_exitproc+0x70> +80001220: 00170713 addi a4,a4,1 +80001224: 00e7a223 sw a4,4(a5) +80001228: 010787b3 add a5,a5,a6 +8000122c: 00b7a423 sw a1,8(a5) +80001230: 00000513 li a0,0 +80001234: 00008067 ret +80001238: 14c70793 addi a5,a4,332 +8000123c: 14f72423 sw a5,328(a4) +80001240: fa5ff06f j 800011e4 <__register_exitproc+0x10> +80001244: 18c7a683 lw a3,396(a5) +80001248: 00170713 addi a4,a4,1 +8000124c: 00e7a223 sw a4,4(a5) +80001250: 00c6e633 or a2,a3,a2 +80001254: 18c7a623 sw a2,396(a5) +80001258: 010787b3 add a5,a5,a6 +8000125c: 00b7a423 sw a1,8(a5) +80001260: 00000513 li a0,0 +80001264: 00008067 ret +80001268: fff00513 li a0,-1 +8000126c: 00008067 ret + +80001270 <__call_exitprocs>: +80001270: fd010113 addi sp,sp,-48 +80001274: 800027b7 lui a5,0x80002 +80001278: 01412c23 sw s4,24(sp) +8000127c: 7c87aa03 lw s4,1992(a5) # 800027c8 <__stack_top+0x810027c8> +80001280: 03212023 sw s2,32(sp) +80001284: 02112623 sw ra,44(sp) +80001288: 148a2903 lw s2,328(s4) +8000128c: 02812423 sw s0,40(sp) +80001290: 02912223 sw s1,36(sp) +80001294: 01312e23 sw s3,28(sp) +80001298: 01512a23 sw s5,20(sp) +8000129c: 01612823 sw s6,16(sp) +800012a0: 01712623 sw s7,12(sp) +800012a4: 01812423 sw s8,8(sp) +800012a8: 04090063 beqz s2,800012e8 <__call_exitprocs+0x78> +800012ac: 00050b13 mv s6,a0 +800012b0: 00058b93 mv s7,a1 +800012b4: 00100a93 li s5,1 +800012b8: fff00993 li s3,-1 +800012bc: 00492483 lw s1,4(s2) +800012c0: fff48413 addi s0,s1,-1 +800012c4: 02044263 bltz s0,800012e8 <__call_exitprocs+0x78> +800012c8: 00249493 slli s1,s1,0x2 +800012cc: 009904b3 add s1,s2,s1 +800012d0: 040b8463 beqz s7,80001318 <__call_exitprocs+0xa8> +800012d4: 1044a783 lw a5,260(s1) +800012d8: 05778063 beq a5,s7,80001318 <__call_exitprocs+0xa8> +800012dc: fff40413 addi s0,s0,-1 +800012e0: ffc48493 addi s1,s1,-4 +800012e4: ff3416e3 bne s0,s3,800012d0 <__call_exitprocs+0x60> +800012e8: 02c12083 lw ra,44(sp) +800012ec: 02812403 lw s0,40(sp) +800012f0: 02412483 lw s1,36(sp) +800012f4: 02012903 lw s2,32(sp) +800012f8: 01c12983 lw s3,28(sp) +800012fc: 01812a03 lw s4,24(sp) +80001300: 01412a83 lw s5,20(sp) +80001304: 01012b03 lw s6,16(sp) +80001308: 00c12b83 lw s7,12(sp) +8000130c: 00812c03 lw s8,8(sp) +80001310: 03010113 addi sp,sp,48 +80001314: 00008067 ret +80001318: 00492783 lw a5,4(s2) +8000131c: 0044a683 lw a3,4(s1) +80001320: fff78793 addi a5,a5,-1 +80001324: 04878e63 beq a5,s0,80001380 <__call_exitprocs+0x110> +80001328: 0004a223 sw zero,4(s1) +8000132c: fa0688e3 beqz a3,800012dc <__call_exitprocs+0x6c> +80001330: 18892783 lw a5,392(s2) +80001334: 008a9733 sll a4,s5,s0 +80001338: 00492c03 lw s8,4(s2) +8000133c: 00f777b3 and a5,a4,a5 +80001340: 02079263 bnez a5,80001364 <__call_exitprocs+0xf4> +80001344: 000680e7 jalr a3 +80001348: 00492703 lw a4,4(s2) +8000134c: 148a2783 lw a5,328(s4) +80001350: 01871463 bne a4,s8,80001358 <__call_exitprocs+0xe8> +80001354: f92784e3 beq a5,s2,800012dc <__call_exitprocs+0x6c> +80001358: f80788e3 beqz a5,800012e8 <__call_exitprocs+0x78> +8000135c: 00078913 mv s2,a5 +80001360: f5dff06f j 800012bc <__call_exitprocs+0x4c> +80001364: 18c92783 lw a5,396(s2) +80001368: 0844a583 lw a1,132(s1) +8000136c: 00f77733 and a4,a4,a5 +80001370: 00071c63 bnez a4,80001388 <__call_exitprocs+0x118> +80001374: 000b0513 mv a0,s6 +80001378: 000680e7 jalr a3 +8000137c: fcdff06f j 80001348 <__call_exitprocs+0xd8> +80001380: 00892223 sw s0,4(s2) +80001384: fa9ff06f j 8000132c <__call_exitprocs+0xbc> +80001388: 00058513 mv a0,a1 +8000138c: 000680e7 jalr a3 +80001390: fb9ff06f j 80001348 <__call_exitprocs+0xd8> Disassembly of section .init_array: -80001000 <__init_array_start>: -80001000: 00f8 addi a4,sp,76 -80001002: 8000 0x8000 +80002394 <__init_array_start>: +80002394: 00fc addi a5,sp,76 +80002396: 8000 0x8000 Disassembly of section .data: -80001008 : -80001008: 0000 unimp -8000100a: 0000 unimp -8000100c: 12f4 addi a3,sp,364 -8000100e: 8000 0x8000 -80001010: 135c addi a5,sp,420 -80001012: 8000 0x8000 -80001014: 13c4 addi s1,sp,484 -80001016: 8000 0x8000 +80002398 : +80002398: 0000 unimp +8000239a: 0000 unimp +8000239c: 2684 fld fs1,8(a3) +8000239e: 8000 0x8000 +800023a0: 26ec fld fa1,200(a3) +800023a2: 8000 0x8000 +800023a4: 2754 fld fa3,136(a4) +800023a6: 8000 0x8000 ... -800010b0: 0001 nop -800010b2: 0000 unimp -800010b4: 0000 unimp -800010b6: 0000 unimp -800010b8: 330e fld ft6,224(sp) -800010ba: abcd j 800016ac <__BSS_END__+0x1f0> -800010bc: 1234 addi a3,sp,296 -800010be: e66d bnez a2,800011a8 -800010c0: deec sw a1,124(a3) -800010c2: 0005 c.nop 1 -800010c4: 0000000b 0xb +80002440: 0001 nop +80002442: 0000 unimp +80002444: 0000 unimp +80002446: 0000 unimp +80002448: 330e fld ft6,224(sp) +8000244a: abcd j 80002a3c <__BSS_END__+0x1f0> +8000244c: 1234 addi a3,sp,296 +8000244e: e66d bnez a2,80002538 +80002450: deec sw a1,124(a3) +80002452: 0005 c.nop 1 +80002454: 0000000b 0xb ... Disassembly of section .sdata: -80001430 <__SDATA_BEGIN__>: -80001430: 0000 unimp -80001432: 4980 lw s0,16(a1) -80001434: 0000 unimp -80001436: 3f80 fld fs0,56(a5) +800027c0 <__SDATA_BEGIN__>: +800027c0: 0000 unimp +800027c2: 4980 lw s0,16(a1) +800027c4: 0000 unimp +800027c6: 3f80 fld fs0,56(a5) -80001438 <_global_impure_ptr>: -80001438: 1008 addi a0,sp,32 -8000143a: 8000 0x8000 +800027c8 <_global_impure_ptr>: +800027c8: 2398 fld fa4,0(a5) +800027ca: 8000 0x8000 Disassembly of section .bss: -8000143c : +800027cc : ... Disassembly of section .comment: diff --git a/driver/tests/tex_demo/kernel.elf b/driver/tests/tex_demo/kernel.elf index d6a87a6236b543d4080529087b274973ac4aa51f..da4919afda733af0f80fa74cc71a6b02c8324659 100755 GIT binary patch delta 4611 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 OW}?T@KlEV7>E}Q5Hu&KH delta 2980 zcmb7Ge{56N6+ZV}KR*W&{NSc>NSEN|nK*>t&_1MWT2|Q$EOdWNR8UN%uC%f=n3$Sw zp-VTd*sep|0tukYXr`61O@gprMd+!@KV3`IK*FSnO4$fi8CjH;Xo8ZYPz)2s`>ta= zh_pX;t>^o`bI(2ZobR0T-s^hd;+6w`?bU{ZwYAH)lo6>*Ck&H_so9^uPXH%cTtx4k z`hK4`4h^|`cSpx^^X?AwU7DuEkA!a04s7*3LL_wko4yLn?(U~-_wlfV{xlt^pIbZA zH%%W2T-De|?X;m>FqR$2Qe19dDD4X;tZqt-4tn&5TtB8z;zWn4n;27H*v0DQC>8 z_`0`ovau~e#QS$s>V!`4;@^((nP&NasHgrg!i-<*EOp$YS)ruMYCPz&8XnWF`p0#v zE}}boJNf9BzK^WH)4Emrq7EGn9d0%JhFkTgu%?^N-cKl2YScIT;9#B6+H6c1!pJ0z z<7a3iD4elE6Vz-lf-tAN-}uULv)SkM0?%0f2`$yXPOaw#xJd(A4tmCnRR{fjH*&Jn zB>DOmUaM|Gi|sLLM>Bsn`G>F4=&y{^;@rKQc=k@j$@DV&PKa3zvlLtV6B2LU$c-Au z{9^Y)iVHV#SQ2K^6(+f01BnHzsd=FX`5B&X>ZfbZ7@$+v`>TDnJk@dufwo~fl2*rAhC+z6ei1Xb~!j5r0Y#Z0f?tMSv z^t{hvrH8&QhBEP-*mM&frYSbmNiuySC)UDi$n0Ic@OBr8UM0)S$vUC8wv&X?8_Le@ z&GumLYb1Ma}Wb{AHBltt|{hp4=|@}fZ4_r zlZWGVB#*2jQ63=S3zE}4PEOAU%uY{}-L)S@FAs>zpbeahL+qSxt`b59is~xruDo&3MELBsCt0X!1gLSZu{2=mI@jo-R-& z%M23Ho-l_o+enkWGfHBt2W<2+W!Nc8hj}om+1{L{_Q@!0bdTj}R}9@}(oX-CJLxfC zu&J0+wmRccQgqw<$7u4l>uPM#7NecQ=48c|8=~(l@_3PWJ<~+_dDO{yPN*1}o;a;7mRsH);w&%^ixgDyQK{KCSV5UN6t(Jvv;>r^;jd%=k#m zeW*mVp(COwn9l3P>X$|diuGeuxiX|GemLSBMuqpDWuhj8HapLFa1o(Um!MwQq`Cf# z^dVx@i(;*P=IA8^`C(l85Yb!_X@x^GlU1J6soaR(lN>iINhsOYVg6ibR_oB=PKuaEwYc;c}5Y z;9t7zA>F6)y7P1@g>uwtj4=NDbgPr7EoY~aC$!4jgtu~G++0G5 z=L98&a2-tcIpM$?T=SUnFTw67)E9wLB_?bx(mFcfn~<537y1ak+tX8Pimer zxhGWP&S%pv-wD;a)u|r8yntIp`RahY7pg5$v9tu>uw+d_wltYqOF(|7sZQStVS{`z nB;>v(vuq#G%V?hkaHB^4uIW+zZjh)-o@=u7iUy(=l;(c`&Oktl diff --git a/driver/tests/tex_demo/main.cpp b/driver/tests/tex_demo/main.cpp index 37730e3c..b57f18e4 100644 --- a/driver/tests/tex_demo/main.cpp +++ b/driver/tests/tex_demo/main.cpp @@ -207,6 +207,7 @@ int main(int argc, char *argv[]) { kernel_arg.filter = filter; kernel_arg.wrap = wrap; kernel_arg.use_sw = use_sw; + kernel_arg.lod = 0x0; kernel_arg.src_logWidth = (uint32_t)std::log2(src_width); kernel_arg.src_logHeight = (uint32_t)std::log2(src_height); diff --git a/driver/tests/tex_demo/texsw.h b/driver/tests/tex_demo/texsw.h index 3c3d4a5c..0b3b07e7 100644 --- a/driver/tests/tex_demo/texsw.h +++ b/driver/tests/tex_demo/texsw.h @@ -135,10 +135,10 @@ inline int tex_sw(struct kernel_arg_t* state, int stage, int u, int v, int lod) inline int vx_tex3(int stage, int u, int v, int lod) { int lodn = MIN(lod + 0x100000, TEX_LOD_MAX); - int a = vx_tex(0, u, v, lod); - int b = vx_tex(0, u, v, lodn); + int a = vx_tex(0, u, v, lod); + int b = vx_tex(0, u, v, lodn); int al = a & 0x00ff00ff; - int ah = (a >> 8) & 0x00ff00ff; + int ah = (a >> 8) & 0x00ff00ff; int bl = b & 0x00ff00ff; int bh = (b >> 8) & 0x00ff00ff; int frac = (lod >> 12) & 0xff; @@ -150,13 +150,14 @@ inline int vx_tex3(int stage, int u, int v, int lod) { inline int tex3_sw(struct kernel_arg_t* state, int stage, int u, int v, int lod) { int lodn = MIN(lod + 0x10000, TEX_LOD_MAX); - int a = tex_sw(state, 0, u, v, lod); + int a = tex_sw(state, 0, u, v, lod); int b = tex_sw(state, 0, u, v, lodn); int al = a & 0x00ff00ff; int ah = (a >> 8) & 0x00ff00ff; + int bl = b & 0x00ff00ff; int bh = (b >> 8) & 0x00ff00ff; - int frac = lod & 0xffff; + int frac = (lod >> 12) & 0xff; int cl = (al + (((bl - al) * frac) >> 8)) & 0x00ff00ff; int ch = (ah + (((bh - ah) * frac) >> 8)) & 0x00ff00ff; int c = al | (ah << 8); diff --git a/hw/rtl/VX_config.vh b/hw/rtl/VX_config.vh index 298ae63d..87d2cc94 100644 --- a/hw/rtl/VX_config.vh +++ b/hw/rtl/VX_config.vh @@ -295,7 +295,7 @@ // Size of cache in bytes `ifndef DCACHE_SIZE -`define DCACHE_SIZE 16384 +`define DCACHE_SIZE 65536 `endif // Number of banks