From b6375e76deec2a08069f48a1aa41e3a0a200b25e Mon Sep 17 00:00:00 2001 From: felsabbagh3 Date: Mon, 21 Oct 2019 21:24:49 -0400 Subject: [PATCH] Readded IPDOM stack + SPLIT/Join tested --- kernel/vortex_test.dump | 3254 ++++++++++++++++---------------- kernel/vortex_test.elf | Bin 15636 -> 15676 bytes kernel/vortex_test.hex | 800 ++++---- kernel/vx_os/vx_back/vx_back.s | 11 +- rtl/Makefile | 5 +- rtl/VX_decode.v | 20 +- rtl/VX_execute_unit.v | 22 +- rtl/VX_generic_stack.v | 7 +- rtl/VX_gpgpu_inst.v | 26 +- rtl/VX_gpr.v | 196 +- rtl/VX_scheduler.v | 2 +- rtl/VX_warp_scheduler.v | 8 +- rtl/results.txt | 8 +- rtl/simulate/tb_debug.h | 2 +- rtl/simulate/test_bench.h | 8 +- 15 files changed, 2204 insertions(+), 2165 deletions(-) diff --git a/kernel/vortex_test.dump b/kernel/vortex_test.dump index 0e7349cd..16589269 100644 --- a/kernel/vortex_test.dump +++ b/kernel/vortex_test.dump @@ -8,1700 +8,1710 @@ Disassembly of section .text: 80000000: 00400513 li a0,4 80000004: 0005006b 0x5006b 80000008: 020025f3 csrr a1,0x20 -8000000c: 02102673 csrr a2,0x21 -80000010: 00000073 ecall +8000000c: 0025a513 slti a0,a1,2 +80000010: 0005206b 0x5206b +80000014: 00050663 beqz a0,80000020 +80000018: 00500613 li a2,5 +8000001c: 0080006f j 80000024 -80000014 : -80000014: 00068b93 mv s7,a3 -80000018: 00070d13 mv s10,a4 -8000001c: 00010f13 mv t5,sp -80000020: 00050393 mv t2,a0 +80000020 : +80000020: 00700613 li a2,7 -80000024 : -80000024: 00100513 li a0,1 +80000024 : +80000024: 0000306b 0x306b +80000028: 00000073 ecall -80000028 : -80000028: 00755c63 bge a0,t2,80000040 +8000002c : +8000002c: 00068b93 mv s7,a3 +80000030: 00070d13 mv s10,a4 +80000034: 00010f13 mv t5,sp +80000038: 00050393 mv t2,a0 -8000002c : -8000002c: 80010113 addi sp,sp,-2048 -80000030: 00050313 mv t1,a0 -80000034: 0003506b 0x3506b +8000003c : +8000003c: 00100513 li a0,1 -80000038 : -80000038: 00150513 addi a0,a0,1 -8000003c: fedff06f j 80000028 +80000040 : +80000040: 00755c63 bge a0,t2,80000058 -80000040 : -80000040: 00000013 nop -80000044: 00000013 nop -80000048: 00000013 nop -8000004c: 00000013 nop -80000050: 00000013 nop -80000054: 00000013 nop -80000058: 000f0113 mv sp,t5 -8000005c: 00000513 li a0,0 -80000060: 00060f93 mv t6,a2 -80000064: 00038d93 mv s11,t2 +80000044 : +80000044: 80010113 addi sp,sp,-2048 +80000048: 00050313 mv t1,a0 +8000004c: 0003506b 0x3506b + +80000050 : +80000050: 00150513 addi a0,a0,1 +80000054: fedff06f j 80000040 + +80000058 : +80000058: 00000013 nop +8000005c: 00000013 nop +80000060: 00000013 nop +80000064: 00000013 nop 80000068: 00000013 nop 8000006c: 00000013 nop -80000070: 00000013 nop -80000074: 00000013 nop -80000078: 00000013 nop -8000007c: 00000013 nop +80000070: 000f0113 mv sp,t5 +80000074: 00000513 li a0,0 +80000078: 00060f93 mv t6,a2 +8000007c: 00038d93 mv s11,t2 80000080: 00000013 nop 80000084: 00000013 nop -80000088: 01bfe0eb 0x1bfe0eb +80000088: 00000013 nop 8000008c: 00000013 nop 80000090: 00000013 nop 80000094: 00000013 nop 80000098: 00000013 nop 8000009c: 00000013 nop -800000a0: 00000013 nop -800000a4: 00000517 auipc a0,0x0 -800000a8: 1b450513 addi a0,a0,436 # 80000258 -800000ac: 0005406b 0x5406b +800000a0: 01bfe0eb 0x1bfe0eb +800000a4: 00000013 nop +800000a8: 00000013 nop +800000ac: 00000013 nop +800000b0: 00000013 nop +800000b4: 00000013 nop +800000b8: 00000013 nop +800000bc: 00000517 auipc a0,0x0 +800000c0: 1b450513 addi a0,a0,436 # 80000270 +800000c4: 0005406b 0x5406b -800000b0 : -800000b0: 00000317 auipc t1,0x0 -800000b4: f6430313 addi t1,t1,-156 # 80000014 -800000b8: 0003006b 0x3006b -800000bc: 00008067 ret +800000c8 : +800000c8: 00000317 auipc t1,0x0 +800000cc: f6430313 addi t1,t1,-156 # 8000002c +800000d0: 0003006b 0x3006b +800000d4: 00008067 ret -800000c0 : -800000c0: 01000217 auipc tp,0x1000 -800000c4: 25020213 addi tp,tp,592 # 81000310 -800000c8: 00022023 sw zero,0(tp) # 0 -800000cc: 00122223 sw ra,4(tp) # 4 -800000d0: 00222423 sw sp,8(tp) # 8 -800000d4: 00322623 sw gp,12(tp) # c -800000d8: 00422823 sw tp,16(tp) # 10 -800000dc: 00522a23 sw t0,20(tp) # 14 -800000e0: 00622c23 sw t1,24(tp) # 18 -800000e4: 00722e23 sw t2,28(tp) # 1c -800000e8: 02822023 sw s0,32(tp) # 20 -800000ec: 02922223 sw s1,36(tp) # 24 -800000f0: 02a22423 sw a0,40(tp) # 28 -800000f4: 02b22623 sw a1,44(tp) # 2c -800000f8: 02c22823 sw a2,48(tp) # 30 -800000fc: 02d22a23 sw a3,52(tp) # 34 -80000100: 02e22c23 sw a4,56(tp) # 38 -80000104: 02f22e23 sw a5,60(tp) # 3c -80000108: 05022023 sw a6,64(tp) # 40 -8000010c: 05122223 sw a7,68(tp) # 44 -80000110: 05222423 sw s2,72(tp) # 48 -80000114: 05322623 sw s3,76(tp) # 4c -80000118: 05422823 sw s4,80(tp) # 50 -8000011c: 05522a23 sw s5,84(tp) # 54 -80000120: 05622c23 sw s6,88(tp) # 58 -80000124: 05722e23 sw s7,92(tp) # 5c -80000128: 07822023 sw s8,96(tp) # 60 -8000012c: 07922223 sw s9,100(tp) # 64 -80000130: 07a22423 sw s10,104(tp) # 68 -80000134: 07b22623 sw s11,108(tp) # 6c -80000138: 07c22823 sw t3,112(tp) # 70 -8000013c: 07d22a23 sw t4,116(tp) # 74 -80000140: 07e22c23 sw t5,120(tp) # 78 -80000144: 07f22e23 sw t6,124(tp) # 7c -80000148: 00100213 li tp,1 -8000014c: 00008067 ret +800000d8 : +800000d8: 01000217 auipc tp,0x1000 +800000dc: 23820213 addi tp,tp,568 # 81000310 +800000e0: 00022023 sw zero,0(tp) # 0 +800000e4: 00122223 sw ra,4(tp) # 4 +800000e8: 00222423 sw sp,8(tp) # 8 +800000ec: 00322623 sw gp,12(tp) # c +800000f0: 00422823 sw tp,16(tp) # 10 +800000f4: 00522a23 sw t0,20(tp) # 14 +800000f8: 00622c23 sw t1,24(tp) # 18 +800000fc: 00722e23 sw t2,28(tp) # 1c +80000100: 02822023 sw s0,32(tp) # 20 +80000104: 02922223 sw s1,36(tp) # 24 +80000108: 02a22423 sw a0,40(tp) # 28 +8000010c: 02b22623 sw a1,44(tp) # 2c +80000110: 02c22823 sw a2,48(tp) # 30 +80000114: 02d22a23 sw a3,52(tp) # 34 +80000118: 02e22c23 sw a4,56(tp) # 38 +8000011c: 02f22e23 sw a5,60(tp) # 3c +80000120: 05022023 sw a6,64(tp) # 40 +80000124: 05122223 sw a7,68(tp) # 44 +80000128: 05222423 sw s2,72(tp) # 48 +8000012c: 05322623 sw s3,76(tp) # 4c +80000130: 05422823 sw s4,80(tp) # 50 +80000134: 05522a23 sw s5,84(tp) # 54 +80000138: 05622c23 sw s6,88(tp) # 58 +8000013c: 05722e23 sw s7,92(tp) # 5c +80000140: 07822023 sw s8,96(tp) # 60 +80000144: 07922223 sw s9,100(tp) # 64 +80000148: 07a22423 sw s10,104(tp) # 68 +8000014c: 07b22623 sw s11,108(tp) # 6c +80000150: 07c22823 sw t3,112(tp) # 70 +80000154: 07d22a23 sw t4,116(tp) # 74 +80000158: 07e22c23 sw t5,120(tp) # 78 +8000015c: 07f22e23 sw t6,124(tp) # 7c +80000160: 00100213 li tp,1 +80000164: 00008067 ret -80000150 : -80000150: 01000217 auipc tp,0x1000 -80000154: 1c020213 addi tp,tp,448 # 81000310 -80000158: 00022003 lw zero,0(tp) # 0 -8000015c: 00422083 lw ra,4(tp) # 4 -80000160: 00822103 lw sp,8(tp) # 8 -80000164: 00c22183 lw gp,12(tp) # c -80000168: 01022203 lw tp,16(tp) # 10 -8000016c: 01422283 lw t0,20(tp) # 14 -80000170: 01822303 lw t1,24(tp) # 18 -80000174: 01c22383 lw t2,28(tp) # 1c -80000178: 02022403 lw s0,32(tp) # 20 -8000017c: 02422483 lw s1,36(tp) # 24 -80000180: 02822503 lw a0,40(tp) # 28 -80000184: 02c22583 lw a1,44(tp) # 2c -80000188: 03022603 lw a2,48(tp) # 30 -8000018c: 03422683 lw a3,52(tp) # 34 -80000190: 03822703 lw a4,56(tp) # 38 -80000194: 03c22783 lw a5,60(tp) # 3c -80000198: 04022803 lw a6,64(tp) # 40 -8000019c: 04422883 lw a7,68(tp) # 44 -800001a0: 04822903 lw s2,72(tp) # 48 -800001a4: 04c22983 lw s3,76(tp) # 4c -800001a8: 05022a03 lw s4,80(tp) # 50 -800001ac: 05422a83 lw s5,84(tp) # 54 -800001b0: 05822b03 lw s6,88(tp) # 58 -800001b4: 05c22b83 lw s7,92(tp) # 5c -800001b8: 06022c03 lw s8,96(tp) # 60 -800001bc: 06422c83 lw s9,100(tp) # 64 -800001c0: 06822d03 lw s10,104(tp) # 68 -800001c4: 06c22d83 lw s11,108(tp) # 6c -800001c8: 07022e03 lw t3,112(tp) # 70 -800001cc: 07422e83 lw t4,116(tp) # 74 -800001d0: 07822f03 lw t5,120(tp) # 78 -800001d4: 07c22f83 lw t6,124(tp) # 7c -800001d8: 00000213 li tp,0 -800001dc: 00008067 ret +80000168 : +80000168: 01000217 auipc tp,0x1000 +8000016c: 1a820213 addi tp,tp,424 # 81000310 +80000170: 00022003 lw zero,0(tp) # 0 +80000174: 00422083 lw ra,4(tp) # 4 +80000178: 00822103 lw sp,8(tp) # 8 +8000017c: 00c22183 lw gp,12(tp) # c +80000180: 01022203 lw tp,16(tp) # 10 +80000184: 01422283 lw t0,20(tp) # 14 +80000188: 01822303 lw t1,24(tp) # 18 +8000018c: 01c22383 lw t2,28(tp) # 1c +80000190: 02022403 lw s0,32(tp) # 20 +80000194: 02422483 lw s1,36(tp) # 24 +80000198: 02822503 lw a0,40(tp) # 28 +8000019c: 02c22583 lw a1,44(tp) # 2c +800001a0: 03022603 lw a2,48(tp) # 30 +800001a4: 03422683 lw a3,52(tp) # 34 +800001a8: 03822703 lw a4,56(tp) # 38 +800001ac: 03c22783 lw a5,60(tp) # 3c +800001b0: 04022803 lw a6,64(tp) # 40 +800001b4: 04422883 lw a7,68(tp) # 44 +800001b8: 04822903 lw s2,72(tp) # 48 +800001bc: 04c22983 lw s3,76(tp) # 4c +800001c0: 05022a03 lw s4,80(tp) # 50 +800001c4: 05422a83 lw s5,84(tp) # 54 +800001c8: 05822b03 lw s6,88(tp) # 58 +800001cc: 05c22b83 lw s7,92(tp) # 5c +800001d0: 06022c03 lw s8,96(tp) # 60 +800001d4: 06422c83 lw s9,100(tp) # 64 +800001d8: 06822d03 lw s10,104(tp) # 68 +800001dc: 06c22d83 lw s11,108(tp) # 6c +800001e0: 07022e03 lw t3,112(tp) # 70 +800001e4: 07422e83 lw t4,116(tp) # 74 +800001e8: 07822f03 lw t5,120(tp) # 78 +800001ec: 07c22f83 lw t6,124(tp) # 7c +800001f0: 00000213 li tp,0 +800001f4: 00008067 ret -800001e0 : -800001e0: 02002573 csrr a0,0x20 -800001e4: 00008067 ret +800001f8 : +800001f8: 02002573 csrr a0,0x20 +800001fc: 00008067 ret -800001e8 : -800001e8: 02102573 csrr a0,0x21 -800001ec: 00008067 ret +80000200 : +80000200: 02102573 csrr a0,0x21 +80000204: 00008067 ret -800001f0 : -800001f0: fe010113 addi sp,sp,-32 -800001f4: 00112e23 sw ra,28(sp) -800001f8: 00812c23 sw s0,24(sp) -800001fc: 02010413 addi s0,sp,32 -80000200: fe042623 sw zero,-20(s0) -80000204: 0340006f j 80000238 -80000208: fec42703 lw a4,-20(s0) -8000020c: 000017b7 lui a5,0x1 -80000210: 97478793 addi a5,a5,-1676 # 974 -80000214: 02f70733 mul a4,a4,a5 -80000218: 810007b7 lui a5,0x81000 -8000021c: 41078793 addi a5,a5,1040 # 81000410 -80000220: 00f707b3 add a5,a4,a5 -80000224: 00078513 mv a0,a5 -80000228: 440000ef jal ra,80000668 -8000022c: fec42783 lw a5,-20(s0) -80000230: 00178793 addi a5,a5,1 -80000234: fef42623 sw a5,-20(s0) -80000238: fec42703 lw a4,-20(s0) -8000023c: 01f00793 li a5,31 -80000240: fce7d4e3 bge a5,a4,80000208 -80000244: 00000013 nop -80000248: 01c12083 lw ra,28(sp) -8000024c: 01812403 lw s0,24(sp) -80000250: 02010113 addi sp,sp,32 -80000254: 00008067 ret +80000208 : +80000208: fe010113 addi sp,sp,-32 +8000020c: 00112e23 sw ra,28(sp) +80000210: 00812c23 sw s0,24(sp) +80000214: 02010413 addi s0,sp,32 +80000218: fe042623 sw zero,-20(s0) +8000021c: 0340006f j 80000250 +80000220: fec42703 lw a4,-20(s0) +80000224: 000017b7 lui a5,0x1 +80000228: 97478793 addi a5,a5,-1676 # 974 +8000022c: 02f70733 mul a4,a4,a5 +80000230: 810007b7 lui a5,0x81000 +80000234: 41078793 addi a5,a5,1040 # 81000410 +80000238: 00f707b3 add a5,a4,a5 +8000023c: 00078513 mv a0,a5 +80000240: 440000ef jal ra,80000680 +80000244: fec42783 lw a5,-20(s0) +80000248: 00178793 addi a5,a5,1 +8000024c: fef42623 sw a5,-20(s0) +80000250: fec42703 lw a4,-20(s0) +80000254: 01f00793 li a5,31 +80000258: fce7d4e3 bge a5,a4,80000220 +8000025c: 00000013 nop +80000260: 01c12083 lw ra,28(sp) +80000264: 01812403 lw s0,24(sp) +80000268: 02010113 addi sp,sp,32 +8000026c: 00008067 ret -80000258 : -80000258: fd010113 addi sp,sp,-48 -8000025c: 02112623 sw ra,44(sp) -80000260: 02812423 sw s0,40(sp) -80000264: 03a12223 sw s10,36(sp) -80000268: 03010413 addi s0,sp,48 -8000026c: 00000013 nop -80000270: 000d0713 mv a4,s10 -80000274: 000017b7 lui a5,0x1 -80000278: 97478793 addi a5,a5,-1676 # 974 -8000027c: 02f70733 mul a4,a4,a5 -80000280: 810007b7 lui a5,0x81000 -80000284: 41078793 addi a5,a5,1040 # 81000410 -80000288: 00f707b3 add a5,a4,a5 -8000028c: 00078513 mv a0,a5 -80000290: 504000ef jal ra,80000794 -80000294: 00050793 mv a5,a0 -80000298: 02078a63 beqz a5,800002cc -8000029c: 000d0713 mv a4,s10 -800002a0: 810007b7 lui a5,0x81000 -800002a4: 00271713 slli a4,a4,0x2 -800002a8: 26878793 addi a5,a5,616 # 81000268 -800002ac: 00f707b3 add a5,a4,a5 -800002b0: 00100713 li a4,1 -800002b4: 00e7a023 sw a4,0(a5) -800002b8: 000d0793 mv a5,s10 -800002bc: 00079663 bnez a5,800002c8 -800002c0: e91ff0ef jal ra,80000150 -800002c4: 05c0006f j 80000320 -800002c8: 00000073 ecall -800002cc: 000d0713 mv a4,s10 -800002d0: 000017b7 lui a5,0x1 -800002d4: 97478793 addi a5,a5,-1676 # 974 -800002d8: 02f70733 mul a4,a4,a5 -800002dc: 810007b7 lui a5,0x81000 -800002e0: 41078793 addi a5,a5,1040 # 81000410 -800002e4: 00f707b3 add a5,a4,a5 -800002e8: fd840713 addi a4,s0,-40 -800002ec: 00070593 mv a1,a4 -800002f0: 00078513 mv a0,a5 -800002f4: 400000ef jal ra,800006f4 -800002f8: fe042783 lw a5,-32(s0) -800002fc: 00078113 mv sp,a5 -80000300: fdc42783 lw a5,-36(s0) -80000304: fd842583 lw a1,-40(s0) -80000308: fe442603 lw a2,-28(s0) -8000030c: fe842683 lw a3,-24(s0) -80000310: fec42703 lw a4,-20(s0) -80000314: 00078513 mv a0,a5 -80000318: cfdff0ef jal ra,80000014 -8000031c: 00000073 ecall -80000320: 02c12083 lw ra,44(sp) -80000324: 02812403 lw s0,40(sp) -80000328: 02412d03 lw s10,36(sp) -8000032c: 03010113 addi sp,sp,48 -80000330: 00008067 ret +80000270 : +80000270: fd010113 addi sp,sp,-48 +80000274: 02112623 sw ra,44(sp) +80000278: 02812423 sw s0,40(sp) +8000027c: 03a12223 sw s10,36(sp) +80000280: 03010413 addi s0,sp,48 +80000284: 00000013 nop +80000288: 000d0713 mv a4,s10 +8000028c: 000017b7 lui a5,0x1 +80000290: 97478793 addi a5,a5,-1676 # 974 +80000294: 02f70733 mul a4,a4,a5 +80000298: 810007b7 lui a5,0x81000 +8000029c: 41078793 addi a5,a5,1040 # 81000410 +800002a0: 00f707b3 add a5,a4,a5 +800002a4: 00078513 mv a0,a5 +800002a8: 504000ef jal ra,800007ac +800002ac: 00050793 mv a5,a0 +800002b0: 02078a63 beqz a5,800002e4 +800002b4: 000d0713 mv a4,s10 +800002b8: 810007b7 lui a5,0x81000 +800002bc: 00271713 slli a4,a4,0x2 +800002c0: 26878793 addi a5,a5,616 # 81000268 +800002c4: 00f707b3 add a5,a4,a5 +800002c8: 00100713 li a4,1 +800002cc: 00e7a023 sw a4,0(a5) +800002d0: 000d0793 mv a5,s10 +800002d4: 00079663 bnez a5,800002e0 +800002d8: e91ff0ef jal ra,80000168 +800002dc: 05c0006f j 80000338 +800002e0: 00000073 ecall +800002e4: 000d0713 mv a4,s10 +800002e8: 000017b7 lui a5,0x1 +800002ec: 97478793 addi a5,a5,-1676 # 974 +800002f0: 02f70733 mul a4,a4,a5 +800002f4: 810007b7 lui a5,0x81000 +800002f8: 41078793 addi a5,a5,1040 # 81000410 +800002fc: 00f707b3 add a5,a4,a5 +80000300: fd840713 addi a4,s0,-40 +80000304: 00070593 mv a1,a4 +80000308: 00078513 mv a0,a5 +8000030c: 400000ef jal ra,8000070c +80000310: fe042783 lw a5,-32(s0) +80000314: 00078113 mv sp,a5 +80000318: fdc42783 lw a5,-36(s0) +8000031c: fd842583 lw a1,-40(s0) +80000320: fe442603 lw a2,-28(s0) +80000324: fe842683 lw a3,-24(s0) +80000328: fec42703 lw a4,-20(s0) +8000032c: 00078513 mv a0,a5 +80000330: cfdff0ef jal ra,8000002c +80000334: 00000073 ecall +80000338: 02c12083 lw ra,44(sp) +8000033c: 02812403 lw s0,40(sp) +80000340: 02412d03 lw s10,36(sp) +80000344: 03010113 addi sp,sp,48 +80000348: 00008067 ret -80000334 : -80000334: fb010113 addi sp,sp,-80 -80000338: 04112623 sw ra,76(sp) -8000033c: 04812423 sw s0,72(sp) -80000340: 05010413 addi s0,sp,80 -80000344: e9dff0ef jal ra,800001e0 -80000348: fea42423 sw a0,-24(s0) -8000034c: 00010993 mv s3,sp -80000350: 00100793 li a5,1 -80000354: fef42623 sw a5,-20(s0) -80000358: 08c0006f j 800003e4 -8000035c: fec42703 lw a4,-20(s0) -80000360: 000017b7 lui a5,0x1 -80000364: 97478793 addi a5,a5,-1676 # 974 -80000368: 02f70733 mul a4,a4,a5 -8000036c: 810007b7 lui a5,0x81000 -80000370: 41078793 addi a5,a5,1040 # 81000410 -80000374: 00f707b3 add a5,a4,a5 -80000378: 00078513 mv a0,a5 -8000037c: 418000ef jal ra,80000794 -80000380: 00050793 mv a5,a0 -80000384: 04079a63 bnez a5,800003d8 -80000388: fec42703 lw a4,-20(s0) -8000038c: 000017b7 lui a5,0x1 -80000390: 97478793 addi a5,a5,-1676 # 974 -80000394: 02f70733 mul a4,a4,a5 -80000398: 810007b7 lui a5,0x81000 -8000039c: 41078793 addi a5,a5,1040 # 81000410 -800003a0: 00f707b3 add a5,a4,a5 -800003a4: fd040713 addi a4,s0,-48 -800003a8: 00070593 mv a1,a4 -800003ac: 00078513 mv a0,a5 -800003b0: 344000ef jal ra,800006f4 -800003b4: fd842783 lw a5,-40(s0) -800003b8: 00078113 mv sp,a5 -800003bc: fd442783 lw a5,-44(s0) -800003c0: fd042583 lw a1,-48(s0) -800003c4: fdc42603 lw a2,-36(s0) -800003c8: fe042683 lw a3,-32(s0) -800003cc: fe442703 lw a4,-28(s0) -800003d0: 00078513 mv a0,a5 -800003d4: cddff0ef jal ra,800000b0 -800003d8: fec42783 lw a5,-20(s0) -800003dc: 00178793 addi a5,a5,1 -800003e0: fef42623 sw a5,-20(s0) -800003e4: fec42783 lw a5,-20(s0) -800003e8: fe842703 lw a4,-24(s0) -800003ec: f6e7e8e3 bltu a5,a4,8000035c -800003f0: 00098113 mv sp,s3 -800003f4: ccdff0ef jal ra,800000c0 -800003f8: 00020793 mv a5,tp -800003fc: 04078863 beqz a5,8000044c -80000400: 810007b7 lui a5,0x81000 -80000404: 41078513 addi a0,a5,1040 # 81000410 -80000408: 38c000ef jal ra,80000794 -8000040c: 00050793 mv a5,a0 -80000410: 02079e63 bnez a5,8000044c -80000414: fb840793 addi a5,s0,-72 -80000418: 00078593 mv a1,a5 -8000041c: 810007b7 lui a5,0x81000 -80000420: 41078513 addi a0,a5,1040 # 81000410 -80000424: 2d0000ef jal ra,800006f4 -80000428: fc042783 lw a5,-64(s0) -8000042c: 00078113 mv sp,a5 -80000430: fbc42783 lw a5,-68(s0) -80000434: fb842583 lw a1,-72(s0) -80000438: fc442603 lw a2,-60(s0) -8000043c: fc842683 lw a3,-56(s0) -80000440: fcc42703 lw a4,-52(s0) -80000444: 00078513 mv a0,a5 -80000448: bcdff0ef jal ra,80000014 -8000044c: 00000013 nop -80000450: 04c12083 lw ra,76(sp) -80000454: 04812403 lw s0,72(sp) -80000458: 05010113 addi sp,sp,80 -8000045c: 00008067 ret +8000034c : +8000034c: fb010113 addi sp,sp,-80 +80000350: 04112623 sw ra,76(sp) +80000354: 04812423 sw s0,72(sp) +80000358: 05010413 addi s0,sp,80 +8000035c: e9dff0ef jal ra,800001f8 +80000360: fea42423 sw a0,-24(s0) +80000364: 00010993 mv s3,sp +80000368: 00100793 li a5,1 +8000036c: fef42623 sw a5,-20(s0) +80000370: 08c0006f j 800003fc +80000374: fec42703 lw a4,-20(s0) +80000378: 000017b7 lui a5,0x1 +8000037c: 97478793 addi a5,a5,-1676 # 974 +80000380: 02f70733 mul a4,a4,a5 +80000384: 810007b7 lui a5,0x81000 +80000388: 41078793 addi a5,a5,1040 # 81000410 +8000038c: 00f707b3 add a5,a4,a5 +80000390: 00078513 mv a0,a5 +80000394: 418000ef jal ra,800007ac +80000398: 00050793 mv a5,a0 +8000039c: 04079a63 bnez a5,800003f0 +800003a0: fec42703 lw a4,-20(s0) +800003a4: 000017b7 lui a5,0x1 +800003a8: 97478793 addi a5,a5,-1676 # 974 +800003ac: 02f70733 mul a4,a4,a5 +800003b0: 810007b7 lui a5,0x81000 +800003b4: 41078793 addi a5,a5,1040 # 81000410 +800003b8: 00f707b3 add a5,a4,a5 +800003bc: fd040713 addi a4,s0,-48 +800003c0: 00070593 mv a1,a4 +800003c4: 00078513 mv a0,a5 +800003c8: 344000ef jal ra,8000070c +800003cc: fd842783 lw a5,-40(s0) +800003d0: 00078113 mv sp,a5 +800003d4: fd442783 lw a5,-44(s0) +800003d8: fd042583 lw a1,-48(s0) +800003dc: fdc42603 lw a2,-36(s0) +800003e0: fe042683 lw a3,-32(s0) +800003e4: fe442703 lw a4,-28(s0) +800003e8: 00078513 mv a0,a5 +800003ec: cddff0ef jal ra,800000c8 +800003f0: fec42783 lw a5,-20(s0) +800003f4: 00178793 addi a5,a5,1 +800003f8: fef42623 sw a5,-20(s0) +800003fc: fec42783 lw a5,-20(s0) +80000400: fe842703 lw a4,-24(s0) +80000404: f6e7e8e3 bltu a5,a4,80000374 +80000408: 00098113 mv sp,s3 +8000040c: ccdff0ef jal ra,800000d8 +80000410: 00020793 mv a5,tp +80000414: 04078863 beqz a5,80000464 +80000418: 810007b7 lui a5,0x81000 +8000041c: 41078513 addi a0,a5,1040 # 81000410 +80000420: 38c000ef jal ra,800007ac +80000424: 00050793 mv a5,a0 +80000428: 02079e63 bnez a5,80000464 +8000042c: fb840793 addi a5,s0,-72 +80000430: 00078593 mv a1,a5 +80000434: 810007b7 lui a5,0x81000 +80000438: 41078513 addi a0,a5,1040 # 81000410 +8000043c: 2d0000ef jal ra,8000070c +80000440: fc042783 lw a5,-64(s0) +80000444: 00078113 mv sp,a5 +80000448: fbc42783 lw a5,-68(s0) +8000044c: fb842583 lw a1,-72(s0) +80000450: fc442603 lw a2,-60(s0) +80000454: fc842683 lw a3,-56(s0) +80000458: fcc42703 lw a4,-52(s0) +8000045c: 00078513 mv a0,a5 +80000460: bcdff0ef jal ra,8000002c +80000464: 00000013 nop +80000468: 04c12083 lw ra,76(sp) +8000046c: 04812403 lw s0,72(sp) +80000470: 05010113 addi sp,sp,80 +80000474: 00008067 ret -80000460 : -80000460: fb010113 addi sp,sp,-80 -80000464: 04112623 sw ra,76(sp) -80000468: 04812423 sw s0,72(sp) -8000046c: 05010413 addi s0,sp,80 -80000470: faa42e23 sw a0,-68(s0) -80000474: fab42c23 sw a1,-72(s0) -80000478: fac42a23 sw a2,-76(s0) -8000047c: fad42823 sw a3,-80(s0) -80000480: d71ff0ef jal ra,800001f0 -80000484: d5dff0ef jal ra,800001e0 -80000488: fea42223 sw a0,-28(s0) -8000048c: 00010913 mv s2,sp -80000490: fe042623 sw zero,-20(s0) -80000494: fe042423 sw zero,-24(s0) -80000498: 0900006f j 80000528 -8000049c: ffff09b7 lui s3,0xffff0 -800004a0: 01310133 add sp,sp,s3 -800004a4: fe842783 lw a5,-24(s0) -800004a8: fcf42623 sw a5,-52(s0) -800004ac: fb842783 lw a5,-72(s0) -800004b0: fcf42823 sw a5,-48(s0) -800004b4: 00010793 mv a5,sp -800004b8: fcf42a23 sw a5,-44(s0) -800004bc: fb442783 lw a5,-76(s0) -800004c0: fcf42c23 sw a5,-40(s0) -800004c4: fb042783 lw a5,-80(s0) -800004c8: fcf42e23 sw a5,-36(s0) -800004cc: fec42783 lw a5,-20(s0) -800004d0: fef42023 sw a5,-32(s0) -800004d4: fec42703 lw a4,-20(s0) -800004d8: 000017b7 lui a5,0x1 -800004dc: 97478793 addi a5,a5,-1676 # 974 -800004e0: 02f70733 mul a4,a4,a5 -800004e4: 810007b7 lui a5,0x81000 -800004e8: 41078793 addi a5,a5,1040 # 81000410 -800004ec: 00f707b3 add a5,a4,a5 -800004f0: fcc40713 addi a4,s0,-52 -800004f4: 00070593 mv a1,a4 -800004f8: 00078513 mv a0,a5 -800004fc: 190000ef jal ra,8000068c -80000500: fec42783 lw a5,-20(s0) -80000504: 00178793 addi a5,a5,1 -80000508: fef42623 sw a5,-20(s0) -8000050c: fec42783 lw a5,-20(s0) -80000510: fe442703 lw a4,-28(s0) -80000514: 00e7e463 bltu a5,a4,8000051c -80000518: fe042623 sw zero,-20(s0) -8000051c: fe842783 lw a5,-24(s0) -80000520: 00178793 addi a5,a5,1 -80000524: fef42423 sw a5,-24(s0) -80000528: fe842703 lw a4,-24(s0) -8000052c: fbc42783 lw a5,-68(s0) -80000530: f6f766e3 bltu a4,a5,8000049c -80000534: 00090113 mv sp,s2 -80000538: dfdff0ef jal ra,80000334 -8000053c: 00000013 nop -80000540: 04c12083 lw ra,76(sp) -80000544: 04812403 lw s0,72(sp) -80000548: 05010113 addi sp,sp,80 -8000054c: 00008067 ret +80000478 : +80000478: fb010113 addi sp,sp,-80 +8000047c: 04112623 sw ra,76(sp) +80000480: 04812423 sw s0,72(sp) +80000484: 05010413 addi s0,sp,80 +80000488: faa42e23 sw a0,-68(s0) +8000048c: fab42c23 sw a1,-72(s0) +80000490: fac42a23 sw a2,-76(s0) +80000494: fad42823 sw a3,-80(s0) +80000498: d71ff0ef jal ra,80000208 +8000049c: d5dff0ef jal ra,800001f8 +800004a0: fea42223 sw a0,-28(s0) +800004a4: 00010913 mv s2,sp +800004a8: fe042623 sw zero,-20(s0) +800004ac: fe042423 sw zero,-24(s0) +800004b0: 0900006f j 80000540 +800004b4: ffff09b7 lui s3,0xffff0 +800004b8: 01310133 add sp,sp,s3 +800004bc: fe842783 lw a5,-24(s0) +800004c0: fcf42623 sw a5,-52(s0) +800004c4: fb842783 lw a5,-72(s0) +800004c8: fcf42823 sw a5,-48(s0) +800004cc: 00010793 mv a5,sp +800004d0: fcf42a23 sw a5,-44(s0) +800004d4: fb442783 lw a5,-76(s0) +800004d8: fcf42c23 sw a5,-40(s0) +800004dc: fb042783 lw a5,-80(s0) +800004e0: fcf42e23 sw a5,-36(s0) +800004e4: fec42783 lw a5,-20(s0) +800004e8: fef42023 sw a5,-32(s0) +800004ec: fec42703 lw a4,-20(s0) +800004f0: 000017b7 lui a5,0x1 +800004f4: 97478793 addi a5,a5,-1676 # 974 +800004f8: 02f70733 mul a4,a4,a5 +800004fc: 810007b7 lui a5,0x81000 +80000500: 41078793 addi a5,a5,1040 # 81000410 +80000504: 00f707b3 add a5,a4,a5 +80000508: fcc40713 addi a4,s0,-52 +8000050c: 00070593 mv a1,a4 +80000510: 00078513 mv a0,a5 +80000514: 190000ef jal ra,800006a4 +80000518: fec42783 lw a5,-20(s0) +8000051c: 00178793 addi a5,a5,1 +80000520: fef42623 sw a5,-20(s0) +80000524: fec42783 lw a5,-20(s0) +80000528: fe442703 lw a4,-28(s0) +8000052c: 00e7e463 bltu a5,a4,80000534 +80000530: fe042623 sw zero,-20(s0) +80000534: fe842783 lw a5,-24(s0) +80000538: 00178793 addi a5,a5,1 +8000053c: fef42423 sw a5,-24(s0) +80000540: fe842703 lw a4,-24(s0) +80000544: fbc42783 lw a5,-68(s0) +80000548: f6f766e3 bltu a4,a5,800004b4 +8000054c: 00090113 mv sp,s2 +80000550: dfdff0ef jal ra,8000034c +80000554: 00000013 nop +80000558: 04c12083 lw ra,76(sp) +8000055c: 04812403 lw s0,72(sp) +80000560: 05010113 addi sp,sp,80 +80000564: 00008067 ret -80000550 : -80000550: fd010113 addi sp,sp,-48 -80000554: 02112623 sw ra,44(sp) -80000558: 02812423 sw s0,40(sp) -8000055c: 03010413 addi s0,sp,48 -80000560: fca42e23 sw a0,-36(s0) -80000564: fdc42583 lw a1,-36(s0) -80000568: 810007b7 lui a5,0x81000 -8000056c: 04078513 addi a0,a5,64 # 81000040 -80000570: 354000ef jal ra,800008c4 -80000574: c6dff0ef jal ra,800001e0 -80000578: fea42023 sw a0,-32(s0) -8000057c: fe042623 sw zero,-20(s0) -80000580: 0680006f j 800005e8 -80000584: 00100793 li a5,1 -80000588: fef42623 sw a5,-20(s0) -8000058c: fe042423 sw zero,-24(s0) -80000590: 03c0006f j 800005cc -80000594: 810007b7 lui a5,0x81000 -80000598: fe842703 lw a4,-24(s0) -8000059c: 00271713 slli a4,a4,0x2 -800005a0: 26878793 addi a5,a5,616 # 81000268 -800005a4: 00f707b3 add a5,a4,a5 -800005a8: 0007a703 lw a4,0(a5) -800005ac: 00100793 li a5,1 -800005b0: 00f71863 bne a4,a5,800005c0 -800005b4: fec42783 lw a5,-20(s0) -800005b8: 00178793 addi a5,a5,1 -800005bc: fef42623 sw a5,-20(s0) -800005c0: fe842783 lw a5,-24(s0) -800005c4: 00178793 addi a5,a5,1 -800005c8: fef42423 sw a5,-24(s0) -800005cc: fe842703 lw a4,-24(s0) -800005d0: 01f00793 li a5,31 -800005d4: fce7d0e3 bge a5,a4,80000594 -800005d8: fec42583 lw a1,-20(s0) -800005dc: 810007b7 lui a5,0x81000 -800005e0: 04c78513 addi a0,a5,76 # 8100004c -800005e4: 2e0000ef jal ra,800008c4 -800005e8: fec42703 lw a4,-20(s0) -800005ec: fdc42783 lw a5,-36(s0) -800005f0: f8f76ae3 bltu a4,a5,80000584 -800005f4: fe042223 sw zero,-28(s0) -800005f8: 0280006f j 80000620 -800005fc: 810007b7 lui a5,0x81000 -80000600: fe442703 lw a4,-28(s0) -80000604: 00271713 slli a4,a4,0x2 -80000608: 26878793 addi a5,a5,616 # 81000268 -8000060c: 00f707b3 add a5,a4,a5 -80000610: 0007a023 sw zero,0(a5) -80000614: fe442783 lw a5,-28(s0) -80000618: 00178793 addi a5,a5,1 -8000061c: fef42223 sw a5,-28(s0) -80000620: fe442783 lw a5,-28(s0) -80000624: fe042703 lw a4,-32(s0) -80000628: fce7eae3 bltu a5,a4,800005fc -8000062c: 00000013 nop -80000630: 02c12083 lw ra,44(sp) -80000634: 02812403 lw s0,40(sp) -80000638: 03010113 addi sp,sp,48 -8000063c: 00008067 ret +80000568 : +80000568: fd010113 addi sp,sp,-48 +8000056c: 02112623 sw ra,44(sp) +80000570: 02812423 sw s0,40(sp) +80000574: 03010413 addi s0,sp,48 +80000578: fca42e23 sw a0,-36(s0) +8000057c: fdc42583 lw a1,-36(s0) +80000580: 810007b7 lui a5,0x81000 +80000584: 04078513 addi a0,a5,64 # 81000040 +80000588: 354000ef jal ra,800008dc +8000058c: c6dff0ef jal ra,800001f8 +80000590: fea42023 sw a0,-32(s0) +80000594: fe042623 sw zero,-20(s0) +80000598: 0680006f j 80000600 +8000059c: 00100793 li a5,1 +800005a0: fef42623 sw a5,-20(s0) +800005a4: fe042423 sw zero,-24(s0) +800005a8: 03c0006f j 800005e4 +800005ac: 810007b7 lui a5,0x81000 +800005b0: fe842703 lw a4,-24(s0) +800005b4: 00271713 slli a4,a4,0x2 +800005b8: 26878793 addi a5,a5,616 # 81000268 +800005bc: 00f707b3 add a5,a4,a5 +800005c0: 0007a703 lw a4,0(a5) +800005c4: 00100793 li a5,1 +800005c8: 00f71863 bne a4,a5,800005d8 +800005cc: fec42783 lw a5,-20(s0) +800005d0: 00178793 addi a5,a5,1 +800005d4: fef42623 sw a5,-20(s0) +800005d8: fe842783 lw a5,-24(s0) +800005dc: 00178793 addi a5,a5,1 +800005e0: fef42423 sw a5,-24(s0) +800005e4: fe842703 lw a4,-24(s0) +800005e8: 01f00793 li a5,31 +800005ec: fce7d0e3 bge a5,a4,800005ac +800005f0: fec42583 lw a1,-20(s0) +800005f4: 810007b7 lui a5,0x81000 +800005f8: 04c78513 addi a0,a5,76 # 8100004c +800005fc: 2e0000ef jal ra,800008dc +80000600: fec42703 lw a4,-20(s0) +80000604: fdc42783 lw a5,-36(s0) +80000608: f8f76ae3 bltu a4,a5,8000059c +8000060c: fe042223 sw zero,-28(s0) +80000610: 0280006f j 80000638 +80000614: 810007b7 lui a5,0x81000 +80000618: fe442703 lw a4,-28(s0) +8000061c: 00271713 slli a4,a4,0x2 +80000620: 26878793 addi a5,a5,616 # 81000268 +80000624: 00f707b3 add a5,a4,a5 +80000628: 0007a023 sw zero,0(a5) +8000062c: fe442783 lw a5,-28(s0) +80000630: 00178793 addi a5,a5,1 +80000634: fef42223 sw a5,-28(s0) +80000638: fe442783 lw a5,-28(s0) +8000063c: fe042703 lw a4,-32(s0) +80000640: fce7eae3 bltu a5,a4,80000614 +80000644: 00000013 nop +80000648: 02c12083 lw ra,44(sp) +8000064c: 02812403 lw s0,40(sp) +80000650: 03010113 addi sp,sp,48 +80000654: 00008067 ret -80000640 : -80000640: ff010113 addi sp,sp,-16 -80000644: 00812623 sw s0,12(sp) -80000648: 01712423 sw s7,8(sp) -8000064c: 01010413 addi s0,sp,16 -80000650: 000b8793 mv a5,s7 -80000654: 00078513 mv a0,a5 -80000658: 00c12403 lw s0,12(sp) -8000065c: 00812b83 lw s7,8(sp) -80000660: 01010113 addi sp,sp,16 -80000664: 00008067 ret +80000658 : +80000658: ff010113 addi sp,sp,-16 +8000065c: 00812623 sw s0,12(sp) +80000660: 01712423 sw s7,8(sp) +80000664: 01010413 addi s0,sp,16 +80000668: 000b8793 mv a5,s7 +8000066c: 00078513 mv a0,a5 +80000670: 00c12403 lw s0,12(sp) +80000674: 00812b83 lw s7,8(sp) +80000678: 01010113 addi sp,sp,16 +8000067c: 00008067 ret -80000668 : -80000668: 00050293 mv t0,a0 -8000066c: 00000313 li t1,0 -80000670: 00700393 li t2,7 -80000674: 0062a023 sw t1,0(t0) -80000678: 0062a223 sw t1,4(t0) -8000067c: 0062a423 sw t1,8(t0) -80000680: 0072a623 sw t2,12(t0) -80000684: 0062a823 sw t1,16(t0) -80000688: 00008067 ret +80000680 : +80000680: 00050293 mv t0,a0 +80000684: 00000313 li t1,0 +80000688: 00700393 li t2,7 +8000068c: 0062a023 sw t1,0(t0) +80000690: 0062a223 sw t1,4(t0) +80000694: 0062a423 sw t1,8(t0) +80000698: 0072a623 sw t2,12(t0) +8000069c: 0062a823 sw t1,16(t0) +800006a0: 00008067 ret -8000068c : -8000068c: 00050293 mv t0,a0 -80000690: 0082a303 lw t1,8(t0) -80000694: 00130313 addi t1,t1,1 -80000698: 0062a423 sw t1,8(t0) -8000069c: 01428313 addi t1,t0,20 -800006a0: 0042ae83 lw t4,4(t0) -800006a4: 005e9393 slli t2,t4,0x5 -800006a8: 00730333 add t1,t1,t2 -800006ac: 0005ae03 lw t3,0(a1) -800006b0: 01c32023 sw t3,0(t1) -800006b4: 0045ae03 lw t3,4(a1) -800006b8: 01c32223 sw t3,4(t1) -800006bc: 0085ae03 lw t3,8(a1) -800006c0: 01c32423 sw t3,8(t1) -800006c4: 00c5ae03 lw t3,12(a1) -800006c8: 01c32623 sw t3,12(t1) -800006cc: 0105ae03 lw t3,16(a1) -800006d0: 01c32823 sw t3,16(t1) -800006d4: 0145ae03 lw t3,20(a1) -800006d8: 01c32a23 sw t3,20(t1) -800006dc: 001e8e93 addi t4,t4,1 -800006e0: 03200f13 li t5,50 -800006e4: 01ee9463 bne t4,t5,800006ec -800006e8: 00000e93 li t4,0 +800006a4 : +800006a4: 00050293 mv t0,a0 +800006a8: 0082a303 lw t1,8(t0) +800006ac: 00130313 addi t1,t1,1 +800006b0: 0062a423 sw t1,8(t0) +800006b4: 01428313 addi t1,t0,20 +800006b8: 0042ae83 lw t4,4(t0) +800006bc: 005e9393 slli t2,t4,0x5 +800006c0: 00730333 add t1,t1,t2 +800006c4: 0005ae03 lw t3,0(a1) +800006c8: 01c32023 sw t3,0(t1) +800006cc: 0045ae03 lw t3,4(a1) +800006d0: 01c32223 sw t3,4(t1) +800006d4: 0085ae03 lw t3,8(a1) +800006d8: 01c32423 sw t3,8(t1) +800006dc: 00c5ae03 lw t3,12(a1) +800006e0: 01c32623 sw t3,12(t1) +800006e4: 0105ae03 lw t3,16(a1) +800006e8: 01c32823 sw t3,16(t1) +800006ec: 0145ae03 lw t3,20(a1) +800006f0: 01c32a23 sw t3,20(t1) +800006f4: 001e8e93 addi t4,t4,1 +800006f8: 03200f13 li t5,50 +800006fc: 01ee9463 bne t4,t5,80000704 +80000700: 00000e93 li t4,0 -800006ec : -800006ec: 01d2a223 sw t4,4(t0) -800006f0: 00008067 ret +80000704 : +80000704: 01d2a223 sw t4,4(t0) +80000708: 00008067 ret -800006f4 : -800006f4: 00050293 mv t0,a0 -800006f8: 0082a303 lw t1,8(t0) -800006fc: 00000013 nop -80000700: 00000013 nop -80000704: 00000013 nop -80000708: 00000013 nop -8000070c: 00000013 nop -80000710: 00000013 nop -80000714: fff30313 addi t1,t1,-1 -80000718: 0062a423 sw t1,8(t0) -8000071c: 01428313 addi t1,t0,20 -80000720: 0002ae83 lw t4,0(t0) -80000724: 03200f93 li t6,50 -80000728: 000e8f13 mv t5,t4 -8000072c: 001f0f13 addi t5,t5,1 -80000730: 01ff1463 bne t5,t6,80000738 -80000734: 00000f13 li t5,0 +8000070c : +8000070c: 00050293 mv t0,a0 +80000710: 0082a303 lw t1,8(t0) +80000714: 00000013 nop +80000718: 00000013 nop +8000071c: 00000013 nop +80000720: 00000013 nop +80000724: 00000013 nop +80000728: 00000013 nop +8000072c: fff30313 addi t1,t1,-1 +80000730: 0062a423 sw t1,8(t0) +80000734: 01428313 addi t1,t0,20 +80000738: 0002ae83 lw t4,0(t0) +8000073c: 03200f93 li t6,50 +80000740: 000e8f13 mv t5,t4 +80000744: 001f0f13 addi t5,t5,1 +80000748: 01ff1463 bne t5,t6,80000750 +8000074c: 00000f13 li t5,0 -80000738 : -80000738: 01e2a023 sw t5,0(t0) -8000073c: 005e9393 slli t2,t4,0x5 -80000740: 00730333 add t1,t1,t2 -80000744: 00032e03 lw t3,0(t1) -80000748: 01c5a023 sw t3,0(a1) -8000074c: 00432e03 lw t3,4(t1) -80000750: 01c5a223 sw t3,4(a1) -80000754: 00832e03 lw t3,8(t1) -80000758: 01c5a423 sw t3,8(a1) -8000075c: 00c32e03 lw t3,12(t1) -80000760: 01c5a623 sw t3,12(a1) -80000764: 01032e03 lw t3,16(t1) -80000768: 01c5a823 sw t3,16(a1) -8000076c: 01432e03 lw t3,20(t1) -80000770: 01c5aa23 sw t3,20(a1) -80000774: 00008067 ret +80000750 : +80000750: 01e2a023 sw t5,0(t0) +80000754: 005e9393 slli t2,t4,0x5 +80000758: 00730333 add t1,t1,t2 +8000075c: 00032e03 lw t3,0(t1) +80000760: 01c5a023 sw t3,0(a1) +80000764: 00432e03 lw t3,4(t1) +80000768: 01c5a223 sw t3,4(a1) +8000076c: 00832e03 lw t3,8(t1) +80000770: 01c5a423 sw t3,8(a1) +80000774: 00c32e03 lw t3,12(t1) +80000778: 01c5a623 sw t3,12(a1) +8000077c: 01032e03 lw t3,16(t1) +80000780: 01c5a823 sw t3,16(a1) +80000784: 01432e03 lw t3,20(t1) +80000788: 01c5aa23 sw t3,20(a1) +8000078c: 00008067 ret -80000778 : -80000778: 00050293 mv t0,a0 -8000077c: 0082a303 lw t1,8(t0) -80000780: 00000513 li a0,0 -80000784: 03200e13 li t3,50 -80000788: 006e1463 bne t3,t1,80000790 -8000078c: 00150513 addi a0,a0,1 +80000790 : +80000790: 00050293 mv t0,a0 +80000794: 0082a303 lw t1,8(t0) +80000798: 00000513 li a0,0 +8000079c: 03200e13 li t3,50 +800007a0: 006e1463 bne t3,t1,800007a8 +800007a4: 00150513 addi a0,a0,1 -80000790 : -80000790: 00008067 ret +800007a8 : +800007a8: 00008067 ret -80000794 : -80000794: 00050293 mv t0,a0 -80000798: 0082a303 lw t1,8(t0) -8000079c: 00000513 li a0,0 -800007a0: 00000e13 li t3,0 -800007a4: 006e1463 bne t3,t1,800007ac -800007a8: 00150513 addi a0,a0,1 +800007ac : +800007ac: 00050293 mv t0,a0 +800007b0: 0082a303 lw t1,8(t0) +800007b4: 00000513 li a0,0 +800007b8: 00000e13 li t3,0 +800007bc: 006e1463 bne t3,t1,800007c4 +800007c0: 00150513 addi a0,a0,1 -800007ac : -800007ac: 00008067 ret +800007c4 : +800007c4: 00008067 ret -800007b0 : -800007b0: 00050293 mv t0,a0 -800007b4: 00c2a303 lw t1,12(t0) -800007b8: 0102a383 lw t2,16(t0) -800007bc: 0063b533 sltu a0,t2,t1 -800007c0: 00008067 ret +800007c8 : +800007c8: 00050293 mv t0,a0 +800007cc: 00c2a303 lw t1,12(t0) +800007d0: 0102a383 lw t2,16(t0) +800007d4: 0063b533 sltu a0,t2,t1 +800007d8: 00008067 ret -800007c4 : -800007c4: ff410113 addi sp,sp,-12 -800007c8: 00112023 sw ra,0(sp) -800007cc: 00b12223 sw a1,4(sp) +800007dc : +800007dc: ff410113 addi sp,sp,-12 +800007e0: 00112023 sw ra,0(sp) +800007e4: 00b12223 sw a1,4(sp) -800007d0 : -800007d0: 00054583 lbu a1,0(a0) -800007d4: 00058863 beqz a1,800007e4 -800007d8: 01c000ef jal ra,800007f4 -800007dc: 00150513 addi a0,a0,1 -800007e0: ff1ff06f j 800007d0 +800007e8 : +800007e8: 00054583 lbu a1,0(a0) +800007ec: 00058863 beqz a1,800007fc +800007f0: 01c000ef jal ra,8000080c +800007f4: 00150513 addi a0,a0,1 +800007f8: ff1ff06f j 800007e8 -800007e4 : -800007e4: 00012083 lw ra,0(sp) -800007e8: 00412583 lw a1,4(sp) -800007ec: 00c10113 addi sp,sp,12 -800007f0: 00008067 ret +800007fc : +800007fc: 00012083 lw ra,0(sp) +80000800: 00412583 lw a1,4(sp) +80000804: 00c10113 addi sp,sp,12 +80000808: 00008067 ret -800007f4 : -800007f4: 000108b7 lui a7,0x10 -800007f8: 00b8a023 sw a1,0(a7) # 10000 -800007fc: 00008067 ret +8000080c : +8000080c: 000108b7 lui a7,0x10 +80000810: 00b8a023 sw a1,0(a7) # 10000 +80000814: 00008067 ret -80000800 : -80000800: fd010113 addi sp,sp,-48 -80000804: 02112623 sw ra,44(sp) -80000808: 02812423 sw s0,40(sp) -8000080c: 03010413 addi s0,sp,48 -80000810: fca42e23 sw a0,-36(s0) -80000814: fdc42703 lw a4,-36(s0) -80000818: 00f00793 li a5,15 -8000081c: 02e7e463 bltu a5,a4,80000844 -80000820: 810007b7 lui a5,0x81000 -80000824: fdc42703 lw a4,-36(s0) -80000828: 00271713 slli a4,a4,0x2 -8000082c: 1a878793 addi a5,a5,424 # 810001a8 -80000830: 00f707b3 add a5,a4,a5 -80000834: 0007a783 lw a5,0(a5) -80000838: 00078513 mv a0,a5 -8000083c: f89ff0ef jal ra,800007c4 -80000840: 0740006f j 800008b4 -80000844: 02000793 li a5,32 -80000848: fef42623 sw a5,-20(s0) -8000084c: fe0405a3 sb zero,-21(s0) -80000850: fec42783 lw a5,-20(s0) -80000854: ffc78793 addi a5,a5,-4 -80000858: fdc42703 lw a4,-36(s0) -8000085c: 00f757b3 srl a5,a4,a5 -80000860: 00f7f793 andi a5,a5,15 -80000864: fef42223 sw a5,-28(s0) -80000868: fe442783 lw a5,-28(s0) -8000086c: 00078663 beqz a5,80000878 -80000870: 00100793 li a5,1 -80000874: fef405a3 sb a5,-21(s0) -80000878: feb44783 lbu a5,-21(s0) -8000087c: 02078263 beqz a5,800008a0 -80000880: 810007b7 lui a5,0x81000 -80000884: fe442703 lw a4,-28(s0) -80000888: 00271713 slli a4,a4,0x2 -8000088c: 1a878793 addi a5,a5,424 # 810001a8 -80000890: 00f707b3 add a5,a4,a5 -80000894: 0007a783 lw a5,0(a5) -80000898: 00078513 mv a0,a5 -8000089c: f29ff0ef jal ra,800007c4 -800008a0: fec42783 lw a5,-20(s0) -800008a4: ffc78793 addi a5,a5,-4 -800008a8: fef42623 sw a5,-20(s0) -800008ac: fec42783 lw a5,-20(s0) -800008b0: faf040e3 bgtz a5,80000850 -800008b4: 02c12083 lw ra,44(sp) -800008b8: 02812403 lw s0,40(sp) -800008bc: 03010113 addi sp,sp,48 -800008c0: 00008067 ret +80000818 : +80000818: fd010113 addi sp,sp,-48 +8000081c: 02112623 sw ra,44(sp) +80000820: 02812423 sw s0,40(sp) +80000824: 03010413 addi s0,sp,48 +80000828: fca42e23 sw a0,-36(s0) +8000082c: fdc42703 lw a4,-36(s0) +80000830: 00f00793 li a5,15 +80000834: 02e7e463 bltu a5,a4,8000085c +80000838: 810007b7 lui a5,0x81000 +8000083c: fdc42703 lw a4,-36(s0) +80000840: 00271713 slli a4,a4,0x2 +80000844: 1a878793 addi a5,a5,424 # 810001a8 +80000848: 00f707b3 add a5,a4,a5 +8000084c: 0007a783 lw a5,0(a5) +80000850: 00078513 mv a0,a5 +80000854: f89ff0ef jal ra,800007dc +80000858: 0740006f j 800008cc +8000085c: 02000793 li a5,32 +80000860: fef42623 sw a5,-20(s0) +80000864: fe0405a3 sb zero,-21(s0) +80000868: fec42783 lw a5,-20(s0) +8000086c: ffc78793 addi a5,a5,-4 +80000870: fdc42703 lw a4,-36(s0) +80000874: 00f757b3 srl a5,a4,a5 +80000878: 00f7f793 andi a5,a5,15 +8000087c: fef42223 sw a5,-28(s0) +80000880: fe442783 lw a5,-28(s0) +80000884: 00078663 beqz a5,80000890 +80000888: 00100793 li a5,1 +8000088c: fef405a3 sb a5,-21(s0) +80000890: feb44783 lbu a5,-21(s0) +80000894: 02078263 beqz a5,800008b8 +80000898: 810007b7 lui a5,0x81000 +8000089c: fe442703 lw a4,-28(s0) +800008a0: 00271713 slli a4,a4,0x2 +800008a4: 1a878793 addi a5,a5,424 # 810001a8 +800008a8: 00f707b3 add a5,a4,a5 +800008ac: 0007a783 lw a5,0(a5) +800008b0: 00078513 mv a0,a5 +800008b4: f29ff0ef jal ra,800007dc +800008b8: fec42783 lw a5,-20(s0) +800008bc: ffc78793 addi a5,a5,-4 +800008c0: fef42623 sw a5,-20(s0) +800008c4: fec42783 lw a5,-20(s0) +800008c8: faf040e3 bgtz a5,80000868 +800008cc: 02c12083 lw ra,44(sp) +800008d0: 02812403 lw s0,40(sp) +800008d4: 03010113 addi sp,sp,48 +800008d8: 00008067 ret -800008c4 : -800008c4: fe010113 addi sp,sp,-32 -800008c8: 00112e23 sw ra,28(sp) -800008cc: 00812c23 sw s0,24(sp) -800008d0: 02010413 addi s0,sp,32 -800008d4: fea42623 sw a0,-20(s0) -800008d8: feb42423 sw a1,-24(s0) -800008dc: fec42503 lw a0,-20(s0) -800008e0: ee5ff0ef jal ra,800007c4 -800008e4: fe842503 lw a0,-24(s0) -800008e8: f19ff0ef jal ra,80000800 -800008ec: 810007b7 lui a5,0x81000 -800008f0: 09478513 addi a0,a5,148 # 81000094 -800008f4: ed1ff0ef jal ra,800007c4 -800008f8: 00000013 nop -800008fc: 01c12083 lw ra,28(sp) -80000900: 01812403 lw s0,24(sp) -80000904: 02010113 addi sp,sp,32 -80000908: 00008067 ret +800008dc : +800008dc: fe010113 addi sp,sp,-32 +800008e0: 00112e23 sw ra,28(sp) +800008e4: 00812c23 sw s0,24(sp) +800008e8: 02010413 addi s0,sp,32 +800008ec: fea42623 sw a0,-20(s0) +800008f0: feb42423 sw a1,-24(s0) +800008f4: fec42503 lw a0,-20(s0) +800008f8: ee5ff0ef jal ra,800007dc +800008fc: fe842503 lw a0,-24(s0) +80000900: f19ff0ef jal ra,80000818 +80000904: 810007b7 lui a5,0x81000 +80000908: 09478513 addi a0,a5,148 # 81000094 +8000090c: ed1ff0ef jal ra,800007dc +80000910: 00000013 nop +80000914: 01c12083 lw ra,28(sp) +80000918: 01812403 lw s0,24(sp) +8000091c: 02010113 addi sp,sp,32 +80000920: 00008067 ret -8000090c : -8000090c: fd010113 addi sp,sp,-48 -80000910: 02112623 sw ra,44(sp) -80000914: 02812423 sw s0,40(sp) -80000918: 03010413 addi s0,sp,48 -8000091c: fca42e23 sw a0,-36(s0) -80000920: fcb42c23 sw a1,-40(s0) -80000924: fcc42a23 sw a2,-44(s0) -80000928: fcd42823 sw a3,-48(s0) -8000092c: 810267b7 lui a5,0x81026 -80000930: fdc42703 lw a4,-36(s0) -80000934: 1ae7ac23 sw a4,440(a5) # 810261b8 -80000938: 810267b7 lui a5,0x81026 -8000093c: 1b878793 addi a5,a5,440 # 810261b8 -80000940: fd842703 lw a4,-40(s0) -80000944: 00e7a223 sw a4,4(a5) -80000948: 810267b7 lui a5,0x81026 -8000094c: 1b878793 addi a5,a5,440 # 810261b8 -80000950: fd442703 lw a4,-44(s0) -80000954: 00e7a423 sw a4,8(a5) -80000958: 810267b7 lui a5,0x81026 -8000095c: 1b878793 addi a5,a5,440 # 810261b8 -80000960: fd042703 lw a4,-48(s0) -80000964: 00e7a623 sw a4,12(a5) -80000968: 881ff0ef jal ra,800001e8 -8000096c: fea42423 sw a0,-24(s0) -80000970: fd042703 lw a4,-48(s0) -80000974: fe842783 lw a5,-24(s0) -80000978: 02f757b3 divu a5,a4,a5 -8000097c: fef42623 sw a5,-20(s0) -80000980: fd042703 lw a4,-48(s0) -80000984: fe842783 lw a5,-24(s0) -80000988: 02f777b3 remu a5,a4,a5 -8000098c: 00078863 beqz a5,8000099c -80000990: fec42783 lw a5,-20(s0) -80000994: 00178793 addi a5,a5,1 -80000998: fef42623 sw a5,-20(s0) -8000099c: 810267b7 lui a5,0x81026 -800009a0: 1b878793 addi a5,a5,440 # 810261b8 -800009a4: fec42703 lw a4,-20(s0) -800009a8: 00e7a823 sw a4,16(a5) -800009ac: fd042703 lw a4,-48(s0) -800009b0: fe842783 lw a5,-24(s0) -800009b4: 02f76263 bltu a4,a5,800009d8 -800009b8: 810267b7 lui a5,0x81026 -800009bc: 1b878693 addi a3,a5,440 # 810261b8 -800009c0: 800017b7 lui a5,0x80001 -800009c4: a3078613 addi a2,a5,-1488 # 80000a30 -800009c8: fe842583 lw a1,-24(s0) -800009cc: fd042503 lw a0,-48(s0) -800009d0: a91ff0ef jal ra,80000460 -800009d4: 0200006f j 800009f4 -800009d8: 810267b7 lui a5,0x81026 -800009dc: 1b878693 addi a3,a5,440 # 810261b8 -800009e0: 800017b7 lui a5,0x80001 -800009e4: a3078613 addi a2,a5,-1488 # 80000a30 -800009e8: fd042583 lw a1,-48(s0) -800009ec: fd042503 lw a0,-48(s0) -800009f0: a71ff0ef jal ra,80000460 -800009f4: fecff0ef jal ra,800001e0 -800009f8: fea42223 sw a0,-28(s0) -800009fc: fd042703 lw a4,-48(s0) -80000a00: fe442783 lw a5,-28(s0) -80000a04: 00e7f863 bgeu a5,a4,80000a14 -80000a08: fe442503 lw a0,-28(s0) -80000a0c: b45ff0ef jal ra,80000550 -80000a10: 00c0006f j 80000a1c -80000a14: fd042503 lw a0,-48(s0) -80000a18: b39ff0ef jal ra,80000550 -80000a1c: 00000013 nop -80000a20: 02c12083 lw ra,44(sp) -80000a24: 02812403 lw s0,40(sp) -80000a28: 03010113 addi sp,sp,48 -80000a2c: 00008067 ret +80000924 : +80000924: fd010113 addi sp,sp,-48 +80000928: 02112623 sw ra,44(sp) +8000092c: 02812423 sw s0,40(sp) +80000930: 03010413 addi s0,sp,48 +80000934: fca42e23 sw a0,-36(s0) +80000938: fcb42c23 sw a1,-40(s0) +8000093c: fcc42a23 sw a2,-44(s0) +80000940: fcd42823 sw a3,-48(s0) +80000944: 810267b7 lui a5,0x81026 +80000948: fdc42703 lw a4,-36(s0) +8000094c: 1ae7ac23 sw a4,440(a5) # 810261b8 +80000950: 810267b7 lui a5,0x81026 +80000954: 1b878793 addi a5,a5,440 # 810261b8 +80000958: fd842703 lw a4,-40(s0) +8000095c: 00e7a223 sw a4,4(a5) +80000960: 810267b7 lui a5,0x81026 +80000964: 1b878793 addi a5,a5,440 # 810261b8 +80000968: fd442703 lw a4,-44(s0) +8000096c: 00e7a423 sw a4,8(a5) +80000970: 810267b7 lui a5,0x81026 +80000974: 1b878793 addi a5,a5,440 # 810261b8 +80000978: fd042703 lw a4,-48(s0) +8000097c: 00e7a623 sw a4,12(a5) +80000980: 881ff0ef jal ra,80000200 +80000984: fea42423 sw a0,-24(s0) +80000988: fd042703 lw a4,-48(s0) +8000098c: fe842783 lw a5,-24(s0) +80000990: 02f757b3 divu a5,a4,a5 +80000994: fef42623 sw a5,-20(s0) +80000998: fd042703 lw a4,-48(s0) +8000099c: fe842783 lw a5,-24(s0) +800009a0: 02f777b3 remu a5,a4,a5 +800009a4: 00078863 beqz a5,800009b4 +800009a8: fec42783 lw a5,-20(s0) +800009ac: 00178793 addi a5,a5,1 +800009b0: fef42623 sw a5,-20(s0) +800009b4: 810267b7 lui a5,0x81026 +800009b8: 1b878793 addi a5,a5,440 # 810261b8 +800009bc: fec42703 lw a4,-20(s0) +800009c0: 00e7a823 sw a4,16(a5) +800009c4: fd042703 lw a4,-48(s0) +800009c8: fe842783 lw a5,-24(s0) +800009cc: 02f76263 bltu a4,a5,800009f0 +800009d0: 810267b7 lui a5,0x81026 +800009d4: 1b878693 addi a3,a5,440 # 810261b8 +800009d8: 800017b7 lui a5,0x80001 +800009dc: a4878613 addi a2,a5,-1464 # 80000a48 +800009e0: fe842583 lw a1,-24(s0) +800009e4: fd042503 lw a0,-48(s0) +800009e8: a91ff0ef jal ra,80000478 +800009ec: 0200006f j 80000a0c +800009f0: 810267b7 lui a5,0x81026 +800009f4: 1b878693 addi a3,a5,440 # 810261b8 +800009f8: 800017b7 lui a5,0x80001 +800009fc: a4878613 addi a2,a5,-1464 # 80000a48 +80000a00: fd042583 lw a1,-48(s0) +80000a04: fd042503 lw a0,-48(s0) +80000a08: a71ff0ef jal ra,80000478 +80000a0c: fecff0ef jal ra,800001f8 +80000a10: fea42223 sw a0,-28(s0) +80000a14: fd042703 lw a4,-48(s0) +80000a18: fe442783 lw a5,-28(s0) +80000a1c: 00e7f863 bgeu a5,a4,80000a2c +80000a20: fe442503 lw a0,-28(s0) +80000a24: b45ff0ef jal ra,80000568 +80000a28: 00c0006f j 80000a34 +80000a2c: fd042503 lw a0,-48(s0) +80000a30: b39ff0ef jal ra,80000568 +80000a34: 00000013 nop +80000a38: 02c12083 lw ra,44(sp) +80000a3c: 02812403 lw s0,40(sp) +80000a40: 03010113 addi sp,sp,48 +80000a44: 00008067 ret -80000a30 <_vx_mat_mult>: -80000a30: fa010113 addi sp,sp,-96 -80000a34: 04112e23 sw ra,92(sp) -80000a38: 04812c23 sw s0,88(sp) -80000a3c: 06010413 addi s0,sp,96 -80000a40: faa42623 sw a0,-84(s0) -80000a44: fab42423 sw a1,-88(s0) -80000a48: bf9ff0ef jal ra,80000640 -80000a4c: fca42c23 sw a0,-40(s0) -80000a50: fd842783 lw a5,-40(s0) -80000a54: 0007a783 lw a5,0(a5) -80000a58: fcf42a23 sw a5,-44(s0) -80000a5c: fd842783 lw a5,-40(s0) -80000a60: 0047a783 lw a5,4(a5) -80000a64: fcf42823 sw a5,-48(s0) +80000a48 <_vx_mat_mult>: +80000a48: fa010113 addi sp,sp,-96 +80000a4c: 04112e23 sw ra,92(sp) +80000a50: 04812c23 sw s0,88(sp) +80000a54: 06010413 addi s0,sp,96 +80000a58: faa42623 sw a0,-84(s0) +80000a5c: fab42423 sw a1,-88(s0) +80000a60: bf9ff0ef jal ra,80000658 +80000a64: fca42c23 sw a0,-40(s0) 80000a68: fd842783 lw a5,-40(s0) -80000a6c: 0087a783 lw a5,8(a5) -80000a70: fcf42623 sw a5,-52(s0) +80000a6c: 0007a783 lw a5,0(a5) +80000a70: fcf42a23 sw a5,-44(s0) 80000a74: fd842783 lw a5,-40(s0) -80000a78: 0107a783 lw a5,16(a5) -80000a7c: fef42623 sw a5,-20(s0) -80000a80: fec42703 lw a4,-20(s0) -80000a84: fac42783 lw a5,-84(s0) -80000a88: 02f707b3 mul a5,a4,a5 -80000a8c: fef42423 sw a5,-24(s0) -80000a90: fec42783 lw a5,-20(s0) -80000a94: 00079a63 bnez a5,80000aa8 <_vx_mat_mult+0x78> -80000a98: 00100793 li a5,1 -80000a9c: fef42623 sw a5,-20(s0) -80000aa0: fac42783 lw a5,-84(s0) +80000a78: 0047a783 lw a5,4(a5) +80000a7c: fcf42823 sw a5,-48(s0) +80000a80: fd842783 lw a5,-40(s0) +80000a84: 0087a783 lw a5,8(a5) +80000a88: fcf42623 sw a5,-52(s0) +80000a8c: fd842783 lw a5,-40(s0) +80000a90: 0107a783 lw a5,16(a5) +80000a94: fef42623 sw a5,-20(s0) +80000a98: fec42703 lw a4,-20(s0) +80000a9c: fac42783 lw a5,-84(s0) +80000aa0: 02f707b3 mul a5,a4,a5 80000aa4: fef42423 sw a5,-24(s0) -80000aa8: fd842783 lw a5,-40(s0) -80000aac: 00c7a783 lw a5,12(a5) -80000ab0: fcf42423 sw a5,-56(s0) -80000ab4: fe042223 sw zero,-28(s0) -80000ab8: 0d80006f j 80000b90 <_vx_mat_mult+0x160> -80000abc: fe042023 sw zero,-32(s0) -80000ac0: fc042e23 sw zero,-36(s0) -80000ac4: 0780006f j 80000b3c <_vx_mat_mult+0x10c> -80000ac8: fa842703 lw a4,-88(s0) -80000acc: fc842783 lw a5,-56(s0) -80000ad0: 02f707b3 mul a5,a4,a5 -80000ad4: fdc42703 lw a4,-36(s0) -80000ad8: 00f707b3 add a5,a4,a5 -80000adc: fcf42223 sw a5,-60(s0) -80000ae0: fc842703 lw a4,-56(s0) -80000ae4: fdc42783 lw a5,-36(s0) +80000aa8: fec42783 lw a5,-20(s0) +80000aac: 00079a63 bnez a5,80000ac0 <_vx_mat_mult+0x78> +80000ab0: 00100793 li a5,1 +80000ab4: fef42623 sw a5,-20(s0) +80000ab8: fac42783 lw a5,-84(s0) +80000abc: fef42423 sw a5,-24(s0) +80000ac0: fd842783 lw a5,-40(s0) +80000ac4: 00c7a783 lw a5,12(a5) +80000ac8: fcf42423 sw a5,-56(s0) +80000acc: fe042223 sw zero,-28(s0) +80000ad0: 0d80006f j 80000ba8 <_vx_mat_mult+0x160> +80000ad4: fe042023 sw zero,-32(s0) +80000ad8: fc042e23 sw zero,-36(s0) +80000adc: 0780006f j 80000b54 <_vx_mat_mult+0x10c> +80000ae0: fa842703 lw a4,-88(s0) +80000ae4: fc842783 lw a5,-56(s0) 80000ae8: 02f707b3 mul a5,a4,a5 -80000aec: fe842703 lw a4,-24(s0) +80000aec: fdc42703 lw a4,-36(s0) 80000af0: 00f707b3 add a5,a4,a5 -80000af4: fcf42023 sw a5,-64(s0) -80000af8: fc442783 lw a5,-60(s0) -80000afc: 00279793 slli a5,a5,0x2 -80000b00: fd442703 lw a4,-44(s0) -80000b04: 00f707b3 add a5,a4,a5 -80000b08: 0007a703 lw a4,0(a5) -80000b0c: fc042783 lw a5,-64(s0) -80000b10: 00279793 slli a5,a5,0x2 -80000b14: fd042683 lw a3,-48(s0) -80000b18: 00f687b3 add a5,a3,a5 -80000b1c: 0007a783 lw a5,0(a5) -80000b20: 02f707b3 mul a5,a4,a5 -80000b24: fe042703 lw a4,-32(s0) -80000b28: 00f707b3 add a5,a4,a5 -80000b2c: fef42023 sw a5,-32(s0) -80000b30: fdc42783 lw a5,-36(s0) -80000b34: 00178793 addi a5,a5,1 -80000b38: fcf42e23 sw a5,-36(s0) -80000b3c: fdc42703 lw a4,-36(s0) -80000b40: fc842783 lw a5,-56(s0) -80000b44: f8f762e3 bltu a4,a5,80000ac8 <_vx_mat_mult+0x98> -80000b48: fa842703 lw a4,-88(s0) -80000b4c: fc842783 lw a5,-56(s0) -80000b50: 02f70733 mul a4,a4,a5 -80000b54: fe842783 lw a5,-24(s0) -80000b58: 00f707b3 add a5,a4,a5 -80000b5c: faf42e23 sw a5,-68(s0) -80000b60: fbc42783 lw a5,-68(s0) -80000b64: 00279793 slli a5,a5,0x2 -80000b68: fcc42703 lw a4,-52(s0) -80000b6c: 00f707b3 add a5,a4,a5 -80000b70: fe042703 lw a4,-32(s0) -80000b74: 00e7a023 sw a4,0(a5) -80000b78: fe842783 lw a5,-24(s0) -80000b7c: 00178793 addi a5,a5,1 -80000b80: fef42423 sw a5,-24(s0) -80000b84: fe442783 lw a5,-28(s0) -80000b88: 00178793 addi a5,a5,1 -80000b8c: fef42223 sw a5,-28(s0) -80000b90: fe442783 lw a5,-28(s0) -80000b94: fec42703 lw a4,-20(s0) -80000b98: f2e7e2e3 bltu a5,a4,80000abc <_vx_mat_mult+0x8c> -80000b9c: 00000013 nop -80000ba0: 05c12083 lw ra,92(sp) -80000ba4: 05812403 lw s0,88(sp) -80000ba8: 06010113 addi sp,sp,96 -80000bac: 00008067 ret +80000af4: fcf42223 sw a5,-60(s0) +80000af8: fc842703 lw a4,-56(s0) +80000afc: fdc42783 lw a5,-36(s0) +80000b00: 02f707b3 mul a5,a4,a5 +80000b04: fe842703 lw a4,-24(s0) +80000b08: 00f707b3 add a5,a4,a5 +80000b0c: fcf42023 sw a5,-64(s0) +80000b10: fc442783 lw a5,-60(s0) +80000b14: 00279793 slli a5,a5,0x2 +80000b18: fd442703 lw a4,-44(s0) +80000b1c: 00f707b3 add a5,a4,a5 +80000b20: 0007a703 lw a4,0(a5) +80000b24: fc042783 lw a5,-64(s0) +80000b28: 00279793 slli a5,a5,0x2 +80000b2c: fd042683 lw a3,-48(s0) +80000b30: 00f687b3 add a5,a3,a5 +80000b34: 0007a783 lw a5,0(a5) +80000b38: 02f707b3 mul a5,a4,a5 +80000b3c: fe042703 lw a4,-32(s0) +80000b40: 00f707b3 add a5,a4,a5 +80000b44: fef42023 sw a5,-32(s0) +80000b48: fdc42783 lw a5,-36(s0) +80000b4c: 00178793 addi a5,a5,1 +80000b50: fcf42e23 sw a5,-36(s0) +80000b54: fdc42703 lw a4,-36(s0) +80000b58: fc842783 lw a5,-56(s0) +80000b5c: f8f762e3 bltu a4,a5,80000ae0 <_vx_mat_mult+0x98> +80000b60: fa842703 lw a4,-88(s0) +80000b64: fc842783 lw a5,-56(s0) +80000b68: 02f70733 mul a4,a4,a5 +80000b6c: fe842783 lw a5,-24(s0) +80000b70: 00f707b3 add a5,a4,a5 +80000b74: faf42e23 sw a5,-68(s0) +80000b78: fbc42783 lw a5,-68(s0) +80000b7c: 00279793 slli a5,a5,0x2 +80000b80: fcc42703 lw a4,-52(s0) +80000b84: 00f707b3 add a5,a4,a5 +80000b88: fe042703 lw a4,-32(s0) +80000b8c: 00e7a023 sw a4,0(a5) +80000b90: fe842783 lw a5,-24(s0) +80000b94: 00178793 addi a5,a5,1 +80000b98: fef42423 sw a5,-24(s0) +80000b9c: fe442783 lw a5,-28(s0) +80000ba0: 00178793 addi a5,a5,1 +80000ba4: fef42223 sw a5,-28(s0) +80000ba8: fe442783 lw a5,-28(s0) +80000bac: fec42703 lw a4,-20(s0) +80000bb0: f2e7e2e3 bltu a5,a4,80000ad4 <_vx_mat_mult+0x8c> +80000bb4: 00000013 nop +80000bb8: 05c12083 lw ra,92(sp) +80000bbc: 05812403 lw s0,88(sp) +80000bc0: 06010113 addi sp,sp,96 +80000bc4: 00008067 ret -80000bb0 : -80000bb0: fc010113 addi sp,sp,-64 -80000bb4: 02112e23 sw ra,60(sp) -80000bb8: 02812c23 sw s0,56(sp) -80000bbc: 04010413 addi s0,sp,64 -80000bc0: fca42e23 sw a0,-36(s0) -80000bc4: fcb42c23 sw a1,-40(s0) -80000bc8: fcc42a23 sw a2,-44(s0) -80000bcc: fcd42823 sw a3,-48(s0) -80000bd0: fce42623 sw a4,-52(s0) -80000bd4: 810267b7 lui a5,0x81026 -80000bd8: fdc42703 lw a4,-36(s0) -80000bdc: 1ce7a623 sw a4,460(a5) # 810261cc -80000be0: 810267b7 lui a5,0x81026 -80000be4: 1cc78793 addi a5,a5,460 # 810261cc -80000be8: fd842703 lw a4,-40(s0) -80000bec: 00e7a223 sw a4,4(a5) -80000bf0: 810267b7 lui a5,0x81026 -80000bf4: 1cc78793 addi a5,a5,460 # 810261cc -80000bf8: fd442703 lw a4,-44(s0) -80000bfc: 00e7a423 sw a4,8(a5) -80000c00: 810267b7 lui a5,0x81026 -80000c04: 1cc78793 addi a5,a5,460 # 810261cc -80000c08: fcc42703 lw a4,-52(s0) -80000c0c: 00e7a623 sw a4,12(a5) -80000c10: 810267b7 lui a5,0x81026 -80000c14: 1cc78793 addi a5,a5,460 # 810261cc -80000c18: fd042703 lw a4,-48(s0) -80000c1c: 00e7a823 sw a4,16(a5) -80000c20: dc8ff0ef jal ra,800001e8 -80000c24: fea42423 sw a0,-24(s0) -80000c28: fcc42703 lw a4,-52(s0) -80000c2c: fe842783 lw a5,-24(s0) -80000c30: 02f757b3 divu a5,a4,a5 -80000c34: fef42623 sw a5,-20(s0) -80000c38: fcc42703 lw a4,-52(s0) -80000c3c: fe842783 lw a5,-24(s0) -80000c40: 02f777b3 remu a5,a4,a5 -80000c44: 00078863 beqz a5,80000c54 -80000c48: fec42783 lw a5,-20(s0) -80000c4c: 00178793 addi a5,a5,1 -80000c50: fef42623 sw a5,-20(s0) -80000c54: 810267b7 lui a5,0x81026 -80000c58: 1cc78793 addi a5,a5,460 # 810261cc -80000c5c: fec42703 lw a4,-20(s0) -80000c60: 00e7aa23 sw a4,20(a5) -80000c64: fcc42703 lw a4,-52(s0) -80000c68: fe842783 lw a5,-24(s0) -80000c6c: 02f76263 bltu a4,a5,80000c90 -80000c70: 810267b7 lui a5,0x81026 -80000c74: 1cc78693 addi a3,a5,460 # 810261cc -80000c78: 800017b7 lui a5,0x80001 -80000c7c: ce878613 addi a2,a5,-792 # 80000ce8 -80000c80: fe842583 lw a1,-24(s0) -80000c84: fd042503 lw a0,-48(s0) -80000c88: fd8ff0ef jal ra,80000460 -80000c8c: 0200006f j 80000cac -80000c90: 810267b7 lui a5,0x81026 -80000c94: 1cc78693 addi a3,a5,460 # 810261cc -80000c98: 800017b7 lui a5,0x80001 -80000c9c: ce878613 addi a2,a5,-792 # 80000ce8 -80000ca0: fcc42583 lw a1,-52(s0) -80000ca4: fd042503 lw a0,-48(s0) -80000ca8: fb8ff0ef jal ra,80000460 -80000cac: d34ff0ef jal ra,800001e0 -80000cb0: fea42223 sw a0,-28(s0) -80000cb4: fd042703 lw a4,-48(s0) -80000cb8: fe442783 lw a5,-28(s0) -80000cbc: 00e7f863 bgeu a5,a4,80000ccc -80000cc0: fe442503 lw a0,-28(s0) -80000cc4: 88dff0ef jal ra,80000550 -80000cc8: 00c0006f j 80000cd4 -80000ccc: fd042503 lw a0,-48(s0) -80000cd0: 881ff0ef jal ra,80000550 -80000cd4: 00000013 nop -80000cd8: 03c12083 lw ra,60(sp) -80000cdc: 03812403 lw s0,56(sp) -80000ce0: 04010113 addi sp,sp,64 -80000ce4: 00008067 ret +80000bc8 : +80000bc8: fc010113 addi sp,sp,-64 +80000bcc: 02112e23 sw ra,60(sp) +80000bd0: 02812c23 sw s0,56(sp) +80000bd4: 04010413 addi s0,sp,64 +80000bd8: fca42e23 sw a0,-36(s0) +80000bdc: fcb42c23 sw a1,-40(s0) +80000be0: fcc42a23 sw a2,-44(s0) +80000be4: fcd42823 sw a3,-48(s0) +80000be8: fce42623 sw a4,-52(s0) +80000bec: 810267b7 lui a5,0x81026 +80000bf0: fdc42703 lw a4,-36(s0) +80000bf4: 1ce7a623 sw a4,460(a5) # 810261cc +80000bf8: 810267b7 lui a5,0x81026 +80000bfc: 1cc78793 addi a5,a5,460 # 810261cc +80000c00: fd842703 lw a4,-40(s0) +80000c04: 00e7a223 sw a4,4(a5) +80000c08: 810267b7 lui a5,0x81026 +80000c0c: 1cc78793 addi a5,a5,460 # 810261cc +80000c10: fd442703 lw a4,-44(s0) +80000c14: 00e7a423 sw a4,8(a5) +80000c18: 810267b7 lui a5,0x81026 +80000c1c: 1cc78793 addi a5,a5,460 # 810261cc +80000c20: fcc42703 lw a4,-52(s0) +80000c24: 00e7a623 sw a4,12(a5) +80000c28: 810267b7 lui a5,0x81026 +80000c2c: 1cc78793 addi a5,a5,460 # 810261cc +80000c30: fd042703 lw a4,-48(s0) +80000c34: 00e7a823 sw a4,16(a5) +80000c38: dc8ff0ef jal ra,80000200 +80000c3c: fea42423 sw a0,-24(s0) +80000c40: fcc42703 lw a4,-52(s0) +80000c44: fe842783 lw a5,-24(s0) +80000c48: 02f757b3 divu a5,a4,a5 +80000c4c: fef42623 sw a5,-20(s0) +80000c50: fcc42703 lw a4,-52(s0) +80000c54: fe842783 lw a5,-24(s0) +80000c58: 02f777b3 remu a5,a4,a5 +80000c5c: 00078863 beqz a5,80000c6c +80000c60: fec42783 lw a5,-20(s0) +80000c64: 00178793 addi a5,a5,1 +80000c68: fef42623 sw a5,-20(s0) +80000c6c: 810267b7 lui a5,0x81026 +80000c70: 1cc78793 addi a5,a5,460 # 810261cc +80000c74: fec42703 lw a4,-20(s0) +80000c78: 00e7aa23 sw a4,20(a5) +80000c7c: fcc42703 lw a4,-52(s0) +80000c80: fe842783 lw a5,-24(s0) +80000c84: 02f76263 bltu a4,a5,80000ca8 +80000c88: 810267b7 lui a5,0x81026 +80000c8c: 1cc78693 addi a3,a5,460 # 810261cc +80000c90: 800017b7 lui a5,0x80001 +80000c94: d0078613 addi a2,a5,-768 # 80000d00 +80000c98: fe842583 lw a1,-24(s0) +80000c9c: fd042503 lw a0,-48(s0) +80000ca0: fd8ff0ef jal ra,80000478 +80000ca4: 0200006f j 80000cc4 +80000ca8: 810267b7 lui a5,0x81026 +80000cac: 1cc78693 addi a3,a5,460 # 810261cc +80000cb0: 800017b7 lui a5,0x80001 +80000cb4: d0078613 addi a2,a5,-768 # 80000d00 +80000cb8: fcc42583 lw a1,-52(s0) +80000cbc: fd042503 lw a0,-48(s0) +80000cc0: fb8ff0ef jal ra,80000478 +80000cc4: d34ff0ef jal ra,800001f8 +80000cc8: fea42223 sw a0,-28(s0) +80000ccc: fd042703 lw a4,-48(s0) +80000cd0: fe442783 lw a5,-28(s0) +80000cd4: 00e7f863 bgeu a5,a4,80000ce4 +80000cd8: fe442503 lw a0,-28(s0) +80000cdc: 88dff0ef jal ra,80000568 +80000ce0: 00c0006f j 80000cec +80000ce4: fd042503 lw a0,-48(s0) +80000ce8: 881ff0ef jal ra,80000568 +80000cec: 00000013 nop +80000cf0: 03c12083 lw ra,60(sp) +80000cf4: 03812403 lw s0,56(sp) +80000cf8: 04010113 addi sp,sp,64 +80000cfc: 00008067 ret -80000ce8 <_vx_mat_add>: -80000ce8: fb010113 addi sp,sp,-80 -80000cec: 04112623 sw ra,76(sp) -80000cf0: 04812423 sw s0,72(sp) -80000cf4: 05010413 addi s0,sp,80 -80000cf8: faa42e23 sw a0,-68(s0) -80000cfc: fab42c23 sw a1,-72(s0) -80000d00: 941ff0ef jal ra,80000640 -80000d04: fea42023 sw a0,-32(s0) -80000d08: fe042783 lw a5,-32(s0) -80000d0c: 0007a783 lw a5,0(a5) -80000d10: fcf42e23 sw a5,-36(s0) -80000d14: fe042783 lw a5,-32(s0) -80000d18: 0047a783 lw a5,4(a5) -80000d1c: fcf42c23 sw a5,-40(s0) +80000d00 <_vx_mat_add>: +80000d00: fb010113 addi sp,sp,-80 +80000d04: 04112623 sw ra,76(sp) +80000d08: 04812423 sw s0,72(sp) +80000d0c: 05010413 addi s0,sp,80 +80000d10: faa42e23 sw a0,-68(s0) +80000d14: fab42c23 sw a1,-72(s0) +80000d18: 941ff0ef jal ra,80000658 +80000d1c: fea42023 sw a0,-32(s0) 80000d20: fe042783 lw a5,-32(s0) -80000d24: 0087a783 lw a5,8(a5) -80000d28: fcf42a23 sw a5,-44(s0) +80000d24: 0007a783 lw a5,0(a5) +80000d28: fcf42e23 sw a5,-36(s0) 80000d2c: fe042783 lw a5,-32(s0) -80000d30: 0147a783 lw a5,20(a5) -80000d34: fef42623 sw a5,-20(s0) -80000d38: fec42703 lw a4,-20(s0) -80000d3c: fbc42783 lw a5,-68(s0) -80000d40: 02f707b3 mul a5,a4,a5 -80000d44: fef42423 sw a5,-24(s0) -80000d48: fec42783 lw a5,-20(s0) -80000d4c: 00079a63 bnez a5,80000d60 <_vx_mat_add+0x78> -80000d50: 00100793 li a5,1 -80000d54: fef42623 sw a5,-20(s0) -80000d58: fbc42783 lw a5,-68(s0) +80000d30: 0047a783 lw a5,4(a5) +80000d34: fcf42c23 sw a5,-40(s0) +80000d38: fe042783 lw a5,-32(s0) +80000d3c: 0087a783 lw a5,8(a5) +80000d40: fcf42a23 sw a5,-44(s0) +80000d44: fe042783 lw a5,-32(s0) +80000d48: 0147a783 lw a5,20(a5) +80000d4c: fef42623 sw a5,-20(s0) +80000d50: fec42703 lw a4,-20(s0) +80000d54: fbc42783 lw a5,-68(s0) +80000d58: 02f707b3 mul a5,a4,a5 80000d5c: fef42423 sw a5,-24(s0) -80000d60: fe042783 lw a5,-32(s0) -80000d64: 00c7a783 lw a5,12(a5) -80000d68: fcf42823 sw a5,-48(s0) -80000d6c: fe042223 sw zero,-28(s0) -80000d70: 0c00006f j 80000e30 <_vx_mat_add+0x148> -80000d74: fb842703 lw a4,-72(s0) -80000d78: fd042783 lw a5,-48(s0) -80000d7c: 02f70733 mul a4,a4,a5 -80000d80: fe842783 lw a5,-24(s0) -80000d84: 00f707b3 add a5,a4,a5 -80000d88: fcf42623 sw a5,-52(s0) -80000d8c: fe842703 lw a4,-24(s0) +80000d60: fec42783 lw a5,-20(s0) +80000d64: 00079a63 bnez a5,80000d78 <_vx_mat_add+0x78> +80000d68: 00100793 li a5,1 +80000d6c: fef42623 sw a5,-20(s0) +80000d70: fbc42783 lw a5,-68(s0) +80000d74: fef42423 sw a5,-24(s0) +80000d78: fe042783 lw a5,-32(s0) +80000d7c: 00c7a783 lw a5,12(a5) +80000d80: fcf42823 sw a5,-48(s0) +80000d84: fe042223 sw zero,-28(s0) +80000d88: 0c00006f j 80000e48 <_vx_mat_add+0x148> +80000d8c: fb842703 lw a4,-72(s0) 80000d90: fd042783 lw a5,-48(s0) -80000d94: 00f737b3 sltu a5,a4,a5 -80000d98: 0ff7f793 andi a5,a5,255 -80000d9c: fcf42423 sw a5,-56(s0) -80000da0: fc842783 lw a5,-56(s0) -80000da4: 0017b793 seqz a5,a5 -80000da8: fcf403a3 sb a5,-57(s0) -80000dac: fc744783 lbu a5,-57(s0) -80000db0: 00078f13 mv t5,a5 -80000db4: 800017b7 lui a5,0x80001 -80000db8: e1c78f93 addi t6,a5,-484 # 80000e1c -80000dbc: 000f206b 0xf206b -80000dc0: 01ff707b 0x1ff707b -80000dc4: fcc42783 lw a5,-52(s0) -80000dc8: 00279793 slli a5,a5,0x2 -80000dcc: fdc42703 lw a4,-36(s0) -80000dd0: 00f707b3 add a5,a4,a5 -80000dd4: 0007a683 lw a3,0(a5) -80000dd8: fcc42783 lw a5,-52(s0) -80000ddc: 00279793 slli a5,a5,0x2 -80000de0: fd842703 lw a4,-40(s0) -80000de4: 00f707b3 add a5,a4,a5 -80000de8: 0007a703 lw a4,0(a5) -80000dec: fcc42783 lw a5,-52(s0) -80000df0: 00279793 slli a5,a5,0x2 -80000df4: fd442603 lw a2,-44(s0) -80000df8: 00f607b3 add a5,a2,a5 -80000dfc: 00e68733 add a4,a3,a4 -80000e00: 00e7a023 sw a4,0(a5) -80000e04: fe842783 lw a5,-24(s0) -80000e08: 00178793 addi a5,a5,1 -80000e0c: fef42423 sw a5,-24(s0) -80000e10: 800017b7 lui a5,0x80001 -80000e14: e2078e13 addi t3,a5,-480 # 80000e20 -80000e18: 000e0067 jr t3 -80000e1c: 00000013 nop -80000e20: 0000306b 0x306b -80000e24: fe442783 lw a5,-28(s0) -80000e28: 00178793 addi a5,a5,1 -80000e2c: fef42223 sw a5,-28(s0) -80000e30: fe442783 lw a5,-28(s0) -80000e34: fec42703 lw a4,-20(s0) -80000e38: f2e7eee3 bltu a5,a4,80000d74 <_vx_mat_add+0x8c> -80000e3c: 00000013 nop -80000e40: 04c12083 lw ra,76(sp) -80000e44: 04812403 lw s0,72(sp) -80000e48: 05010113 addi sp,sp,80 -80000e4c: 00008067 ret +80000d94: 02f70733 mul a4,a4,a5 +80000d98: fe842783 lw a5,-24(s0) +80000d9c: 00f707b3 add a5,a4,a5 +80000da0: fcf42623 sw a5,-52(s0) +80000da4: fe842703 lw a4,-24(s0) +80000da8: fd042783 lw a5,-48(s0) +80000dac: 00f737b3 sltu a5,a4,a5 +80000db0: 0ff7f793 andi a5,a5,255 +80000db4: fcf42423 sw a5,-56(s0) +80000db8: fc842783 lw a5,-56(s0) +80000dbc: 0017b793 seqz a5,a5 +80000dc0: fcf403a3 sb a5,-57(s0) +80000dc4: fc744783 lbu a5,-57(s0) +80000dc8: 00078f13 mv t5,a5 +80000dcc: 800017b7 lui a5,0x80001 +80000dd0: e3478f93 addi t6,a5,-460 # 80000e34 +80000dd4: 000f206b 0xf206b +80000dd8: 01ff707b 0x1ff707b +80000ddc: fcc42783 lw a5,-52(s0) +80000de0: 00279793 slli a5,a5,0x2 +80000de4: fdc42703 lw a4,-36(s0) +80000de8: 00f707b3 add a5,a4,a5 +80000dec: 0007a683 lw a3,0(a5) +80000df0: fcc42783 lw a5,-52(s0) +80000df4: 00279793 slli a5,a5,0x2 +80000df8: fd842703 lw a4,-40(s0) +80000dfc: 00f707b3 add a5,a4,a5 +80000e00: 0007a703 lw a4,0(a5) +80000e04: fcc42783 lw a5,-52(s0) +80000e08: 00279793 slli a5,a5,0x2 +80000e0c: fd442603 lw a2,-44(s0) +80000e10: 00f607b3 add a5,a2,a5 +80000e14: 00e68733 add a4,a3,a4 +80000e18: 00e7a023 sw a4,0(a5) +80000e1c: fe842783 lw a5,-24(s0) +80000e20: 00178793 addi a5,a5,1 +80000e24: fef42423 sw a5,-24(s0) +80000e28: 800017b7 lui a5,0x80001 +80000e2c: e3878e13 addi t3,a5,-456 # 80000e38 +80000e30: 000e0067 jr t3 +80000e34: 00000013 nop +80000e38: 0000306b 0x306b +80000e3c: fe442783 lw a5,-28(s0) +80000e40: 00178793 addi a5,a5,1 +80000e44: fef42223 sw a5,-28(s0) +80000e48: fe442783 lw a5,-28(s0) +80000e4c: fec42703 lw a4,-20(s0) +80000e50: f2e7eee3 bltu a5,a4,80000d8c <_vx_mat_add+0x8c> +80000e54: 00000013 nop +80000e58: 04c12083 lw ra,76(sp) +80000e5c: 04812403 lw s0,72(sp) +80000e60: 05010113 addi sp,sp,80 +80000e64: 00008067 ret -80000e50 : -80000e50: fc010113 addi sp,sp,-64 -80000e54: 02112e23 sw ra,60(sp) -80000e58: 02812c23 sw s0,56(sp) -80000e5c: 04010413 addi s0,sp,64 -80000e60: fca42e23 sw a0,-36(s0) -80000e64: fcb42c23 sw a1,-40(s0) -80000e68: fcc42a23 sw a2,-44(s0) -80000e6c: fcd42823 sw a3,-48(s0) -80000e70: fce42623 sw a4,-52(s0) -80000e74: 810267b7 lui a5,0x81026 -80000e78: fdc42703 lw a4,-36(s0) -80000e7c: 1ce7a623 sw a4,460(a5) # 810261cc -80000e80: 810267b7 lui a5,0x81026 -80000e84: 1cc78793 addi a5,a5,460 # 810261cc -80000e88: fd842703 lw a4,-40(s0) -80000e8c: 00e7a223 sw a4,4(a5) -80000e90: 810267b7 lui a5,0x81026 -80000e94: 1cc78793 addi a5,a5,460 # 810261cc -80000e98: fd442703 lw a4,-44(s0) -80000e9c: 00e7a423 sw a4,8(a5) -80000ea0: 810267b7 lui a5,0x81026 -80000ea4: 1cc78793 addi a5,a5,460 # 810261cc -80000ea8: fcc42703 lw a4,-52(s0) -80000eac: 00e7a623 sw a4,12(a5) -80000eb0: 810267b7 lui a5,0x81026 -80000eb4: 1cc78793 addi a5,a5,460 # 810261cc -80000eb8: fd042703 lw a4,-48(s0) -80000ebc: 00e7a823 sw a4,16(a5) -80000ec0: b28ff0ef jal ra,800001e8 -80000ec4: fea42423 sw a0,-24(s0) -80000ec8: fcc42703 lw a4,-52(s0) -80000ecc: fe842783 lw a5,-24(s0) -80000ed0: 02f757b3 divu a5,a4,a5 -80000ed4: fef42623 sw a5,-20(s0) -80000ed8: fcc42703 lw a4,-52(s0) -80000edc: fe842783 lw a5,-24(s0) -80000ee0: 02f777b3 remu a5,a4,a5 -80000ee4: 00078863 beqz a5,80000ef4 -80000ee8: fec42783 lw a5,-20(s0) -80000eec: 00178793 addi a5,a5,1 -80000ef0: fef42623 sw a5,-20(s0) -80000ef4: 810267b7 lui a5,0x81026 -80000ef8: 1cc78793 addi a5,a5,460 # 810261cc -80000efc: fec42703 lw a4,-20(s0) -80000f00: 00e7aa23 sw a4,20(a5) -80000f04: fcc42703 lw a4,-52(s0) -80000f08: fe842783 lw a5,-24(s0) -80000f0c: 02f76263 bltu a4,a5,80000f30 -80000f10: 810267b7 lui a5,0x81026 -80000f14: 1cc78693 addi a3,a5,460 # 810261cc -80000f18: 800017b7 lui a5,0x80001 -80000f1c: f8878613 addi a2,a5,-120 # 80000f88 -80000f20: fe842583 lw a1,-24(s0) -80000f24: fd042503 lw a0,-48(s0) -80000f28: d38ff0ef jal ra,80000460 -80000f2c: 0200006f j 80000f4c -80000f30: 810267b7 lui a5,0x81026 -80000f34: 1cc78693 addi a3,a5,460 # 810261cc -80000f38: 800017b7 lui a5,0x80001 -80000f3c: f8878613 addi a2,a5,-120 # 80000f88 -80000f40: fcc42583 lw a1,-52(s0) -80000f44: fd042503 lw a0,-48(s0) -80000f48: d18ff0ef jal ra,80000460 -80000f4c: a94ff0ef jal ra,800001e0 -80000f50: fea42223 sw a0,-28(s0) -80000f54: fd042703 lw a4,-48(s0) -80000f58: fe442783 lw a5,-28(s0) -80000f5c: 00e7f863 bgeu a5,a4,80000f6c -80000f60: fe442503 lw a0,-28(s0) -80000f64: decff0ef jal ra,80000550 -80000f68: 00c0006f j 80000f74 -80000f6c: fd042503 lw a0,-48(s0) -80000f70: de0ff0ef jal ra,80000550 -80000f74: 00000013 nop -80000f78: 03c12083 lw ra,60(sp) -80000f7c: 03812403 lw s0,56(sp) -80000f80: 04010113 addi sp,sp,64 -80000f84: 00008067 ret +80000e68 : +80000e68: fc010113 addi sp,sp,-64 +80000e6c: 02112e23 sw ra,60(sp) +80000e70: 02812c23 sw s0,56(sp) +80000e74: 04010413 addi s0,sp,64 +80000e78: fca42e23 sw a0,-36(s0) +80000e7c: fcb42c23 sw a1,-40(s0) +80000e80: fcc42a23 sw a2,-44(s0) +80000e84: fcd42823 sw a3,-48(s0) +80000e88: fce42623 sw a4,-52(s0) +80000e8c: 810267b7 lui a5,0x81026 +80000e90: fdc42703 lw a4,-36(s0) +80000e94: 1ce7a623 sw a4,460(a5) # 810261cc +80000e98: 810267b7 lui a5,0x81026 +80000e9c: 1cc78793 addi a5,a5,460 # 810261cc +80000ea0: fd842703 lw a4,-40(s0) +80000ea4: 00e7a223 sw a4,4(a5) +80000ea8: 810267b7 lui a5,0x81026 +80000eac: 1cc78793 addi a5,a5,460 # 810261cc +80000eb0: fd442703 lw a4,-44(s0) +80000eb4: 00e7a423 sw a4,8(a5) +80000eb8: 810267b7 lui a5,0x81026 +80000ebc: 1cc78793 addi a5,a5,460 # 810261cc +80000ec0: fcc42703 lw a4,-52(s0) +80000ec4: 00e7a623 sw a4,12(a5) +80000ec8: 810267b7 lui a5,0x81026 +80000ecc: 1cc78793 addi a5,a5,460 # 810261cc +80000ed0: fd042703 lw a4,-48(s0) +80000ed4: 00e7a823 sw a4,16(a5) +80000ed8: b28ff0ef jal ra,80000200 +80000edc: fea42423 sw a0,-24(s0) +80000ee0: fcc42703 lw a4,-52(s0) +80000ee4: fe842783 lw a5,-24(s0) +80000ee8: 02f757b3 divu a5,a4,a5 +80000eec: fef42623 sw a5,-20(s0) +80000ef0: fcc42703 lw a4,-52(s0) +80000ef4: fe842783 lw a5,-24(s0) +80000ef8: 02f777b3 remu a5,a4,a5 +80000efc: 00078863 beqz a5,80000f0c +80000f00: fec42783 lw a5,-20(s0) +80000f04: 00178793 addi a5,a5,1 +80000f08: fef42623 sw a5,-20(s0) +80000f0c: 810267b7 lui a5,0x81026 +80000f10: 1cc78793 addi a5,a5,460 # 810261cc +80000f14: fec42703 lw a4,-20(s0) +80000f18: 00e7aa23 sw a4,20(a5) +80000f1c: fcc42703 lw a4,-52(s0) +80000f20: fe842783 lw a5,-24(s0) +80000f24: 02f76263 bltu a4,a5,80000f48 +80000f28: 810267b7 lui a5,0x81026 +80000f2c: 1cc78693 addi a3,a5,460 # 810261cc +80000f30: 800017b7 lui a5,0x80001 +80000f34: fa078613 addi a2,a5,-96 # 80000fa0 +80000f38: fe842583 lw a1,-24(s0) +80000f3c: fd042503 lw a0,-48(s0) +80000f40: d38ff0ef jal ra,80000478 +80000f44: 0200006f j 80000f64 +80000f48: 810267b7 lui a5,0x81026 +80000f4c: 1cc78693 addi a3,a5,460 # 810261cc +80000f50: 800017b7 lui a5,0x80001 +80000f54: fa078613 addi a2,a5,-96 # 80000fa0 +80000f58: fcc42583 lw a1,-52(s0) +80000f5c: fd042503 lw a0,-48(s0) +80000f60: d18ff0ef jal ra,80000478 +80000f64: a94ff0ef jal ra,800001f8 +80000f68: fea42223 sw a0,-28(s0) +80000f6c: fd042703 lw a4,-48(s0) +80000f70: fe442783 lw a5,-28(s0) +80000f74: 00e7f863 bgeu a5,a4,80000f84 +80000f78: fe442503 lw a0,-28(s0) +80000f7c: decff0ef jal ra,80000568 +80000f80: 00c0006f j 80000f8c +80000f84: fd042503 lw a0,-48(s0) +80000f88: de0ff0ef jal ra,80000568 +80000f8c: 00000013 nop +80000f90: 03c12083 lw ra,60(sp) +80000f94: 03812403 lw s0,56(sp) +80000f98: 04010113 addi sp,sp,64 +80000f9c: 00008067 ret -80000f88 <_vx_mat_sub>: -80000f88: fb010113 addi sp,sp,-80 -80000f8c: 04112623 sw ra,76(sp) -80000f90: 04812423 sw s0,72(sp) -80000f94: 05010413 addi s0,sp,80 -80000f98: faa42e23 sw a0,-68(s0) -80000f9c: fab42c23 sw a1,-72(s0) -80000fa0: ea0ff0ef jal ra,80000640 -80000fa4: fea42023 sw a0,-32(s0) -80000fa8: fe042783 lw a5,-32(s0) -80000fac: 0007a783 lw a5,0(a5) -80000fb0: fcf42e23 sw a5,-36(s0) -80000fb4: fe042783 lw a5,-32(s0) -80000fb8: 0047a783 lw a5,4(a5) -80000fbc: fcf42c23 sw a5,-40(s0) +80000fa0 <_vx_mat_sub>: +80000fa0: fb010113 addi sp,sp,-80 +80000fa4: 04112623 sw ra,76(sp) +80000fa8: 04812423 sw s0,72(sp) +80000fac: 05010413 addi s0,sp,80 +80000fb0: faa42e23 sw a0,-68(s0) +80000fb4: fab42c23 sw a1,-72(s0) +80000fb8: ea0ff0ef jal ra,80000658 +80000fbc: fea42023 sw a0,-32(s0) 80000fc0: fe042783 lw a5,-32(s0) -80000fc4: 0087a783 lw a5,8(a5) -80000fc8: fcf42a23 sw a5,-44(s0) +80000fc4: 0007a783 lw a5,0(a5) +80000fc8: fcf42e23 sw a5,-36(s0) 80000fcc: fe042783 lw a5,-32(s0) -80000fd0: 0147a783 lw a5,20(a5) -80000fd4: fef42623 sw a5,-20(s0) -80000fd8: fec42703 lw a4,-20(s0) -80000fdc: fbc42783 lw a5,-68(s0) -80000fe0: 02f707b3 mul a5,a4,a5 -80000fe4: fef42423 sw a5,-24(s0) -80000fe8: fec42783 lw a5,-20(s0) -80000fec: 00079a63 bnez a5,80001000 <_vx_mat_sub+0x78> -80000ff0: 00100793 li a5,1 -80000ff4: fef42623 sw a5,-20(s0) -80000ff8: fbc42783 lw a5,-68(s0) +80000fd0: 0047a783 lw a5,4(a5) +80000fd4: fcf42c23 sw a5,-40(s0) +80000fd8: fe042783 lw a5,-32(s0) +80000fdc: 0087a783 lw a5,8(a5) +80000fe0: fcf42a23 sw a5,-44(s0) +80000fe4: fe042783 lw a5,-32(s0) +80000fe8: 0147a783 lw a5,20(a5) +80000fec: fef42623 sw a5,-20(s0) +80000ff0: fec42703 lw a4,-20(s0) +80000ff4: fbc42783 lw a5,-68(s0) +80000ff8: 02f707b3 mul a5,a4,a5 80000ffc: fef42423 sw a5,-24(s0) -80001000: fe042783 lw a5,-32(s0) -80001004: 00c7a783 lw a5,12(a5) -80001008: fcf42823 sw a5,-48(s0) -8000100c: fe042223 sw zero,-28(s0) -80001010: 0c00006f j 800010d0 <_vx_mat_sub+0x148> -80001014: fb842703 lw a4,-72(s0) -80001018: fd042783 lw a5,-48(s0) -8000101c: 02f70733 mul a4,a4,a5 -80001020: fe842783 lw a5,-24(s0) -80001024: 00f707b3 add a5,a4,a5 -80001028: fcf42623 sw a5,-52(s0) -8000102c: fe842703 lw a4,-24(s0) +80001000: fec42783 lw a5,-20(s0) +80001004: 00079a63 bnez a5,80001018 <_vx_mat_sub+0x78> +80001008: 00100793 li a5,1 +8000100c: fef42623 sw a5,-20(s0) +80001010: fbc42783 lw a5,-68(s0) +80001014: fef42423 sw a5,-24(s0) +80001018: fe042783 lw a5,-32(s0) +8000101c: 00c7a783 lw a5,12(a5) +80001020: fcf42823 sw a5,-48(s0) +80001024: fe042223 sw zero,-28(s0) +80001028: 0c00006f j 800010e8 <_vx_mat_sub+0x148> +8000102c: fb842703 lw a4,-72(s0) 80001030: fd042783 lw a5,-48(s0) -80001034: 00f737b3 sltu a5,a4,a5 -80001038: 0ff7f793 andi a5,a5,255 -8000103c: fcf42423 sw a5,-56(s0) -80001040: fc842783 lw a5,-56(s0) -80001044: 0017b793 seqz a5,a5 -80001048: fcf403a3 sb a5,-57(s0) -8000104c: fc744783 lbu a5,-57(s0) -80001050: 00078f13 mv t5,a5 -80001054: 800017b7 lui a5,0x80001 -80001058: 0bc78f93 addi t6,a5,188 # 800010bc -8000105c: 000f206b 0xf206b -80001060: 01ff707b 0x1ff707b -80001064: fcc42783 lw a5,-52(s0) -80001068: 00279793 slli a5,a5,0x2 -8000106c: fdc42703 lw a4,-36(s0) -80001070: 00f707b3 add a5,a4,a5 -80001074: 0007a683 lw a3,0(a5) -80001078: fcc42783 lw a5,-52(s0) -8000107c: 00279793 slli a5,a5,0x2 -80001080: fd842703 lw a4,-40(s0) -80001084: 00f707b3 add a5,a4,a5 -80001088: 0007a703 lw a4,0(a5) -8000108c: fcc42783 lw a5,-52(s0) -80001090: 00279793 slli a5,a5,0x2 -80001094: fd442603 lw a2,-44(s0) -80001098: 00f607b3 add a5,a2,a5 -8000109c: 40e68733 sub a4,a3,a4 -800010a0: 00e7a023 sw a4,0(a5) -800010a4: fe842783 lw a5,-24(s0) -800010a8: 00178793 addi a5,a5,1 -800010ac: fef42423 sw a5,-24(s0) -800010b0: 800017b7 lui a5,0x80001 -800010b4: 0c078e13 addi t3,a5,192 # 800010c0 -800010b8: 000e0067 jr t3 -800010bc: 00000013 nop -800010c0: 0000306b 0x306b -800010c4: fe442783 lw a5,-28(s0) -800010c8: 00178793 addi a5,a5,1 -800010cc: fef42223 sw a5,-28(s0) -800010d0: fe442783 lw a5,-28(s0) -800010d4: fec42703 lw a4,-20(s0) -800010d8: f2e7eee3 bltu a5,a4,80001014 <_vx_mat_sub+0x8c> -800010dc: 00000013 nop -800010e0: 04c12083 lw ra,76(sp) -800010e4: 04812403 lw s0,72(sp) -800010e8: 05010113 addi sp,sp,80 -800010ec: 00008067 ret +80001034: 02f70733 mul a4,a4,a5 +80001038: fe842783 lw a5,-24(s0) +8000103c: 00f707b3 add a5,a4,a5 +80001040: fcf42623 sw a5,-52(s0) +80001044: fe842703 lw a4,-24(s0) +80001048: fd042783 lw a5,-48(s0) +8000104c: 00f737b3 sltu a5,a4,a5 +80001050: 0ff7f793 andi a5,a5,255 +80001054: fcf42423 sw a5,-56(s0) +80001058: fc842783 lw a5,-56(s0) +8000105c: 0017b793 seqz a5,a5 +80001060: fcf403a3 sb a5,-57(s0) +80001064: fc744783 lbu a5,-57(s0) +80001068: 00078f13 mv t5,a5 +8000106c: 800017b7 lui a5,0x80001 +80001070: 0d478f93 addi t6,a5,212 # 800010d4 +80001074: 000f206b 0xf206b +80001078: 01ff707b 0x1ff707b +8000107c: fcc42783 lw a5,-52(s0) +80001080: 00279793 slli a5,a5,0x2 +80001084: fdc42703 lw a4,-36(s0) +80001088: 00f707b3 add a5,a4,a5 +8000108c: 0007a683 lw a3,0(a5) +80001090: fcc42783 lw a5,-52(s0) +80001094: 00279793 slli a5,a5,0x2 +80001098: fd842703 lw a4,-40(s0) +8000109c: 00f707b3 add a5,a4,a5 +800010a0: 0007a703 lw a4,0(a5) +800010a4: fcc42783 lw a5,-52(s0) +800010a8: 00279793 slli a5,a5,0x2 +800010ac: fd442603 lw a2,-44(s0) +800010b0: 00f607b3 add a5,a2,a5 +800010b4: 40e68733 sub a4,a3,a4 +800010b8: 00e7a023 sw a4,0(a5) +800010bc: fe842783 lw a5,-24(s0) +800010c0: 00178793 addi a5,a5,1 +800010c4: fef42423 sw a5,-24(s0) +800010c8: 800017b7 lui a5,0x80001 +800010cc: 0d878e13 addi t3,a5,216 # 800010d8 +800010d0: 000e0067 jr t3 +800010d4: 00000013 nop +800010d8: 0000306b 0x306b +800010dc: fe442783 lw a5,-28(s0) +800010e0: 00178793 addi a5,a5,1 +800010e4: fef42223 sw a5,-28(s0) +800010e8: fe442783 lw a5,-28(s0) +800010ec: fec42703 lw a4,-20(s0) +800010f0: f2e7eee3 bltu a5,a4,8000102c <_vx_mat_sub+0x8c> +800010f4: 00000013 nop +800010f8: 04c12083 lw ra,76(sp) +800010fc: 04812403 lw s0,72(sp) +80001100: 05010113 addi sp,sp,80 +80001104: 00008067 ret -800010f0 : -800010f0: fc010113 addi sp,sp,-64 -800010f4: 02112e23 sw ra,60(sp) -800010f8: 02812c23 sw s0,56(sp) -800010fc: 04010413 addi s0,sp,64 -80001100: fca42e23 sw a0,-36(s0) -80001104: fcb42c23 sw a1,-40(s0) -80001108: fcc42a23 sw a2,-44(s0) -8000110c: fcd42823 sw a3,-48(s0) -80001110: fce42623 sw a4,-52(s0) -80001114: 810267b7 lui a5,0x81026 -80001118: fdc42703 lw a4,-36(s0) -8000111c: 1ee7a223 sw a4,484(a5) # 810261e4 -80001120: 810267b7 lui a5,0x81026 -80001124: 1e478793 addi a5,a5,484 # 810261e4 -80001128: fd842703 lw a4,-40(s0) -8000112c: 00e7a223 sw a4,4(a5) -80001130: 810267b7 lui a5,0x81026 -80001134: 1e478793 addi a5,a5,484 # 810261e4 -80001138: fd442703 lw a4,-44(s0) -8000113c: 00e7a423 sw a4,8(a5) -80001140: 810267b7 lui a5,0x81026 -80001144: 1e478793 addi a5,a5,484 # 810261e4 -80001148: fcc42703 lw a4,-52(s0) -8000114c: 00e7a623 sw a4,12(a5) -80001150: 810267b7 lui a5,0x81026 -80001154: 1e478793 addi a5,a5,484 # 810261e4 -80001158: fd042703 lw a4,-48(s0) -8000115c: 00e7a823 sw a4,16(a5) -80001160: 888ff0ef jal ra,800001e8 -80001164: fea42423 sw a0,-24(s0) -80001168: fcc42703 lw a4,-52(s0) -8000116c: fe842783 lw a5,-24(s0) -80001170: 02f757b3 divu a5,a4,a5 -80001174: fef42623 sw a5,-20(s0) -80001178: fcc42703 lw a4,-52(s0) -8000117c: fe842783 lw a5,-24(s0) -80001180: 02f777b3 remu a5,a4,a5 -80001184: 00078863 beqz a5,80001194 -80001188: fec42783 lw a5,-20(s0) -8000118c: 00178793 addi a5,a5,1 -80001190: fef42623 sw a5,-20(s0) -80001194: 810267b7 lui a5,0x81026 -80001198: 1e478793 addi a5,a5,484 # 810261e4 -8000119c: fec42703 lw a4,-20(s0) -800011a0: 00e7aa23 sw a4,20(a5) -800011a4: fcc42703 lw a4,-52(s0) -800011a8: fe842783 lw a5,-24(s0) -800011ac: 02f76263 bltu a4,a5,800011d0 -800011b0: 810267b7 lui a5,0x81026 -800011b4: 1e478693 addi a3,a5,484 # 810261e4 -800011b8: 800017b7 lui a5,0x80001 -800011bc: 22878613 addi a2,a5,552 # 80001228 -800011c0: fe842583 lw a1,-24(s0) -800011c4: fd042503 lw a0,-48(s0) -800011c8: a98ff0ef jal ra,80000460 -800011cc: 0200006f j 800011ec -800011d0: 810267b7 lui a5,0x81026 -800011d4: 1e478693 addi a3,a5,484 # 810261e4 -800011d8: 800017b7 lui a5,0x80001 -800011dc: 22878613 addi a2,a5,552 # 80001228 -800011e0: fcc42583 lw a1,-52(s0) -800011e4: fd042503 lw a0,-48(s0) -800011e8: a78ff0ef jal ra,80000460 -800011ec: ff5fe0ef jal ra,800001e0 -800011f0: fea42223 sw a0,-28(s0) -800011f4: fd042703 lw a4,-48(s0) -800011f8: fe442783 lw a5,-28(s0) -800011fc: 00e7f863 bgeu a5,a4,8000120c -80001200: fe442503 lw a0,-28(s0) -80001204: b4cff0ef jal ra,80000550 -80001208: 00c0006f j 80001214 -8000120c: fd042503 lw a0,-48(s0) -80001210: b40ff0ef jal ra,80000550 -80001214: 00000013 nop -80001218: 03c12083 lw ra,60(sp) -8000121c: 03812403 lw s0,56(sp) -80001220: 04010113 addi sp,sp,64 -80001224: 00008067 ret +80001108 : +80001108: fc010113 addi sp,sp,-64 +8000110c: 02112e23 sw ra,60(sp) +80001110: 02812c23 sw s0,56(sp) +80001114: 04010413 addi s0,sp,64 +80001118: fca42e23 sw a0,-36(s0) +8000111c: fcb42c23 sw a1,-40(s0) +80001120: fcc42a23 sw a2,-44(s0) +80001124: fcd42823 sw a3,-48(s0) +80001128: fce42623 sw a4,-52(s0) +8000112c: 810267b7 lui a5,0x81026 +80001130: fdc42703 lw a4,-36(s0) +80001134: 1ee7a223 sw a4,484(a5) # 810261e4 +80001138: 810267b7 lui a5,0x81026 +8000113c: 1e478793 addi a5,a5,484 # 810261e4 +80001140: fd842703 lw a4,-40(s0) +80001144: 00e7a223 sw a4,4(a5) +80001148: 810267b7 lui a5,0x81026 +8000114c: 1e478793 addi a5,a5,484 # 810261e4 +80001150: fd442703 lw a4,-44(s0) +80001154: 00e7a423 sw a4,8(a5) +80001158: 810267b7 lui a5,0x81026 +8000115c: 1e478793 addi a5,a5,484 # 810261e4 +80001160: fcc42703 lw a4,-52(s0) +80001164: 00e7a623 sw a4,12(a5) +80001168: 810267b7 lui a5,0x81026 +8000116c: 1e478793 addi a5,a5,484 # 810261e4 +80001170: fd042703 lw a4,-48(s0) +80001174: 00e7a823 sw a4,16(a5) +80001178: 888ff0ef jal ra,80000200 +8000117c: fea42423 sw a0,-24(s0) +80001180: fcc42703 lw a4,-52(s0) +80001184: fe842783 lw a5,-24(s0) +80001188: 02f757b3 divu a5,a4,a5 +8000118c: fef42623 sw a5,-20(s0) +80001190: fcc42703 lw a4,-52(s0) +80001194: fe842783 lw a5,-24(s0) +80001198: 02f777b3 remu a5,a4,a5 +8000119c: 00078863 beqz a5,800011ac +800011a0: fec42783 lw a5,-20(s0) +800011a4: 00178793 addi a5,a5,1 +800011a8: fef42623 sw a5,-20(s0) +800011ac: 810267b7 lui a5,0x81026 +800011b0: 1e478793 addi a5,a5,484 # 810261e4 +800011b4: fec42703 lw a4,-20(s0) +800011b8: 00e7aa23 sw a4,20(a5) +800011bc: fcc42703 lw a4,-52(s0) +800011c0: fe842783 lw a5,-24(s0) +800011c4: 02f76263 bltu a4,a5,800011e8 +800011c8: 810267b7 lui a5,0x81026 +800011cc: 1e478693 addi a3,a5,484 # 810261e4 +800011d0: 800017b7 lui a5,0x80001 +800011d4: 24078613 addi a2,a5,576 # 80001240 +800011d8: fe842583 lw a1,-24(s0) +800011dc: fd042503 lw a0,-48(s0) +800011e0: a98ff0ef jal ra,80000478 +800011e4: 0200006f j 80001204 +800011e8: 810267b7 lui a5,0x81026 +800011ec: 1e478693 addi a3,a5,484 # 810261e4 +800011f0: 800017b7 lui a5,0x80001 +800011f4: 24078613 addi a2,a5,576 # 80001240 +800011f8: fcc42583 lw a1,-52(s0) +800011fc: fd042503 lw a0,-48(s0) +80001200: a78ff0ef jal ra,80000478 +80001204: ff5fe0ef jal ra,800001f8 +80001208: fea42223 sw a0,-28(s0) +8000120c: fd042703 lw a4,-48(s0) +80001210: fe442783 lw a5,-28(s0) +80001214: 00e7f863 bgeu a5,a4,80001224 +80001218: fe442503 lw a0,-28(s0) +8000121c: b4cff0ef jal ra,80000568 +80001220: 00c0006f j 8000122c +80001224: fd042503 lw a0,-48(s0) +80001228: b40ff0ef jal ra,80000568 +8000122c: 00000013 nop +80001230: 03c12083 lw ra,60(sp) +80001234: 03812403 lw s0,56(sp) +80001238: 04010113 addi sp,sp,64 +8000123c: 00008067 ret -80001228 <_vx_e_mat_add>: -80001228: fb010113 addi sp,sp,-80 -8000122c: 04112623 sw ra,76(sp) -80001230: 04812423 sw s0,72(sp) -80001234: 05010413 addi s0,sp,80 -80001238: faa42e23 sw a0,-68(s0) -8000123c: fab42c23 sw a1,-72(s0) -80001240: c00ff0ef jal ra,80000640 -80001244: fea42023 sw a0,-32(s0) -80001248: fe042783 lw a5,-32(s0) -8000124c: 0007a783 lw a5,0(a5) -80001250: fcf42e23 sw a5,-36(s0) -80001254: fe042783 lw a5,-32(s0) -80001258: 0047a783 lw a5,4(a5) -8000125c: 0007a783 lw a5,0(a5) -80001260: fcf42c23 sw a5,-40(s0) -80001264: fe042783 lw a5,-32(s0) -80001268: 0087a783 lw a5,8(a5) -8000126c: fcf42a23 sw a5,-44(s0) -80001270: fe042783 lw a5,-32(s0) -80001274: 0147a783 lw a5,20(a5) -80001278: fef42623 sw a5,-20(s0) -8000127c: fec42703 lw a4,-20(s0) -80001280: fbc42783 lw a5,-68(s0) -80001284: 02f707b3 mul a5,a4,a5 -80001288: fef42423 sw a5,-24(s0) -8000128c: fec42783 lw a5,-20(s0) -80001290: 00079a63 bnez a5,800012a4 <_vx_e_mat_add+0x7c> -80001294: 00100793 li a5,1 -80001298: fef42623 sw a5,-20(s0) -8000129c: fbc42783 lw a5,-68(s0) +80001240 <_vx_e_mat_add>: +80001240: fb010113 addi sp,sp,-80 +80001244: 04112623 sw ra,76(sp) +80001248: 04812423 sw s0,72(sp) +8000124c: 05010413 addi s0,sp,80 +80001250: faa42e23 sw a0,-68(s0) +80001254: fab42c23 sw a1,-72(s0) +80001258: c00ff0ef jal ra,80000658 +8000125c: fea42023 sw a0,-32(s0) +80001260: fe042783 lw a5,-32(s0) +80001264: 0007a783 lw a5,0(a5) +80001268: fcf42e23 sw a5,-36(s0) +8000126c: fe042783 lw a5,-32(s0) +80001270: 0047a783 lw a5,4(a5) +80001274: 0007a783 lw a5,0(a5) +80001278: fcf42c23 sw a5,-40(s0) +8000127c: fe042783 lw a5,-32(s0) +80001280: 0087a783 lw a5,8(a5) +80001284: fcf42a23 sw a5,-44(s0) +80001288: fe042783 lw a5,-32(s0) +8000128c: 0147a783 lw a5,20(a5) +80001290: fef42623 sw a5,-20(s0) +80001294: fec42703 lw a4,-20(s0) +80001298: fbc42783 lw a5,-68(s0) +8000129c: 02f707b3 mul a5,a4,a5 800012a0: fef42423 sw a5,-24(s0) -800012a4: fe042783 lw a5,-32(s0) -800012a8: 00c7a783 lw a5,12(a5) -800012ac: fcf42823 sw a5,-48(s0) -800012b0: fe042223 sw zero,-28(s0) -800012b4: 0b00006f j 80001364 <_vx_e_mat_add+0x13c> -800012b8: fb842703 lw a4,-72(s0) -800012bc: fd042783 lw a5,-48(s0) -800012c0: 02f70733 mul a4,a4,a5 -800012c4: fe842783 lw a5,-24(s0) -800012c8: 00f707b3 add a5,a4,a5 -800012cc: fcf42623 sw a5,-52(s0) -800012d0: fe842703 lw a4,-24(s0) +800012a4: fec42783 lw a5,-20(s0) +800012a8: 00079a63 bnez a5,800012bc <_vx_e_mat_add+0x7c> +800012ac: 00100793 li a5,1 +800012b0: fef42623 sw a5,-20(s0) +800012b4: fbc42783 lw a5,-68(s0) +800012b8: fef42423 sw a5,-24(s0) +800012bc: fe042783 lw a5,-32(s0) +800012c0: 00c7a783 lw a5,12(a5) +800012c4: fcf42823 sw a5,-48(s0) +800012c8: fe042223 sw zero,-28(s0) +800012cc: 0b00006f j 8000137c <_vx_e_mat_add+0x13c> +800012d0: fb842703 lw a4,-72(s0) 800012d4: fd042783 lw a5,-48(s0) -800012d8: 00f737b3 sltu a5,a4,a5 -800012dc: 0ff7f793 andi a5,a5,255 -800012e0: fcf42423 sw a5,-56(s0) -800012e4: fc842783 lw a5,-56(s0) -800012e8: 0017b793 seqz a5,a5 -800012ec: fcf403a3 sb a5,-57(s0) -800012f0: fc744783 lbu a5,-57(s0) -800012f4: 00078f13 mv t5,a5 -800012f8: 800017b7 lui a5,0x80001 -800012fc: 35078f93 addi t6,a5,848 # 80001350 -80001300: 000f206b 0xf206b -80001304: 01ff707b 0x1ff707b -80001308: fcc42783 lw a5,-52(s0) -8000130c: 00279793 slli a5,a5,0x2 -80001310: fdc42703 lw a4,-36(s0) -80001314: 00f707b3 add a5,a4,a5 -80001318: 0007a683 lw a3,0(a5) -8000131c: fcc42783 lw a5,-52(s0) -80001320: 00279793 slli a5,a5,0x2 -80001324: fd442703 lw a4,-44(s0) -80001328: 00f707b3 add a5,a4,a5 -8000132c: fd842703 lw a4,-40(s0) -80001330: 00e68733 add a4,a3,a4 -80001334: 00e7a023 sw a4,0(a5) -80001338: fe842783 lw a5,-24(s0) -8000133c: 00178793 addi a5,a5,1 -80001340: fef42423 sw a5,-24(s0) -80001344: 800017b7 lui a5,0x80001 -80001348: 35478e13 addi t3,a5,852 # 80001354 -8000134c: 000e0067 jr t3 -80001350: 00000013 nop -80001354: 0000306b 0x306b -80001358: fe442783 lw a5,-28(s0) -8000135c: 00178793 addi a5,a5,1 -80001360: fef42223 sw a5,-28(s0) -80001364: fe442783 lw a5,-28(s0) -80001368: fec42703 lw a4,-20(s0) -8000136c: f4e7e6e3 bltu a5,a4,800012b8 <_vx_e_mat_add+0x90> -80001370: 00000013 nop -80001374: 04c12083 lw ra,76(sp) -80001378: 04812403 lw s0,72(sp) -8000137c: 05010113 addi sp,sp,80 -80001380: 00008067 ret +800012d8: 02f70733 mul a4,a4,a5 +800012dc: fe842783 lw a5,-24(s0) +800012e0: 00f707b3 add a5,a4,a5 +800012e4: fcf42623 sw a5,-52(s0) +800012e8: fe842703 lw a4,-24(s0) +800012ec: fd042783 lw a5,-48(s0) +800012f0: 00f737b3 sltu a5,a4,a5 +800012f4: 0ff7f793 andi a5,a5,255 +800012f8: fcf42423 sw a5,-56(s0) +800012fc: fc842783 lw a5,-56(s0) +80001300: 0017b793 seqz a5,a5 +80001304: fcf403a3 sb a5,-57(s0) +80001308: fc744783 lbu a5,-57(s0) +8000130c: 00078f13 mv t5,a5 +80001310: 800017b7 lui a5,0x80001 +80001314: 36878f93 addi t6,a5,872 # 80001368 +80001318: 000f206b 0xf206b +8000131c: 01ff707b 0x1ff707b +80001320: fcc42783 lw a5,-52(s0) +80001324: 00279793 slli a5,a5,0x2 +80001328: fdc42703 lw a4,-36(s0) +8000132c: 00f707b3 add a5,a4,a5 +80001330: 0007a683 lw a3,0(a5) +80001334: fcc42783 lw a5,-52(s0) +80001338: 00279793 slli a5,a5,0x2 +8000133c: fd442703 lw a4,-44(s0) +80001340: 00f707b3 add a5,a4,a5 +80001344: fd842703 lw a4,-40(s0) +80001348: 00e68733 add a4,a3,a4 +8000134c: 00e7a023 sw a4,0(a5) +80001350: fe842783 lw a5,-24(s0) +80001354: 00178793 addi a5,a5,1 +80001358: fef42423 sw a5,-24(s0) +8000135c: 800017b7 lui a5,0x80001 +80001360: 36c78e13 addi t3,a5,876 # 8000136c +80001364: 000e0067 jr t3 +80001368: 00000013 nop +8000136c: 0000306b 0x306b +80001370: fe442783 lw a5,-28(s0) +80001374: 00178793 addi a5,a5,1 +80001378: fef42223 sw a5,-28(s0) +8000137c: fe442783 lw a5,-28(s0) +80001380: fec42703 lw a4,-20(s0) +80001384: f4e7e6e3 bltu a5,a4,800012d0 <_vx_e_mat_add+0x90> +80001388: 00000013 nop +8000138c: 04c12083 lw ra,76(sp) +80001390: 04812403 lw s0,72(sp) +80001394: 05010113 addi sp,sp,80 +80001398: 00008067 ret -80001384 : -80001384: fc010113 addi sp,sp,-64 -80001388: 02112e23 sw ra,60(sp) -8000138c: 02812c23 sw s0,56(sp) -80001390: 04010413 addi s0,sp,64 -80001394: fca42e23 sw a0,-36(s0) -80001398: fcb42c23 sw a1,-40(s0) -8000139c: fcc42a23 sw a2,-44(s0) -800013a0: fcd42823 sw a3,-48(s0) -800013a4: fce42623 sw a4,-52(s0) -800013a8: 810267b7 lui a5,0x81026 -800013ac: fdc42703 lw a4,-36(s0) -800013b0: 1ee7a223 sw a4,484(a5) # 810261e4 -800013b4: 810267b7 lui a5,0x81026 -800013b8: 1e478793 addi a5,a5,484 # 810261e4 -800013bc: fd842703 lw a4,-40(s0) -800013c0: 00e7a223 sw a4,4(a5) -800013c4: 810267b7 lui a5,0x81026 -800013c8: 1e478793 addi a5,a5,484 # 810261e4 -800013cc: fd442703 lw a4,-44(s0) -800013d0: 00e7a423 sw a4,8(a5) -800013d4: 810267b7 lui a5,0x81026 -800013d8: 1e478793 addi a5,a5,484 # 810261e4 -800013dc: fcc42703 lw a4,-52(s0) -800013e0: 00e7a623 sw a4,12(a5) -800013e4: 810267b7 lui a5,0x81026 -800013e8: 1e478793 addi a5,a5,484 # 810261e4 -800013ec: fd042703 lw a4,-48(s0) -800013f0: 00e7a823 sw a4,16(a5) -800013f4: df5fe0ef jal ra,800001e8 -800013f8: fea42423 sw a0,-24(s0) -800013fc: fcc42703 lw a4,-52(s0) -80001400: fe842783 lw a5,-24(s0) -80001404: 02f757b3 divu a5,a4,a5 -80001408: fef42623 sw a5,-20(s0) -8000140c: fcc42703 lw a4,-52(s0) -80001410: fe842783 lw a5,-24(s0) -80001414: 02f777b3 remu a5,a4,a5 -80001418: 00078863 beqz a5,80001428 -8000141c: fec42783 lw a5,-20(s0) -80001420: 00178793 addi a5,a5,1 -80001424: fef42623 sw a5,-20(s0) -80001428: 810267b7 lui a5,0x81026 -8000142c: 1e478793 addi a5,a5,484 # 810261e4 -80001430: fec42703 lw a4,-20(s0) -80001434: 00e7aa23 sw a4,20(a5) -80001438: fcc42703 lw a4,-52(s0) -8000143c: fe842783 lw a5,-24(s0) -80001440: 02f76263 bltu a4,a5,80001464 -80001444: 810267b7 lui a5,0x81026 -80001448: 1e478693 addi a3,a5,484 # 810261e4 -8000144c: 800017b7 lui a5,0x80001 -80001450: 4bc78613 addi a2,a5,1212 # 800014bc -80001454: fe842583 lw a1,-24(s0) -80001458: fd042503 lw a0,-48(s0) -8000145c: 804ff0ef jal ra,80000460 -80001460: 0200006f j 80001480 -80001464: 810267b7 lui a5,0x81026 -80001468: 1e478693 addi a3,a5,484 # 810261e4 -8000146c: 800017b7 lui a5,0x80001 -80001470: 4bc78613 addi a2,a5,1212 # 800014bc -80001474: fcc42583 lw a1,-52(s0) -80001478: fd042503 lw a0,-48(s0) -8000147c: fe5fe0ef jal ra,80000460 -80001480: d61fe0ef jal ra,800001e0 -80001484: fea42223 sw a0,-28(s0) -80001488: fd042703 lw a4,-48(s0) -8000148c: fe442783 lw a5,-28(s0) -80001490: 00e7f863 bgeu a5,a4,800014a0 -80001494: fe442503 lw a0,-28(s0) -80001498: 8b8ff0ef jal ra,80000550 -8000149c: 00c0006f j 800014a8 -800014a0: fd042503 lw a0,-48(s0) -800014a4: 8acff0ef jal ra,80000550 -800014a8: 00000013 nop -800014ac: 03c12083 lw ra,60(sp) -800014b0: 03812403 lw s0,56(sp) -800014b4: 04010113 addi sp,sp,64 -800014b8: 00008067 ret +8000139c : +8000139c: fc010113 addi sp,sp,-64 +800013a0: 02112e23 sw ra,60(sp) +800013a4: 02812c23 sw s0,56(sp) +800013a8: 04010413 addi s0,sp,64 +800013ac: fca42e23 sw a0,-36(s0) +800013b0: fcb42c23 sw a1,-40(s0) +800013b4: fcc42a23 sw a2,-44(s0) +800013b8: fcd42823 sw a3,-48(s0) +800013bc: fce42623 sw a4,-52(s0) +800013c0: 810267b7 lui a5,0x81026 +800013c4: fdc42703 lw a4,-36(s0) +800013c8: 1ee7a223 sw a4,484(a5) # 810261e4 +800013cc: 810267b7 lui a5,0x81026 +800013d0: 1e478793 addi a5,a5,484 # 810261e4 +800013d4: fd842703 lw a4,-40(s0) +800013d8: 00e7a223 sw a4,4(a5) +800013dc: 810267b7 lui a5,0x81026 +800013e0: 1e478793 addi a5,a5,484 # 810261e4 +800013e4: fd442703 lw a4,-44(s0) +800013e8: 00e7a423 sw a4,8(a5) +800013ec: 810267b7 lui a5,0x81026 +800013f0: 1e478793 addi a5,a5,484 # 810261e4 +800013f4: fcc42703 lw a4,-52(s0) +800013f8: 00e7a623 sw a4,12(a5) +800013fc: 810267b7 lui a5,0x81026 +80001400: 1e478793 addi a5,a5,484 # 810261e4 +80001404: fd042703 lw a4,-48(s0) +80001408: 00e7a823 sw a4,16(a5) +8000140c: df5fe0ef jal ra,80000200 +80001410: fea42423 sw a0,-24(s0) +80001414: fcc42703 lw a4,-52(s0) +80001418: fe842783 lw a5,-24(s0) +8000141c: 02f757b3 divu a5,a4,a5 +80001420: fef42623 sw a5,-20(s0) +80001424: fcc42703 lw a4,-52(s0) +80001428: fe842783 lw a5,-24(s0) +8000142c: 02f777b3 remu a5,a4,a5 +80001430: 00078863 beqz a5,80001440 +80001434: fec42783 lw a5,-20(s0) +80001438: 00178793 addi a5,a5,1 +8000143c: fef42623 sw a5,-20(s0) +80001440: 810267b7 lui a5,0x81026 +80001444: 1e478793 addi a5,a5,484 # 810261e4 +80001448: fec42703 lw a4,-20(s0) +8000144c: 00e7aa23 sw a4,20(a5) +80001450: fcc42703 lw a4,-52(s0) +80001454: fe842783 lw a5,-24(s0) +80001458: 02f76263 bltu a4,a5,8000147c +8000145c: 810267b7 lui a5,0x81026 +80001460: 1e478693 addi a3,a5,484 # 810261e4 +80001464: 800017b7 lui a5,0x80001 +80001468: 4d478613 addi a2,a5,1236 # 800014d4 +8000146c: fe842583 lw a1,-24(s0) +80001470: fd042503 lw a0,-48(s0) +80001474: 804ff0ef jal ra,80000478 +80001478: 0200006f j 80001498 +8000147c: 810267b7 lui a5,0x81026 +80001480: 1e478693 addi a3,a5,484 # 810261e4 +80001484: 800017b7 lui a5,0x80001 +80001488: 4d478613 addi a2,a5,1236 # 800014d4 +8000148c: fcc42583 lw a1,-52(s0) +80001490: fd042503 lw a0,-48(s0) +80001494: fe5fe0ef jal ra,80000478 +80001498: d61fe0ef jal ra,800001f8 +8000149c: fea42223 sw a0,-28(s0) +800014a0: fd042703 lw a4,-48(s0) +800014a4: fe442783 lw a5,-28(s0) +800014a8: 00e7f863 bgeu a5,a4,800014b8 +800014ac: fe442503 lw a0,-28(s0) +800014b0: 8b8ff0ef jal ra,80000568 +800014b4: 00c0006f j 800014c0 +800014b8: fd042503 lw a0,-48(s0) +800014bc: 8acff0ef jal ra,80000568 +800014c0: 00000013 nop +800014c4: 03c12083 lw ra,60(sp) +800014c8: 03812403 lw s0,56(sp) +800014cc: 04010113 addi sp,sp,64 +800014d0: 00008067 ret -800014bc <_vx_e_mat_mult>: -800014bc: fb010113 addi sp,sp,-80 -800014c0: 04112623 sw ra,76(sp) -800014c4: 04812423 sw s0,72(sp) -800014c8: 05010413 addi s0,sp,80 -800014cc: faa42e23 sw a0,-68(s0) -800014d0: fab42c23 sw a1,-72(s0) -800014d4: 96cff0ef jal ra,80000640 -800014d8: fea42023 sw a0,-32(s0) -800014dc: fe042783 lw a5,-32(s0) -800014e0: 0007a783 lw a5,0(a5) -800014e4: fcf42e23 sw a5,-36(s0) -800014e8: fe042783 lw a5,-32(s0) -800014ec: 0047a783 lw a5,4(a5) -800014f0: 0007a783 lw a5,0(a5) -800014f4: fcf42c23 sw a5,-40(s0) -800014f8: fe042783 lw a5,-32(s0) -800014fc: 0087a783 lw a5,8(a5) -80001500: fcf42a23 sw a5,-44(s0) -80001504: fe042783 lw a5,-32(s0) -80001508: 0147a783 lw a5,20(a5) -8000150c: fef42623 sw a5,-20(s0) -80001510: fec42703 lw a4,-20(s0) -80001514: fbc42783 lw a5,-68(s0) -80001518: 02f707b3 mul a5,a4,a5 -8000151c: fef42423 sw a5,-24(s0) -80001520: fec42783 lw a5,-20(s0) -80001524: 00079a63 bnez a5,80001538 <_vx_e_mat_mult+0x7c> -80001528: 00100793 li a5,1 -8000152c: fef42623 sw a5,-20(s0) -80001530: fbc42783 lw a5,-68(s0) +800014d4 <_vx_e_mat_mult>: +800014d4: fb010113 addi sp,sp,-80 +800014d8: 04112623 sw ra,76(sp) +800014dc: 04812423 sw s0,72(sp) +800014e0: 05010413 addi s0,sp,80 +800014e4: faa42e23 sw a0,-68(s0) +800014e8: fab42c23 sw a1,-72(s0) +800014ec: 96cff0ef jal ra,80000658 +800014f0: fea42023 sw a0,-32(s0) +800014f4: fe042783 lw a5,-32(s0) +800014f8: 0007a783 lw a5,0(a5) +800014fc: fcf42e23 sw a5,-36(s0) +80001500: fe042783 lw a5,-32(s0) +80001504: 0047a783 lw a5,4(a5) +80001508: 0007a783 lw a5,0(a5) +8000150c: fcf42c23 sw a5,-40(s0) +80001510: fe042783 lw a5,-32(s0) +80001514: 0087a783 lw a5,8(a5) +80001518: fcf42a23 sw a5,-44(s0) +8000151c: fe042783 lw a5,-32(s0) +80001520: 0147a783 lw a5,20(a5) +80001524: fef42623 sw a5,-20(s0) +80001528: fec42703 lw a4,-20(s0) +8000152c: fbc42783 lw a5,-68(s0) +80001530: 02f707b3 mul a5,a4,a5 80001534: fef42423 sw a5,-24(s0) -80001538: fe042783 lw a5,-32(s0) -8000153c: 00c7a783 lw a5,12(a5) -80001540: fcf42823 sw a5,-48(s0) -80001544: fe042223 sw zero,-28(s0) -80001548: 0b00006f j 800015f8 <_vx_e_mat_mult+0x13c> -8000154c: fb842703 lw a4,-72(s0) -80001550: fd042783 lw a5,-48(s0) -80001554: 02f70733 mul a4,a4,a5 -80001558: fe842783 lw a5,-24(s0) -8000155c: 00f707b3 add a5,a4,a5 -80001560: fcf42623 sw a5,-52(s0) -80001564: fe842703 lw a4,-24(s0) +80001538: fec42783 lw a5,-20(s0) +8000153c: 00079a63 bnez a5,80001550 <_vx_e_mat_mult+0x7c> +80001540: 00100793 li a5,1 +80001544: fef42623 sw a5,-20(s0) +80001548: fbc42783 lw a5,-68(s0) +8000154c: fef42423 sw a5,-24(s0) +80001550: fe042783 lw a5,-32(s0) +80001554: 00c7a783 lw a5,12(a5) +80001558: fcf42823 sw a5,-48(s0) +8000155c: fe042223 sw zero,-28(s0) +80001560: 0b00006f j 80001610 <_vx_e_mat_mult+0x13c> +80001564: fb842703 lw a4,-72(s0) 80001568: fd042783 lw a5,-48(s0) -8000156c: 00f737b3 sltu a5,a4,a5 -80001570: 0ff7f793 andi a5,a5,255 -80001574: fcf42423 sw a5,-56(s0) -80001578: fc842783 lw a5,-56(s0) -8000157c: 0017b793 seqz a5,a5 -80001580: fcf403a3 sb a5,-57(s0) -80001584: fc744783 lbu a5,-57(s0) -80001588: 00078f13 mv t5,a5 -8000158c: 800017b7 lui a5,0x80001 -80001590: 5e478f93 addi t6,a5,1508 # 800015e4 -80001594: 000f206b 0xf206b -80001598: 01ff707b 0x1ff707b -8000159c: fcc42783 lw a5,-52(s0) -800015a0: 00279793 slli a5,a5,0x2 -800015a4: fdc42703 lw a4,-36(s0) -800015a8: 00f707b3 add a5,a4,a5 -800015ac: 0007a683 lw a3,0(a5) -800015b0: fcc42783 lw a5,-52(s0) -800015b4: 00279793 slli a5,a5,0x2 -800015b8: fd442703 lw a4,-44(s0) -800015bc: 00f707b3 add a5,a4,a5 -800015c0: fd842703 lw a4,-40(s0) -800015c4: 02e68733 mul a4,a3,a4 -800015c8: 00e7a023 sw a4,0(a5) -800015cc: fe842783 lw a5,-24(s0) -800015d0: 00178793 addi a5,a5,1 -800015d4: fef42423 sw a5,-24(s0) -800015d8: 800017b7 lui a5,0x80001 -800015dc: 5e878e13 addi t3,a5,1512 # 800015e8 -800015e0: 000e0067 jr t3 -800015e4: 00000013 nop -800015e8: 0000306b 0x306b -800015ec: fe442783 lw a5,-28(s0) -800015f0: 00178793 addi a5,a5,1 -800015f4: fef42223 sw a5,-28(s0) -800015f8: fe442783 lw a5,-28(s0) -800015fc: fec42703 lw a4,-20(s0) -80001600: f4e7e6e3 bltu a5,a4,8000154c <_vx_e_mat_mult+0x90> -80001604: 00000013 nop -80001608: 04c12083 lw ra,76(sp) -8000160c: 04812403 lw s0,72(sp) -80001610: 05010113 addi sp,sp,80 -80001614: 00008067 ret +8000156c: 02f70733 mul a4,a4,a5 +80001570: fe842783 lw a5,-24(s0) +80001574: 00f707b3 add a5,a4,a5 +80001578: fcf42623 sw a5,-52(s0) +8000157c: fe842703 lw a4,-24(s0) +80001580: fd042783 lw a5,-48(s0) +80001584: 00f737b3 sltu a5,a4,a5 +80001588: 0ff7f793 andi a5,a5,255 +8000158c: fcf42423 sw a5,-56(s0) +80001590: fc842783 lw a5,-56(s0) +80001594: 0017b793 seqz a5,a5 +80001598: fcf403a3 sb a5,-57(s0) +8000159c: fc744783 lbu a5,-57(s0) +800015a0: 00078f13 mv t5,a5 +800015a4: 800017b7 lui a5,0x80001 +800015a8: 5fc78f93 addi t6,a5,1532 # 800015fc +800015ac: 000f206b 0xf206b +800015b0: 01ff707b 0x1ff707b +800015b4: fcc42783 lw a5,-52(s0) +800015b8: 00279793 slli a5,a5,0x2 +800015bc: fdc42703 lw a4,-36(s0) +800015c0: 00f707b3 add a5,a4,a5 +800015c4: 0007a683 lw a3,0(a5) +800015c8: fcc42783 lw a5,-52(s0) +800015cc: 00279793 slli a5,a5,0x2 +800015d0: fd442703 lw a4,-44(s0) +800015d4: 00f707b3 add a5,a4,a5 +800015d8: fd842703 lw a4,-40(s0) +800015dc: 02e68733 mul a4,a3,a4 +800015e0: 00e7a023 sw a4,0(a5) +800015e4: fe842783 lw a5,-24(s0) +800015e8: 00178793 addi a5,a5,1 +800015ec: fef42423 sw a5,-24(s0) +800015f0: 800017b7 lui a5,0x80001 +800015f4: 60078e13 addi t3,a5,1536 # 80001600 +800015f8: 000e0067 jr t3 +800015fc: 00000013 nop +80001600: 0000306b 0x306b +80001604: fe442783 lw a5,-28(s0) +80001608: 00178793 addi a5,a5,1 +8000160c: fef42223 sw a5,-28(s0) +80001610: fe442783 lw a5,-28(s0) +80001614: fec42703 lw a4,-20(s0) +80001618: f4e7e6e3 bltu a5,a4,80001564 <_vx_e_mat_mult+0x90> +8000161c: 00000013 nop +80001620: 04c12083 lw ra,76(sp) +80001624: 04812403 lw s0,72(sp) +80001628: 05010113 addi sp,sp,80 +8000162c: 00008067 ret -80001618 : -80001618: fd010113 addi sp,sp,-48 -8000161c: 02812623 sw s0,44(sp) -80001620: 03010413 addi s0,sp,48 -80001624: fca42e23 sw a0,-36(s0) -80001628: fe042623 sw zero,-20(s0) -8000162c: 0100006f j 8000163c -80001630: fec42783 lw a5,-20(s0) -80001634: 00178793 addi a5,a5,1 -80001638: fef42623 sw a5,-20(s0) -8000163c: fec42703 lw a4,-20(s0) -80001640: fdc42783 lw a5,-36(s0) -80001644: fef746e3 blt a4,a5,80001630 -80001648: 00000013 nop -8000164c: 02c12403 lw s0,44(sp) -80001650: 03010113 addi sp,sp,48 -80001654: 00008067 ret +80001630 : +80001630: fd010113 addi sp,sp,-48 +80001634: 02812623 sw s0,44(sp) +80001638: 03010413 addi s0,sp,48 +8000163c: fca42e23 sw a0,-36(s0) +80001640: fe042623 sw zero,-20(s0) +80001644: 0100006f j 80001654 +80001648: fec42783 lw a5,-20(s0) +8000164c: 00178793 addi a5,a5,1 +80001650: fef42623 sw a5,-20(s0) +80001654: fec42703 lw a4,-20(s0) +80001658: fdc42783 lw a5,-36(s0) +8000165c: fef746e3 blt a4,a5,80001648 +80001660: 00000013 nop +80001664: 02c12403 lw s0,44(sp) +80001668: 03010113 addi sp,sp,48 +8000166c: 00008067 ret -80001658 : -80001658: fd010113 addi sp,sp,-48 -8000165c: 02112623 sw ra,44(sp) -80001660: 02812423 sw s0,40(sp) -80001664: 03010413 addi s0,sp,48 -80001668: fca42e23 sw a0,-36(s0) -8000166c: fcb42c23 sw a1,-40(s0) -80001670: 810267b7 lui a5,0x81026 -80001674: 1fc78713 addi a4,a5,508 # 810261fc -80001678: fdc42783 lw a5,-36(s0) -8000167c: 00f707b3 add a5,a4,a5 -80001680: 00100713 li a4,1 -80001684: 00e78023 sb a4,0(a5) -80001688: fdc42783 lw a5,-36(s0) -8000168c: 0c079063 bnez a5,8000174c -80001690: fe0401a3 sb zero,-29(s0) -80001694: fe042623 sw zero,-20(s0) -80001698: 0a80006f j 80001740 -8000169c: fe042623 sw zero,-20(s0) -800016a0: fe042423 sw zero,-24(s0) -800016a4: 0340006f j 800016d8 -800016a8: 810267b7 lui a5,0x81026 -800016ac: 1fc78713 addi a4,a5,508 # 810261fc -800016b0: fe842783 lw a5,-24(s0) -800016b4: 00f707b3 add a5,a4,a5 -800016b8: 0007c783 lbu a5,0(a5) -800016bc: 00078863 beqz a5,800016cc -800016c0: fec42783 lw a5,-20(s0) -800016c4: 00178793 addi a5,a5,1 -800016c8: fef42623 sw a5,-20(s0) -800016cc: fe842783 lw a5,-24(s0) -800016d0: 00178793 addi a5,a5,1 -800016d4: fef42423 sw a5,-24(s0) -800016d8: fe842703 lw a4,-24(s0) -800016dc: fd842783 lw a5,-40(s0) -800016e0: fcf744e3 blt a4,a5,800016a8 -800016e4: fec42703 lw a4,-20(s0) -800016e8: fd842783 lw a5,-40(s0) -800016ec: 04f71a63 bne a4,a5,80001740 -800016f0: fe042223 sw zero,-28(s0) -800016f4: 0400006f j 80001734 -800016f8: 810267b7 lui a5,0x81026 -800016fc: 1fc78713 addi a4,a5,508 # 810261fc -80001700: fe442783 lw a5,-28(s0) -80001704: 00f707b3 add a5,a4,a5 -80001708: 00078023 sb zero,0(a5) -8000170c: 810297b7 lui a5,0x81029 -80001710: 00100713 li a4,1 -80001714: 2ce78223 sb a4,708(a5) # 810292c4 -80001718: 04600513 li a0,70 -8000171c: efdff0ef jal ra,80001618 -80001720: 810297b7 lui a5,0x81029 -80001724: 2c078223 sb zero,708(a5) # 810292c4 -80001728: fe442783 lw a5,-28(s0) -8000172c: 00178793 addi a5,a5,1 -80001730: fef42223 sw a5,-28(s0) -80001734: fe442703 lw a4,-28(s0) -80001738: fd842783 lw a5,-40(s0) -8000173c: faf74ee3 blt a4,a5,800016f8 -80001740: fe344783 lbu a5,-29(s0) -80001744: f4079ce3 bnez a5,8000169c -80001748: 0240006f j 8000176c -8000174c: 00000013 nop -80001750: 810297b7 lui a5,0x81029 -80001754: 2c47c783 lbu a5,708(a5) # 810292c4 -80001758: 0017c793 xori a5,a5,1 -8000175c: 0ff7f793 andi a5,a5,255 -80001760: fe0798e3 bnez a5,80001750 -80001764: 06400513 li a0,100 -80001768: eb1ff0ef jal ra,80001618 -8000176c: 00000013 nop -80001770: 02c12083 lw ra,44(sp) -80001774: 02812403 lw s0,40(sp) -80001778: 03010113 addi sp,sp,48 -8000177c: 00008067 ret +80001670 : +80001670: fd010113 addi sp,sp,-48 +80001674: 02112623 sw ra,44(sp) +80001678: 02812423 sw s0,40(sp) +8000167c: 03010413 addi s0,sp,48 +80001680: fca42e23 sw a0,-36(s0) +80001684: fcb42c23 sw a1,-40(s0) +80001688: 810267b7 lui a5,0x81026 +8000168c: 1fc78713 addi a4,a5,508 # 810261fc +80001690: fdc42783 lw a5,-36(s0) +80001694: 00f707b3 add a5,a4,a5 +80001698: 00100713 li a4,1 +8000169c: 00e78023 sb a4,0(a5) +800016a0: fdc42783 lw a5,-36(s0) +800016a4: 0c079063 bnez a5,80001764 +800016a8: fe0401a3 sb zero,-29(s0) +800016ac: fe042623 sw zero,-20(s0) +800016b0: 0a80006f j 80001758 +800016b4: fe042623 sw zero,-20(s0) +800016b8: fe042423 sw zero,-24(s0) +800016bc: 0340006f j 800016f0 +800016c0: 810267b7 lui a5,0x81026 +800016c4: 1fc78713 addi a4,a5,508 # 810261fc +800016c8: fe842783 lw a5,-24(s0) +800016cc: 00f707b3 add a5,a4,a5 +800016d0: 0007c783 lbu a5,0(a5) +800016d4: 00078863 beqz a5,800016e4 +800016d8: fec42783 lw a5,-20(s0) +800016dc: 00178793 addi a5,a5,1 +800016e0: fef42623 sw a5,-20(s0) +800016e4: fe842783 lw a5,-24(s0) +800016e8: 00178793 addi a5,a5,1 +800016ec: fef42423 sw a5,-24(s0) +800016f0: fe842703 lw a4,-24(s0) +800016f4: fd842783 lw a5,-40(s0) +800016f8: fcf744e3 blt a4,a5,800016c0 +800016fc: fec42703 lw a4,-20(s0) +80001700: fd842783 lw a5,-40(s0) +80001704: 04f71a63 bne a4,a5,80001758 +80001708: fe042223 sw zero,-28(s0) +8000170c: 0400006f j 8000174c +80001710: 810267b7 lui a5,0x81026 +80001714: 1fc78713 addi a4,a5,508 # 810261fc +80001718: fe442783 lw a5,-28(s0) +8000171c: 00f707b3 add a5,a4,a5 +80001720: 00078023 sb zero,0(a5) +80001724: 810297b7 lui a5,0x81029 +80001728: 00100713 li a4,1 +8000172c: 2ce78223 sb a4,708(a5) # 810292c4 +80001730: 04600513 li a0,70 +80001734: efdff0ef jal ra,80001630 +80001738: 810297b7 lui a5,0x81029 +8000173c: 2c078223 sb zero,708(a5) # 810292c4 +80001740: fe442783 lw a5,-28(s0) +80001744: 00178793 addi a5,a5,1 +80001748: fef42223 sw a5,-28(s0) +8000174c: fe442703 lw a4,-28(s0) +80001750: fd842783 lw a5,-40(s0) +80001754: faf74ee3 blt a4,a5,80001710 +80001758: fe344783 lbu a5,-29(s0) +8000175c: f4079ce3 bnez a5,800016b4 +80001760: 0240006f j 80001784 +80001764: 00000013 nop +80001768: 810297b7 lui a5,0x81029 +8000176c: 2c47c783 lbu a5,708(a5) # 810292c4 +80001770: 0017c793 xori a5,a5,1 +80001774: 0ff7f793 andi a5,a5,255 +80001778: fe0798e3 bnez a5,80001768 +8000177c: 06400513 li a0,100 +80001780: eb1ff0ef jal ra,80001630 +80001784: 00000013 nop +80001788: 02c12083 lw ra,44(sp) +8000178c: 02812403 lw s0,40(sp) +80001790: 03010113 addi sp,sp,48 +80001794: 00008067 ret -80001780 : -80001780: ff010113 addi sp,sp,-16 -80001784: 00812623 sw s0,12(sp) -80001788: 01010413 addi s0,sp,16 -8000178c: 00000793 li a5,0 -80001790: 00000813 li a6,0 -80001794: 00078513 mv a0,a5 -80001798: 00080593 mv a1,a6 -8000179c: 00c12403 lw s0,12(sp) -800017a0: 01010113 addi sp,sp,16 -800017a4: 00008067 ret +80001798 : +80001798: ff010113 addi sp,sp,-16 +8000179c: 00812623 sw s0,12(sp) +800017a0: 01010413 addi s0,sp,16 +800017a4: 00000793 li a5,0 +800017a8: 00000813 li a6,0 +800017ac: 00078513 mv a0,a5 +800017b0: 00080593 mv a1,a6 +800017b4: 00c12403 lw s0,12(sp) +800017b8: 01010113 addi sp,sp,16 +800017bc: 00008067 ret -800017a8 : -800017a8: fe010113 addi sp,sp,-32 -800017ac: 00812e23 sw s0,28(sp) -800017b0: 02010413 addi s0,sp,32 -800017b4: fe042623 sw zero,-20(s0) -800017b8: 0480006f j 80001800 -800017bc: 810267b7 lui a5,0x81026 -800017c0: fec42703 lw a4,-20(s0) -800017c4: 00271713 slli a4,a4,0x2 -800017c8: 21c78793 addi a5,a5,540 # 8102621c -800017cc: 00f707b3 add a5,a4,a5 -800017d0: 00300713 li a4,3 -800017d4: 00e7a023 sw a4,0(a5) -800017d8: 810277b7 lui a5,0x81027 -800017dc: fec42703 lw a4,-20(s0) -800017e0: 00271713 slli a4,a4,0x2 -800017e4: 21c78793 addi a5,a5,540 # 8102721c -800017e8: 00f707b3 add a5,a4,a5 -800017ec: 00200713 li a4,2 -800017f0: 00e7a023 sw a4,0(a5) -800017f4: fec42783 lw a5,-20(s0) -800017f8: 00178793 addi a5,a5,1 -800017fc: fef42623 sw a5,-20(s0) -80001800: fec42703 lw a4,-20(s0) -80001804: 0ff00793 li a5,255 -80001808: fae7dae3 bge a5,a4,800017bc -8000180c: 00000013 nop -80001810: 01c12403 lw s0,28(sp) -80001814: 02010113 addi sp,sp,32 -80001818: 00008067 ret +800017c0 : +800017c0: fe010113 addi sp,sp,-32 +800017c4: 00812e23 sw s0,28(sp) +800017c8: 02010413 addi s0,sp,32 +800017cc: fe042623 sw zero,-20(s0) +800017d0: 0480006f j 80001818 +800017d4: 810267b7 lui a5,0x81026 +800017d8: fec42703 lw a4,-20(s0) +800017dc: 00271713 slli a4,a4,0x2 +800017e0: 21c78793 addi a5,a5,540 # 8102621c +800017e4: 00f707b3 add a5,a4,a5 +800017e8: 00300713 li a4,3 +800017ec: 00e7a023 sw a4,0(a5) +800017f0: 810277b7 lui a5,0x81027 +800017f4: fec42703 lw a4,-20(s0) +800017f8: 00271713 slli a4,a4,0x2 +800017fc: 21c78793 addi a5,a5,540 # 8102721c +80001800: 00f707b3 add a5,a4,a5 +80001804: 00200713 li a4,2 +80001808: 00e7a023 sw a4,0(a5) +8000180c: fec42783 lw a5,-20(s0) +80001810: 00178793 addi a5,a5,1 +80001814: fef42623 sw a5,-20(s0) +80001818: fec42703 lw a4,-20(s0) +8000181c: 0ff00793 li a5,255 +80001820: fae7dae3 bge a5,a4,800017d4 +80001824: 00000013 nop +80001828: 01c12403 lw s0,28(sp) +8000182c: 02010113 addi sp,sp,32 +80001830: 00008067 ret -8000181c : -8000181c: fd010113 addi sp,sp,-48 -80001820: 02112623 sw ra,44(sp) -80001824: 02812423 sw s0,40(sp) -80001828: 03010413 addi s0,sp,48 -8000182c: fca42e23 sw a0,-36(s0) -80001830: 810007b7 lui a5,0x81000 -80001834: 11878513 addi a0,a5,280 # 81000118 -80001838: f8dfe0ef jal ra,800007c4 -8000183c: fe042623 sw zero,-20(s0) -80001840: 0580006f j 80001898 -80001844: fec42783 lw a5,-20(s0) -80001848: 00078e63 beqz a5,80001864 -8000184c: fec42783 lw a5,-20(s0) -80001850: 00f7f793 andi a5,a5,15 -80001854: 00079863 bnez a5,80001864 -80001858: 810007b7 lui a5,0x81000 -8000185c: 13c78513 addi a0,a5,316 # 8100013c -80001860: f65fe0ef jal ra,800007c4 +80001834 : +80001834: fd010113 addi sp,sp,-48 +80001838: 02112623 sw ra,44(sp) +8000183c: 02812423 sw s0,40(sp) +80001840: 03010413 addi s0,sp,48 +80001844: fca42e23 sw a0,-36(s0) +80001848: 810007b7 lui a5,0x81000 +8000184c: 11878513 addi a0,a5,280 # 81000118 +80001850: f8dfe0ef jal ra,800007dc +80001854: fe042623 sw zero,-20(s0) +80001858: 0580006f j 800018b0 +8000185c: fec42783 lw a5,-20(s0) +80001860: 00078e63 beqz a5,8000187c 80001864: fec42783 lw a5,-20(s0) -80001868: 00279793 slli a5,a5,0x2 -8000186c: fdc42703 lw a4,-36(s0) -80001870: 00f707b3 add a5,a4,a5 -80001874: 0007a783 lw a5,0(a5) -80001878: 00078513 mv a0,a5 -8000187c: f85fe0ef jal ra,80000800 -80001880: 810007b7 lui a5,0x81000 -80001884: 14078513 addi a0,a5,320 # 81000140 -80001888: f3dfe0ef jal ra,800007c4 -8000188c: fec42783 lw a5,-20(s0) -80001890: 00178793 addi a5,a5,1 -80001894: fef42623 sw a5,-20(s0) -80001898: fec42703 lw a4,-20(s0) -8000189c: 0ff00793 li a5,255 -800018a0: fae7d2e3 bge a5,a4,80001844 -800018a4: 810007b7 lui a5,0x81000 -800018a8: 14478513 addi a0,a5,324 # 81000144 -800018ac: f19fe0ef jal ra,800007c4 -800018b0: 00000013 nop -800018b4: 02c12083 lw ra,44(sp) -800018b8: 02812403 lw s0,40(sp) -800018bc: 03010113 addi sp,sp,48 -800018c0: 00008067 ret +80001868: 00f7f793 andi a5,a5,15 +8000186c: 00079863 bnez a5,8000187c +80001870: 810007b7 lui a5,0x81000 +80001874: 13c78513 addi a0,a5,316 # 8100013c +80001878: f65fe0ef jal ra,800007dc +8000187c: fec42783 lw a5,-20(s0) +80001880: 00279793 slli a5,a5,0x2 +80001884: fdc42703 lw a4,-36(s0) +80001888: 00f707b3 add a5,a4,a5 +8000188c: 0007a783 lw a5,0(a5) +80001890: 00078513 mv a0,a5 +80001894: f85fe0ef jal ra,80000818 +80001898: 810007b7 lui a5,0x81000 +8000189c: 14078513 addi a0,a5,320 # 81000140 +800018a0: f3dfe0ef jal ra,800007dc +800018a4: fec42783 lw a5,-20(s0) +800018a8: 00178793 addi a5,a5,1 +800018ac: fef42623 sw a5,-20(s0) +800018b0: fec42703 lw a4,-20(s0) +800018b4: 0ff00793 li a5,255 +800018b8: fae7d2e3 bge a5,a4,8000185c +800018bc: 810007b7 lui a5,0x81000 +800018c0: 14478513 addi a0,a5,324 # 81000144 +800018c4: f19fe0ef jal ra,800007dc +800018c8: 00000013 nop +800018cc: 02c12083 lw ra,44(sp) +800018d0: 02812403 lw s0,40(sp) +800018d4: 03010113 addi sp,sp,48 +800018d8: 00008067 ret -800018c4
: -800018c4: ff010113 addi sp,sp,-16 -800018c8: 00112623 sw ra,12(sp) -800018cc: 00812423 sw s0,8(sp) -800018d0: 01010413 addi s0,sp,16 -800018d4: ed5ff0ef jal ra,800017a8 -800018d8: 810267b7 lui a5,0x81026 -800018dc: 21c78513 addi a0,a5,540 # 8102621c -800018e0: f3dff0ef jal ra,8000181c -800018e4: 00000793 li a5,0 -800018e8: 00078513 mv a0,a5 -800018ec: 00c12083 lw ra,12(sp) -800018f0: 00812403 lw s0,8(sp) -800018f4: 01010113 addi sp,sp,16 -800018f8: 00008067 ret +800018dc
: +800018dc: ff010113 addi sp,sp,-16 +800018e0: 00112623 sw ra,12(sp) +800018e4: 00812423 sw s0,8(sp) +800018e8: 01010413 addi s0,sp,16 +800018ec: ed5ff0ef jal ra,800017c0 +800018f0: 810267b7 lui a5,0x81026 +800018f4: 21c78513 addi a0,a5,540 # 8102621c +800018f8: f3dff0ef jal ra,80001834 +800018fc: 00000793 li a5,0 +80001900: 00078513 mv a0,a5 +80001904: 00c12083 lw ra,12(sp) +80001908: 00812403 lw s0,8(sp) +8000190c: 01010113 addi sp,sp,16 +80001910: 00008067 ret Disassembly of section .rodata: @@ -1728,7 +1738,7 @@ Disassembly of section .rodata: 8100002a: 0000 unimp 8100002c: 0062 c.slli zero,0x18 8100002e: 0000 unimp -81000030: 00000063 beqz zero,81000030 +81000030: 00000063 beqz zero,81000030 81000034: 0064 addi s1,sp,12 81000036: 0000 unimp 81000038: 0065 c.nop 25 @@ -1765,7 +1775,7 @@ Disassembly of section .rodata: 8100007e: 0000 unimp 81000080: 0062 c.slli zero,0x18 81000082: 0000 unimp -81000084: 00000063 beqz zero,81000084 +81000084: 00000063 beqz zero,81000084 81000088: 0064 addi s1,sp,12 8100008a: 0000 unimp 8100008c: 0065 c.nop 25 @@ -1796,7 +1806,7 @@ Disassembly of section .rodata: 810000c2: 0000 unimp 810000c4: 0062 c.slli zero,0x18 810000c6: 0000 unimp -810000c8: 00000063 beqz zero,810000c8 +810000c8: 00000063 beqz zero,810000c8 810000cc: 0064 addi s1,sp,12 810000ce: 0000 unimp 810000d0: 0065 c.nop 25 @@ -1825,7 +1835,7 @@ Disassembly of section .rodata: 81000102: 0000 unimp 81000104: 0062 c.slli zero,0x18 81000106: 0000 unimp -81000108: 00000063 beqz zero,81000108 +81000108: 00000063 beqz zero,81000108 8100010c: 0064 addi s1,sp,12 8100010e: 0000 unimp 81000110: 0065 c.nop 25 diff --git a/kernel/vortex_test.elf b/kernel/vortex_test.elf index a17eedbbda0ceb9a63acfc3b8eae0a25a45cb720..cd9c9b1b14b49deb628f023159c197cc458bc221 100755 GIT binary patch delta 1594 zcmZ9LTS$~a6vxjud#&8u)g|59*4=hDq#`6sEhQFgSrIF#AiGg2)Iy;W5#>YQtX2k5 z)J{bY5fKIkzQjfrL`Vn<-61GJO1gmb(1m)4u*-kG{kEN&hwseqT;`lPbG~!kce~F7 zwZXHYu-)q;^7?Kx-Y@hQUyIV-ppDw?HY&C^QzvoAF4|i`B;4*>tS2nS+^1R3+)Rt7 z!^!&k#h5Puk(u&cV9fDUaDM2M<(t%AK)^o1WRNUZIR9{pvBT7Q1} zyq*qu1CpEBppLpzwR}h{99ZK;tVDMm3@-#a^!I zMAM35F&uJB2FM!>C^xA5&n`RQZe{;;;3in@z?2fd8u7Pb_aaVqtVxIBArz&iVl()i z!foK(%C+2|{x{(;SWQ@tCy60QBMa?Ae2blUIk*U#Bj7RfNhRwipty)($~jyBH(7`; zfs_utjL6@{QsgG`pkj1`hT(s}Ja8NAP7m=K)BiSP#T??Y02zM|9GO8pV%i@;UMVD= z%(717*l<(`e)sxD*GDm8kfRncTlT?A9dyNjSG92Pi^eZ#4Q6Av>J0!Fdyc{$v?uc^! zQnWBI6C#=k-LHGR$akVxV?3@6FjmCJwTp~}t)sauSuA*ykLT$S5ArWF*71s83F{En z!*IUBhClM#MaBHjiZT}bWF_=~!aAmTvH%{_R%3zim~VSrjld(v8i@#xm3%A;kCoPR zR99HA93G{-zHk}aQqB{4l;;)a^XrAr*>F8S9Md7Jt{5D*G{LcsbuZGeF>6?iPeH%fbpPg zZZM$uEGZiQQ!v~!x8NhNTriH6)Yu7CYDRnwCKv}VMv0T)d(KJ)p8=c8JiE~aMVU%w z38ZjnV?^O*mLZKO7ad=Nz7GK>orK$ApU}umI{tSdLrcjN4T$)Da85RvF~|M{vU3rc zco(+)HDuaZG5if0hXOw);%$dt;73x&Dhf_HI}-&KfEyW^?;Zarc%P5V35VB#Cy+1g za5Z=+i%jw4Mf_F~kA~xRLzsUGiuhtO_t*-Bn!vqM!NcJ2S#KgOU_!znC*f&uO1i)W zVV5p&4y@s?1hwsn_JD`n{06jjDt0vA8|ig8OnD=sN)Zr(-6?ngGJM=?=nm{Ncta8B z#mWYRKi&xHf&DaukJLgh{}b5pAWfLb5F>d5#XYwp@HcR)#J|Cbd1RW-gj6)F`EaAX z%r58$)!=e+dJ7N66AP~WCu8m8~33@k#G(8JfEzn z$=Y3Zp!Rs_+9P~Z(g-x{Jhu5%ia$%H0_j8P*5+1AuN+`}v}!4v3Gwe$KePAw#j3>r cx{n){``=d(HFITSVW_%_XcP4A5u+04FInyIvj6}9 diff --git a/kernel/vortex_test.hex b/kernel/vortex_test.hex index ac16634b..b5803692 100644 --- a/kernel/vortex_test.hex +++ b/kernel/vortex_test.hex @@ -1,404 +1,406 @@ :0200000480007A -:10000000130540006B000500F32500027326100263 -:1000100073000000938B0600130D0700130F0100FF -:100020009303050013051000635C75001301018044 -:10003000130305006B500300130515006FF0DFFE7E -:100040001300000013000000130000001300000064 -:10005000130000001300000013010F00130500003F -:10006000930F0600938D030013000000130000009F -:100070001300000013000000130000001300000034 -:100080001300000013000000EBE0BF0113000000AC +:10000000130540006B000500F325000213A5250031 +:100010006B20050063060500130650006F0080008A +:10002000130670006B30000073000000938B060015 +:10003000130D0700130F01009303050013051000B3 +:10004000635C750013010180130305006B5003000E +:10005000130515006FF0DFFE130000001300000011 +:100060001300000013000000130000001300000044 +:1000700013010F0013050000930F0600938D03007A +:100080001300000013000000130000001300000024 :100090001300000013000000130000001300000014 -:1000A00013000000170500001305451B6B400500F9 -:1000B00017030000130343F66B0003006780000082 -:1000C000170200011302022523200200232212003E -:1000D000232422002326320023284200232A520010 -:1000E000232C6200232E72002320820223229202FC -:1000F0002324A2022326B2022328C202232AD202E8 -:10010000232CE202232EF2022320020523221205D1 -:10011000232422052326320523284205232A5205BB -:10012000232C6205232E72052320820723229207A7 -:100130002324A2072326B2072328C207232AD20793 -:10014000232CE207232EF207130210006780000021 -:10015000170200011302021C032002008320420048 -:10016000032182008321C200032202018322420173 -:10017000032382018323C201032402028324420257 -:10018000032582028325C20203260203832642033B -:10019000032782038327C20303280204832842041F -:1001A000032982048329C204032A0205832A420503 -:1001B000032B8205832BC205032C0206832C4206E7 -:1001C000032D8206832DC206032E0207832E4207CB -:1001D000032F8207832FC2071302000067800000ED -:1001E00073250002678000007325100267800000FD -:1001F000130101FE232E1100232C810013040102A0 -:10020000232604FE6F0040030327C4FEB717000037 -:10021000938747973307F702B70700819387074112 -:10022000B307F70013850700EF0000448327C4FEDF -:10023000938717002326F4FE0327C4FE9307F001DB -:10024000E3D4E7FC130000008320C10103248101F3 -:100250001301010267800000130101FD2326110232 -:10026000232481022322A1031304010313000000AD -:1002700013070D00B7170000938747973307F7025E -:10028000B707008193870741B307F700138507007D -:10029000EF00405093070500638A070213070D0023 -:1002A000B70700811317270093878726B307F70046 -:1002B0001307100023A0E70093070D0063960700C3 -:1002C000EFF01FE96F00C0057300000013070D0079 -:1002D000B7170000938747973307F702B7070081E6 -:1002E00093870741B307F700130784FD93050700C1 -:1002F00013850700EF000040832704FE13810700E9 -:100300008327C4FD832584FD032644FE832684FEC3 -:100310000327C4FE13850700EFF0DFCF7300000052 -:100320008320C10203248102032D41021301010332 -:1003300067800000130101FB23261104232481049C -:1003400013040105EFF0DFE92324A4FE9309010063 -:10035000930710002326F4FE6F00C0080327C4FE95 -:10036000B7170000938747973307F702B707008155 -:1003700093870741B307F70013850700EF0080411B -:1003800093070500639A07040327C4FEB71700000C -:10039000938747973307F702B70700819387074191 -:1003A000B307F700130704FD930507001385070043 -:1003B000EF004034832784FD13810700832744FD29 -:1003C000832504FD0326C4FD832604FE032744FE83 -:1003D00013850700EFF0DFCD8327C4FE9387170056 -:1003E0002326F4FE8327C4FE032784FEE3E8E7F612 -:1003F00013810900EFF0DFCC930702006388070444 -:10040000B707008113850741EF00C0389307050047 -:10041000639E0702930784FB93850700B70700815B -:1004200013850741EF00002D832704FC138107008B -:100430008327C4FB832584FB032644FC832684FC9A -:100440000327C4FC13850700EFF0DFBC1300000096 -:100450008320C10403248104130101056780000087 -:10046000130101FB23261104232481041304010535 -:10047000232EA4FA232CB4FA232AC4FA2328D4FA6C -:10048000EFF01FD7EFF0DFD52322A4FE1309010000 -:10049000232604FE232404FE6F000009B709FFFF92 -:1004A00033013101832784FE2326F4FC832784FB58 -:1004B0002328F4FC93070100232AF4FC832744FB40 -:1004C000232CF4FC832704FB232EF4FC8327C4FE97 -:1004D0002320F4FE0327C4FEB71700009387479735 -:1004E0003307F702B707008193870741B307F70087 -:1004F0001307C4FC9305070013850700EF000019DC -:100500008327C4FE938717002326F4FE8327C4FEA7 -:10051000032744FE63E4E700232604FE832784FECA -:10052000938717002324F4FE032784FE8327C4FB4C -:10053000E366F7F613010900EFF0DFDF13000000B8 -:100540008320C10403248104130101056780000096 -:10055000130101FD23261102232481021304010348 -:10056000232EA4FC8325C4FDB7070081138507044F -:10057000EF004035EFF0DFC62320A4FE232604FE63 -:100580006F008006930710002326F4FE232404FE48 -:100590006F00C003B7070081032784FE13172700ED -:1005A00093878726B307F70003A707009307100078 -:1005B0006318F7008327C4FE938717002326F4FEF1 -:1005C000832784FE938717002324F4FE032784FEE9 -:1005D0009307F001E3D0E7FC8325C4FEB707008151 -:1005E0001385C704EF00002E0327C4FE8327C4FD34 -:1005F000E36AF7F8232204FE6F008002B707008148 -:10060000032744FE1317270093878726B307F700B5 -:1006100023A00700832744FE938717002322F4FEBC -:10062000832744FE032704FEE3EAE7FC13000000EF -:100630008320C102032481021301010367800000AB -:10064000130101FF232681002324710113040101FA -:1006500093870B00138507000324C100832B8100BF -:1006600013010101678000009302050013030000DD -:100670009303700023A0620023A2620023A46200FF -:1006800023A6720023A86200678000009302050081 -:1006900003A382001303130023A462001383420107 -:1006A00083AE420093935E003303730003AE0500F4 -:1006B0002320C30103AE45002322C30103AE8500FE -:1006C0002324C30103AEC5002326C30103AE0501E5 -:1006D0002328C30103AE4501232AC301938E1E00C4 -:1006E000130F20036394EE01930E000023A2D201A6 -:1006F000678000009302050003A38200130000003E -:10070000130000001300000013000000130000009D -:10071000130000001303F3FF23A4620013834201BC -:1007200083AE0200930F2003138F0E00130F1F00E0 -:100730006314FF01130F000023A0E20193935E00F6 -:1007400033037300032E030023A0C501032E4300CF -:1007500023A2C501032E830023A4C501032EC300D9 -:1007600023A6C501032E030123A8C501032E4301BF -:1007700023AAC501678000009302050003A382003D -:1007800013050000130E200363146E0013051500FB -:10079000678000009302050003A382001305000098 -:1007A000130E000063146E0013051500678000002F -:1007B0009302050003A3C20083A3020133B56300C3 -:1007C00067800000130141FF232011002322B100A4 -:1007D0008345050063880500EF00C001130515007F -:1007E0006FF01FFF83200100832541001301C1002A -:1007F00067800000B708010023A0B80067800000F0 -:10080000130101FD23261102232481021304010395 -:10081000232EA4FC0327C4FD9307F00063E4E70242 -:10082000B70700810327C4FD131727009387871A92 -:10083000B307F70083A7070013850700EFF09FF8C1 -:100840006F004007930700022326F4FEA30504FE71 -:100850008327C4FE9387C7FF0327C4FDB357F70060 -:1008600093F7F7002322F4FE832744FE63860700F4 -:1008700093071000A305F4FE8347B4FE63820702CA -:10088000B7070081032744FE131727009387871AB1 -:10089000B307F70083A7070013850700EFF09FF267 -:1008A0008327C4FE9387C7FF2326F4FE8327C4FE55 -:1008B000E340F0FA8320C102032481021301010303 -:1008C00067800000130101FE232E1100232C8100FC -:1008D000130401022326A4FE2324B4FE0325C4FE30 -:1008E000EFF05FEE032584FEEFF09FF1B707008184 -:1008F00013854709EFF01FED130000008320C101AD -:10090000032481011301010267800000130101FD2E -:10091000232611022324810213040103232EA4FCA5 -:10092000232CB4FC232AC4FC2328D4FCB7670281FF -:100930000327C4FD23ACE71AB76702819387871B9F -:10094000032784FD23A2E700B76702819387871BF3 -:10095000032744FD23A4E700B76702819387871B21 -:10096000032704FD23A6E700EFF01F882324A4FE3D -:10097000032704FD832784FEB357F7022326F4FEE2 -:10098000032704FD832784FEB377F70263880700FB -:100990008327C4FE938717002326F4FEB7670281DE -:1009A0009387871B0327C4FE23A8E700032704FDC2 -:1009B000832784FE6362F702B76702819386871BF1 -:1009C000B7170080138607A3832584FE032504FD43 -:1009D000EFF01FA96F000002B76702819386871BA3 -:1009E000B7170080138607A3832504FD032504FDA4 -:1009F000EFF01FA7EFF0CFFE2322A4FE032704FD94 -:100A0000832744FE63F8E700032544FEEFF05FB45C -:100A10006F00C000032504FDEFF09FB3130000003A -:100A20008320C102032481021301010367800000B7 -:100A3000130101FA232E1104232C8104130401064F -:100A40002326A4FA2324B4FAEFF09FBF232CA4FC9E -:100A5000832784FD83A70700232AF4FC832784FDD2 -:100A600083A747002328F4FC832784FD83A78700FE -:100A70002326F4FC832784FD83A707012326F4FEA5 -:100A80000327C4FE8327C4FAB307F7022324F4FE26 -:100A90008327C4FE639A0700930710002326F4FE01 -:100AA0008327C4FA2324F4FE832784FD83A7C70089 -:100AB0002324F4FC232204FE6F00800D232004FE77 -:100AC000232E04FC6F008007032784FA832784FC0D -:100AD000B307F7020327C4FDB307F7002322F4FC92 -:100AE000032784FC8327C4FDB307F702032784FE92 -:100AF000B307F7002320F4FC832744FC93972700D7 -:100B0000032744FDB307F70003A70700832704FC6E -:100B100093972700832604FDB387F60083A7070079 -:100B2000B307F702032704FEB307F7002320F4FE00 -:100B30008327C4FD93871700232EF4FC0327C4FDED -:100B4000832784FCE362F7F8032784FA832784FC75 -:100B50003307F702832784FEB307F700232EF4FA46 -:100B60008327C4FB939727000327C4FCB307F70030 -:100B7000032704FE23A0E700832784FE9387170042 -:100B80002324F4FE832744FE938717002322F4FED8 -:100B9000832744FE0327C4FEE3E2E7F213000000CC -:100BA0008320C1050324810513010106678000002D -:100BB000130101FC232E1102232C810213040104D2 -:100BC000232EA4FC232CB4FC232AC4FC2328D4FC0D -:100BD0002326E4FCB76702810327C4FD23A6E71C94 -:100BE000B76702819387C71C032784FD23A2E70010 -:100BF000B76702819387C71C032744FD23A4E7003E -:100C0000B76702819387C71C0327C4FC23A6E700AC -:100C1000B76702819387C71C032704FD23A8E70059 -:100C2000EFF08FDC2324A4FE0327C4FC832784FE7B -:100C3000B357F7022326F4FE0327C4FC832784FE60 -:100C4000B377F702638807008327C4FE93871700F2 -:100C50002326F4FEB76702819387C71C0327C4FECF -:100C600023AAE7000327C4FC832784FE6362F702FC -:100C7000B76702819386C71CB7170080138687CE9B -:100C8000832584FE032504FDEFF08FFD6F00000235 -:100C9000B76702819386C71CB7170080138687CE7B -:100CA0008325C4FC032504FDEFF08FFBEFF04FD349 -:100CB0002322A4FE032704FD832744FE63F8E700F4 -:100CC000032544FEEFF0DF886F00C000032504FD1C -:100CD000EFF01F88130000008320C1030324810369 -:100CE0001301010467800000130101FB2326110496 -:100CF0002324810413040105232EA4FA232CB4FA1F -:100D0000EFF01F942320A4FE832704FE83A707008F -:100D1000232EF4FC832704FE83A74700232CF4FC36 -:100D2000832704FE83A78700232AF4FC832704FE7D -:100D300083A747012326F4FE0327C4FE8327C4FBB1 -:100D4000B307F7022324F4FE8327C4FE639A070047 -:100D5000930710002326F4FE8327C4FB2324F4FE0C -:100D6000832704FE83A7C7002328F4FC232204FE64 -:100D70006F00000C032784FB832704FD3307F70271 -:100D8000832784FEB307F7002326F4FC032784FEA1 -:100D9000832704FDB337F70093F7F70F2324F4FC00 -:100DA000832784FC93B71700A303F4FC834774FCE8 -:100DB000138F0700B7170080938FC7E16B200F00D8 -:100DC0007B70FF018327C4FC939727000327C4FD92 -:100DD000B307F70083A607008327C4FC9397270077 -:100DE000032784FDB307F70003A707008327C4FC8C -:100DF00093972700032644FDB307F6003387E600E8 -:100E000023A0E700832784FE938717002324F4FEA2 -:100E1000B7170080138E07E267000E001300000072 -:100E20006B300000832744FE938717002322F4FED3 -:100E3000832744FE0327C4FEE3EEE7F2130000001D -:100E40008320C1040324810413010105678000008D -:100E5000130101FC232E1102232C8102130401042F -:100E6000232EA4FC232CB4FC232AC4FC2328D4FC6A -:100E70002326E4FCB76702810327C4FD23A6E71CF1 -:100E8000B76702819387C71C032784FD23A2E7006D -:100E9000B76702819387C71C032744FD23A4E7009B -:100EA000B76702819387C71C0327C4FC23A6E7000A -:100EB000B76702819387C71C032704FD23A8E700B7 -:100EC000EFF08FB22324A4FE0327C4FC832784FE03 -:100ED000B357F7022326F4FE0327C4FC832784FEBE -:100EE000B377F702638807008327C4FE9387170050 -:100EF0002326F4FEB76702819387C71C0327C4FE2D -:100F000023AAE7000327C4FC832784FE6362F70259 -:100F1000B76702819386C71CB7170080138687F8CE -:100F2000832584FE032504FDEFF08FD36F000002BC -:100F3000B76702819386C71CB7170080138687F8AE -:100F40008325C4FC032504FDEFF08FD1EFF04FA9FA -:100F50002322A4FE032704FD832744FE63F8E70051 -:100F6000032544FEEFF0CFDE6F00C000032504FD33 -:100F7000EFF00FDE130000008320C1030324810380 -:100F80001301010467800000130101FB23261104F3 -:100F90002324810413040105232EA4FA232CB4FA7C -:100FA000EFF00FEA2320A4FE832704FE83A70700A7 -:100FB000232EF4FC832704FE83A74700232CF4FC94 -:100FC000832704FE83A78700232AF4FC832704FEDB -:100FD00083A747012326F4FE0327C4FE8327C4FB0F -:100FE000B307F7022324F4FE8327C4FE639A0700A5 -:100FF000930710002326F4FE8327C4FB2324F4FE6A -:10100000832704FE83A7C7002328F4FC232204FEC1 -:101010006F00000C032784FB832704FD3307F702CE -:10102000832784FEB307F7002326F4FC032784FEFE -:10103000832704FDB337F70093F7F70F2324F4FC5D -:10104000832784FC93B71700A303F4FC834774FC45 -:10105000138F0700B7170080938FC70B6B200F000B -:101060007B70FF018327C4FC939727000327C4FDEF -:10107000B307F70083A607008327C4FC93972700D4 -:10108000032784FDB307F70003A707008327C4FCE9 -:1010900093972700032644FDB307F6003387E64005 -:1010A00023A0E700832784FE938717002324F4FE00 -:1010B000B7170080138E070C67000E0013000000A6 -:1010C0006B300000832744FE938717002322F4FE31 -:1010D000832744FE0327C4FEE3EEE7F2130000007B -:1010E0008320C104032481041301010567800000EB -:1010F000130101FC232E1102232C8102130401048D -:10110000232EA4FC232CB4FC232AC4FC2328D4FCC7 -:101110002326E4FCB76702810327C4FD23A2E71E50 -:10112000B76702819387471E032784FD23A2E70048 -:10113000B76702819387471E032744FD23A4E70076 -:10114000B76702819387471E0327C4FC23A6E700E5 -:10115000B76702819387471E032704FD23A8E70092 -:10116000EFF08F882324A4FE0327C4FC832784FE8A -:10117000B357F7022326F4FE0327C4FC832784FE1B -:10118000B377F702638807008327C4FE93871700AD -:101190002326F4FEB76702819387471E0327C4FE08 -:1011A00023AAE7000327C4FC832784FE6362F702B7 -:1011B000B76702819386471EB71700801386872280 -:1011C000832584FE032504FDEFF08FA96F00000244 -:1011D000B76702819386471EB71700801386872260 -:1011E0008325C4FC032504FDEFF08FA7EFE05FFF2C -:1011F0002322A4FE032704FD832744FE63F8E700AF -:10120000032544FEEFF0CFB46F00C000032504FDBA -:10121000EFF00FB4130000008320C1030324810307 -:101220001301010467800000130101FB2326110450 -:101230002324810413040105232EA4FA232CB4FAD9 -:10124000EFF00FC02320A4FE832704FE83A707002E -:10125000232EF4FC832704FE83A7470083A70700FF -:10126000232CF4FC832704FE83A78700232AF4FCA5 -:10127000832704FE83A747012326F4FE0327C4FE29 -:101280008327C4FBB307F7022324F4FE8327C4FE9D -:10129000639A0700930710002326F4FE8327C4FBFC -:1012A0002324F4FE832704FE83A7C7002328F4FC2D -:1012B000232204FE6F00000B032784FB832704FD19 -:1012C0003307F702832784FEB307F7002326F4FCD5 -:1012D000032784FE832704FDB337F70093F7F70F46 -:1012E0002324F4FC832784FC93B71700A303F4FCA6 -:1012F000834774FC138F0700B7170080938F07355F -:101300006B200F007B70FF018327C4FC939727009D -:101310000327C4FDB307F70083A607008327C4FC97 -:1013200093972700032744FDB307F700032784FDA5 -:101330003387E60023A0E700832784FE9387170006 -:101340002324F4FEB7170080138E473567000E0084 -:10135000130000006B300000832744FE93871700C2 -:101360002322F4FE832744FE0327C4FEE3E6E7F4CA -:10137000130000008320C10403248104130101052C -:1013800067800000130101FC232E1102232C81022F -:1013900013040104232EA4FC232CB4FC232AC4FC34 -:1013A0002328D4FC2326E4FCB76702810327C4FD6D -:1013B00023A2E71EB76702819387471E032784FD98 -:1013C00023A2E700B76702819387471E032744FDE6 -:1013D00023A4E700B76702819387471E0327C4FC55 -:1013E00023A6E700B76702819387471E032704FD02 -:1013F00023A8E700EFE05FDF2324A4FE0327C4FC5B -:10140000832784FEB357F7022326F4FE0327C4FC88 -:10141000832784FEB377F702638807008327C4FE1F -:10142000938717002326F4FEB76702819387471E30 -:101430000327C4FE23AAE7000327C4FC832784FEF6 -:101440006362F702B76702819386471EB717008071 -:101450001386C74B832584FE032504FDEFF04F80E0 -:101460006F000002B76702819386471EB71700809E -:101470001386C74B8325C4FC032504FDEFE05FFE04 -:10148000EFE01FD62322A4FE032704FD832744FE9A -:1014900063F8E700032544FEEFF08F8B6F00C00078 -:1014A000032504FDEFF0CF8A130000008320C10361 -:1014B000032481031301010467800000130101FB71 -:1014C000232611042324810413040105232EA4FAE6 -:1014D000232CB4FAEFF0CF962320A4FE832704FE3A -:1014E00083A70700232EF4FC832704FE83A747006D -:1014F00083A70700232CF4FC832704FE83A787001F -:10150000232AF4FC832704FE83A747012326F4FE45 -:101510000327C4FE8327C4FBB307F7022324F4FE8A -:101520008327C4FE639A0700930710002326F4FE66 -:101530008327C4FB2324F4FE832704FE83A7C7006C -:101540002328F4FC232204FE6F00000B032784FBF6 -:10155000832704FD3307F702832784FEB307F700D0 -:101560002326F4FC032784FE832704FDB337F7000A -:1015700093F7F70F2324F4FC832784FC93B7170019 -:10158000A303F4FC834774FC138F0700B717008094 -:10159000938F475E6B200F007B70FF018327C4FC95 -:1015A000939727000327C4FDB307F70083A607001E -:1015B0008327C4FC93972700032744FDB307F70054 -:1015C000032784FD3387E60223A0E700832784FEF8 -:1015D000938717002324F4FEB7170080138E875ECD -:1015E00067000E00130000006B300000832744FEEC -:1015F000938717002322F4FE832744FE0327C4FEAB -:10160000E3E6E7F4130000008320C104032481040F -:101610001301010567800000130101FD23268102EB -:1016200013040103232EA4FC232604FE6F000001F3 -:101630008327C4FE938717002326F4FE0327C4FEE6 -:101640008327C4FDE346F7FE130000000324C10214 -:101650001301010367800000130101FD232611021D -:101660002324810213040103232EA4FC232CB4FCA5 -:10167000B76702811387C71F8327C4FDB307F7002D -:10168000130710002380E7008327C4FD6390070C35 -:10169000A30104FE232604FE6F00800A232604FE15 -:1016A000232404FE6F004003B76702811387C71F1E -:1016B000832784FEB307F70083C70700638807000A -:1016C0008327C4FE938717002326F4FE832784FE16 -:1016D000938717002324F4FE032784FE832784FDC9 -:1016E000E344F7FC0327C4FE832784FD631AF70451 -:1016F000232204FE6F000004B76702811387C71F0F -:10170000832744FEB307F70023800700B7970281C1 -:10171000130710002382E72C13056004EFF0DFEFBE -:10172000B79702812382072C832744FE93871700F3 -:101730002322F4FE032744FE832784FDE34EF7FAB9 -:10174000834734FEE39C07F46F004002130000005F -:10175000B797028183C7472C93C7170093F7F70FFA -:10176000E39807FE13054006EFF01FEB130000009F -:101770008320C1020324810213010103678000005A -:10178000130101FF232681001304010193070000C8 -:101790001308000013850700930508000324C10007 -:1017A0001301010167800000130101FE232E810057 -:1017B00013040102232604FE6F008004B767028130 -:1017C0000327C4FE131727009387C721B307F70029 -:1017D0001307300023A0E700B77702810327C4FE78 -:1017E000131727009387C721B307F70013072000BB -:1017F00023A0E7008327C4FE938717002326F4FE67 -:101800000327C4FE9307F00FE3DAE7FA13000000A2 -:101810000324C1011301010267800000130101FDCF -:10182000232611022324810213040103232EA4FC86 -:10183000B707008113858711EFE0DFF8232604FE48 -:101840006F0080058327C4FE638E07008327C4FED4 -:1018500093F7F70063980700B70700811385C71354 -:10186000EFE05FF68327C4FE939727000327C4FDAC -:10187000B307F70083A7070013850700EFE05FF8C1 -:10188000B707008113850714EFE0DFF38327C4FE59 -:10189000938717002326F4FE0327C4FE9307F00F57 -:1018A000E3D2E7FAB707008113854714EFE09FF111 -:1018B000130000008320C1020324810213010103ED -:1018C00067800000130101FF2326110023248100FB -:1018D00013040101EFF05FEDB76702811385C721A3 -:1018E000EFF0DFF393070000138507008320C100AA -:0C18F00003248100130101016780000047 +:1000A000EBE0BF011300000013000000130000008C +:1000B00013000000130000001300000017050000EB +:1000C0001305451B6B40050017030000130343F69F +:1000D0006B000300678000001702000113028223F7 +:1000E0002320020023221200232422002326320090 +:1000F00023284200232A5200232C6200232E720060 +:1001000023208202232292022324A2022326B20267 +:100110002328C202232AD202232CE202232EF20237 +:10012000232002052322120523242205232632053B +:1001300023284205232A5205232C6205232E72050B +:1001400023208207232292072324A2072326B20713 +:100150002328C207232AD207232CE207232EF207E3 +:100160001302100067800000170200011302821AB8 +:100170000320020083204200032182008321C20069 +:100180000322020183224201032382018323C2014D +:100190000324020283244202032582028325C20231 +:1001A0000326020383264203032782038327C20315 +:1001B0000328020483284204032982048329C204F9 +:1001C000032A0205832A4205032B8205832BC205DD +:1001D000032C0206832C4206032D8206832DC206C1 +:1001E000032E0207832E4207032F8207832FC207A5 +:1001F0001302000067800000732500026780000082 +:100200007325100267800000130101FE232E1100E8 +:10021000232C810013040102232604FE6F004003F7 +:100220000327C4FEB7170000938747973307F702E9 +:10023000B707008193870741B307F70013850700CD +:10024000EF0000448327C4FE938717002326F4FEA3 +:100250000327C4FE9307F001E3D4E7FC130000007A +:100260008320C10103248101130101026780000082 +:10027000130101FD23261102232481022322A1035D +:10028000130401031300000013070D00B71700004B +:10029000938747973307F702B70700819387074192 +:1002A000B307F70013850700EF00405093070500E0 +:1002B000638A070213070D00B70700811317270091 +:1002C00093878726B307F7001307100023A0E700E2 +:1002D00093070D0063960700EFF01FE96F00C0055C +:1002E0007300000013070D00B717000093874797AE +:1002F0003307F702B707008193870741B307F70079 +:10030000130784FD9305070013850700EF000040E5 +:10031000832704FE138107008327C4FD832584FD02 +:10032000032644FE832684FE0327C4FE13850700AC +:10033000EFF0DFCF730000008320C10203248102AD +:10034000032D41021301010367800000130101FB2B +:10035000232611042324810413040105EFF0DFE9AF +:100360002324A4FE93090100930710002326F4FE22 +:100370006F00C0080327C4FEB71700009387479794 +:100380003307F702B707008193870741B307F700E8 +:1003900013850700EF00804193070500639A070467 +:1003A0000327C4FEB7170000938747973307F70268 +:1003B000B707008193870741B307F700130704FDD0 +:1003C0009305070013850700EF004034832784FD61 +:1003D00013810700832744FD832504FD0326C4FD04 +:1003E000832604FE032744FE13850700EFF0DFCDCC +:1003F0008327C4FE938717002326F4FE8327C4FEB9 +:10040000032784FEE3E8E7F613810900EFF0DFCC71 +:100410009307020063880704B7070081138507412B +:10042000EF00C03893070500639E0702930784FB23 +:1004300093850700B707008113850741EF00002D62 +:10044000832704FC138107008327C4FB832584FBD7 +:10045000032644FC832684FC0327C4FC1385070081 +:10046000EFF0DFBC130000008320C10403248104EB +:100470001301010567800000130101FB232611040D +:100480002324810413040105232EA4FA232CB4FA97 +:10049000232AC4FA2328D4FAEFF01FD7EFF0DFD5D0 +:1004A0002322A4FE13090100232604FE232404FEB4 +:1004B0006F000009B709FFFF33013101832784FE74 +:1004C0002326F4FC832784FB2328F4FC93070100F4 +:1004D000232AF4FC832744FB232CF4FC832704FB0E +:1004E000232EF4FC8327C4FE2320F4FE0327C4FE3E +:1004F000B7170000938747973307F702B7070081C4 +:1005000093870741B307F7001307C4FC930507005F +:1005100013850700EF0000198327C4FE9387170097 +:100520002326F4FE8327C4FE032744FE63E4E7008A +:10053000232604FE832784FE938717002324F4FEDA +:10054000032784FE8327C4FBE366F7F61301090043 +:10055000EFF0DFDF130000008320C10403248104D7 +:100560001301010567800000130101FD232611021C +:100570002324810213040103232EA4FC8325C4FD3C +:10058000B707008113850704EF004035EFF0DFC6A1 +:100590002320A4FE232604FE6F008006930710008C +:1005A0002326F4FE232404FE6F00C003B707008156 +:1005B000032784FE1317270093878726B307F700C6 +:1005C00003A70700930710006318F7008327C4FEF2 +:1005D000938717002326F4FE832784FE9387170052 +:1005E0002324F4FE032784FE9307F001E3D0E7FC05 +:1005F0008325C4FEB70700811385C704EF00002ED2 +:100600000327C4FE8327C4FDE36AF7F8232204FE10 +:100610006F008002B7070081032744FE13172700ED +:1006200093878726B307F70023A00700832744FE9C +:10063000938717002322F4FE832744FE032704FE3A +:10064000E3EAE7FC130000008320C10203248102D7 +:100650001301010367800000130101FF23268100BD +:10066000232471011304010193870B0013850700F4 +:100670000324C100832B8100130101016780000066 +:1006800093020500130300009303700023A062008F +:1006900023A2620023A4620023A6720023A86200A2 +:1006A000678000009302050003A382001303130078 +:1006B00023A462001383420183AE420093935E0041 +:1006C0003303730003AE05002320C30103AE4500CE +:1006D0002322C30103AE85002324C30103AEC5005A +:1006E0002326C30103AE05012328C30103AE450140 +:1006F000232AC301938E1E00130F20036394EE017F +:10070000930E000023A2D20167800000930205002F +:1007100003A3820013000000130000001300000078 +:100720001300000013000000130000001303F3FF88 +:1007300023A462001383420183AE0200930F2003BF +:10074000138F0E00130F1F006314FF01130F00001F +:1007500023A0E20193935E0033037300032E030092 +:1007600023A0C501032E430023A2C501032E83004D +:1007700023A4C501032EC30023A6C501032E030134 +:1007800023A8C501032E430123AAC50167800000E9 +:100790009302050003A3820013050000130E20033B +:1007A00063146E00130515006780000093020500B6 +:1007B00003A3820013050000130E000063146E00F3 +:1007C00013051500678000009302050003A3C20013 +:1007D00083A3020133B5630067800000130141FF6A +:1007E000232011002322B100834505006388050002 +:1007F000EF00C001130515006FF01FFF83200100FB +:10080000832541001301C10067800000B708010083 +:1008100023A0B80067800000130101FD2326110208 +:100820002324810213040103232EA4FC0327C4FD07 +:100830009307F00063E4E702B70700810327C4FDD4 +:10084000131727009387871AB307F70083A70700BA +:1008500013850700EFF09FF86F0040079307000231 +:100860002326F4FEA30504FE8327C4FE9387C7FF57 +:100870000327C4FDB357F70093F7F7002322F4FED4 +:10088000832744FE6386070093071000A305F4FE48 +:100890008347B4FE63820702B7070081032744FE43 +:1008A000131727009387871AB307F70083A707005A +:1008B00013850700EFF09FF28327C4FE9387C7FFDD +:1008C0002326F4FE8327C4FEE340F0FA8320C1020E +:1008D000032481021301010367800000130101FE5C +:1008E000232E1100232C8100130401022326A4FED1 +:1008F0002324B4FE0325C4FEEFF05FEE032584FE3F +:10090000EFF09FF1B707008113854709EFF01FED66 +:10091000130000008320C10103248101130101029F +:1009200067800000130101FD2326110223248102A8 +:1009300013040103232EA4FC232CB4FC232AC4FC9F +:100940002328D4FCB76702810327C4FD23ACE71A30 +:10095000B76702819387871B032784FD23A2E700E3 +:10096000B76702819387871B032744FD23A4E70011 +:10097000B76702819387871B032704FD23A6E7003F +:10098000EFF01F882324A4FE032704FD832784FEA1 +:10099000B357F7022326F4FE032704FD832784FEC2 +:1009A000B377F702638807008327C4FE9387170095 +:1009B0002326F4FEB76702819387871B0327C4FEB3 +:1009C00023A8E700032704FD832784FE6362F70260 +:1009D000B76702819386871BB7170080138687A4A9 +:1009E000832584FE032504FDEFF01FA96F0000029C +:1009F000B76702819386871BB7170080138687A489 +:100A0000832504FD032504FDEFF01FA7EFF0CFFEC3 +:100A10002322A4FE032704FD832744FE63F8E70096 +:100A2000032544FEEFF05FB46F00C000032504FD12 +:100A3000EFF09FB3130000008320C1020324810262 +:100A40001301010367800000130101FA232E110432 +:100A5000232C8104130401062326A4FA2324B4FAC8 +:100A6000EFF09FBF232CA4FC832784FD83A70700FE +:100A7000232AF4FC832784FD83A747002328F4FC62 +:100A8000832784FD83A787002326F4FC832784FD26 +:100A900083A707012326F4FE0327C4FE8327C4FA95 +:100AA000B307F7022324F4FE8327C4FE639A0700EA +:100AB000930710002326F4FE8327C4FA2324F4FEB0 +:100AC000832784FD83A7C7002324F4FC232204FE8C +:100AD0006F00800D232004FE232E04FC6F0080078E +:100AE000032784FA832784FCB307F7020327C4FD96 +:100AF000B307F7002322F4FC032784FC8327C4FDFB +:100B0000B307F702032784FEB307F7002320F4FCA2 +:100B1000832744FC93972700032744FDB307F7007E +:100B200003A70700832704FC93972700832604FD6F +:100B3000B387F60083A70700B307F702032704FE75 +:100B4000B307F7002320F4FE8327C4FD9387170023 +:100B5000232EF4FC0327C4FD832784FCE362F7F80B +:100B6000032784FA832784FC3307F702832784FE54 +:100B7000B307F700232EF4FA8327C4FB93972700CB +:100B80000327C4FCB307F700032704FE23A0E700F4 +:100B9000832784FE938717002324F4FE832744FED3 +:100BA000938717002322F4FE832744FE0327C4FE05 +:100BB000E3E2E7F2130000008320C105032481056E +:100BC0001301010667800000130101FC232E1102AE +:100BD000232C810213040104232EA4FC232CB4FC37 +:100BE000232AC4FC2328D4FC2326E4FCB767028113 +:100BF0000327C4FD23A6E71CB76702819387C71CA0 +:100C0000032784FD23A2E700B76702819387C71CEF +:100C1000032744FD23A4E700B76702819387C71C1D +:100C20000327C4FC23A6E700B76702819387C71C8C +:100C3000032704FD23A8E700EFF08FDC2324A4FEA4 +:100C40000327C4FC832784FEB357F7022326F4FE50 +:100C50000327C4FC832784FEB377F7026388070069 +:100C60008327C4FE938717002326F4FEB76702810B +:100C70009387C71C0327C4FE23AAE7000327C4FCED +:100C8000832784FE6362F702B76702819386C71CDD +:100C9000B7170080138607D0832584FE032504FD43 +:100CA000EFF08FFD6F000002B76702819386C71CCB +:100CB000B7170080138607D08325C4FC032504FDE5 +:100CC000EFF08FFBEFF04FD32322A4FE032704FDA8 +:100CD000832744FE63F8E700032544FEEFF0DF8836 +:100CE0006F00C000032504FDEFF01F881300000013 +:100CF0008320C103032481031301010467800000E2 +:100D0000130101FB2326110423248104130401058C +:100D1000232EA4FA232CB4FAEFF01F942320A4FE70 +:100D2000832704FE83A70700232EF4FC832704FEF9 +:100D300083A74700232CF4FC832704FE83A78700A6 +:100D4000232AF4FC832704FE83A747012326F4FE0D +:100D50000327C4FE8327C4FBB307F7022324F4FE52 +:100D60008327C4FE639A0700930710002326F4FE2E +:100D70008327C4FB2324F4FE832704FE83A7C70034 +:100D80002328F4FC232204FE6F00000C032784FBBD +:100D9000832704FD3307F702832784FEB307F70098 +:100DA0002326F4FC032784FE832704FDB337F700D2 +:100DB00093F7F70F2324F4FC832784FC93B71700E1 +:100DC000A303F4FC834774FC138F0700B71700805C +:100DD000938F47E36B200F007B70FF018327C4FCD8 +:100DE000939727000327C4FDB307F70083A60700E6 +:100DF0008327C4FC93972700032784FDB307F700DC +:100E000003A707008327C4FC93972700032644FD0C +:100E1000B307F6003387E60023A0E700832784FEAC +:100E2000938717002324F4FEB7170080138E87E3FF +:100E300067000E00130000006B300000832744FEA3 +:100E4000938717002322F4FE832744FE0327C4FE62 +:100E5000E3EEE7F2130000008320C10403248104C1 +:100E60001301010567800000130101FC232E11020C +:100E7000232C810213040104232EA4FC232CB4FC94 +:100E8000232AC4FC2328D4FC2326E4FCB767028170 +:100E90000327C4FD23A6E71CB76702819387C71CFD +:100EA000032784FD23A2E700B76702819387C71C4D +:100EB000032744FD23A4E700B76702819387C71C7B +:100EC0000327C4FC23A6E700B76702819387C71CEA +:100ED000032704FD23A8E700EFF08FB22324A4FE2C +:100EE0000327C4FC832784FEB357F7022326F4FEAE +:100EF0000327C4FC832784FEB377F70263880700C7 +:100F00008327C4FE938717002326F4FEB767028168 +:100F10009387C71C0327C4FE23AAE7000327C4FC4A +:100F2000832784FE6362F702B76702819386C71C3A +:100F3000B7170080138607FA832584FE032504FD76 +:100F4000EFF08FD36F000002B76702819386C71C52 +:100F5000B7170080138607FA8325C4FC032504FD18 +:100F6000EFF08FD1EFF04FA92322A4FE032704FD59 +:100F7000832744FE63F8E700032544FEEFF0CFDE4D +:100F80006F00C000032504FDEFF00FDE130000002A +:100F90008320C1030324810313010104678000003F +:100FA000130101FB232611042324810413040105EA +:100FB000232EA4FA232CB4FAEFF00FEA2320A4FE88 +:100FC000832704FE83A70700232EF4FC832704FE57 +:100FD00083A74700232CF4FC832704FE83A7870004 +:100FE000232AF4FC832704FE83A747012326F4FE6B +:100FF0000327C4FE8327C4FBB307F7022324F4FEB0 +:101000008327C4FE639A0700930710002326F4FE8B +:101010008327C4FB2324F4FE832704FE83A7C70091 +:101020002328F4FC232204FE6F00000C032784FB1A +:10103000832704FD3307F702832784FEB307F700F5 +:101040002326F4FC032784FE832704FDB337F7002F +:1010500093F7F70F2324F4FC832784FC93B717003E +:10106000A303F4FC834774FC138F0700B7170080B9 +:10107000938F470D6B200F007B70FF018327C4FC0B +:10108000939727000327C4FDB307F70083A6070043 +:101090008327C4FC93972700032784FDB307F70039 +:1010A00003A707008327C4FC93972700032644FD6A +:1010B000B307F6003387E64023A0E700832784FECA +:1010C000938717002324F4FEB7170080138E870D33 +:1010D00067000E00130000006B300000832744FE01 +:1010E000938717002322F4FE832744FE0327C4FEC0 +:1010F000E3EEE7F2130000008320C104032481041F +:101100001301010567800000130101FC232E110269 +:10111000232C810213040104232EA4FC232CB4FCF1 +:10112000232AC4FC2328D4FC2326E4FCB7670281CD +:101130000327C4FD23A2E71EB76702819387471EDA +:10114000032784FD23A2E700B76702819387471E28 +:10115000032744FD23A4E700B76702819387471E56 +:101160000327C4FC23A6E700B76702819387471EC5 +:10117000032704FD23A8E700EFF08F882324A4FEB3 +:101180000327C4FC832784FEB357F7022326F4FE0B +:101190000327C4FC832784FEB377F7026388070024 +:1011A0008327C4FE938717002326F4FEB7670281C6 +:1011B0009387471E0327C4FE23AAE7000327C4FC26 +:1011C000832784FE6362F702B76702819386471E16 +:1011D000B717008013860724832584FE032504FDAA +:1011E000EFF08FA96F000002B76702819386471E58 +:1011F000B7170080138607248325C4FC032504FD4C +:10120000EFF08FA7EFE05FFF2322A4FE032704FD8A +:10121000832744FE63F8E700032544FEEFF0CFB4D4 +:101220006F00C000032504FDEFF00FB413000000B1 +:101230008320C1030324810313010104678000009C +:10124000130101FB23261104232481041304010547 +:10125000232EA4FA232CB4FAEFF00FC02320A4FE0F +:10126000832704FE83A70700232EF4FC832704FEB4 +:1012700083A7470083A70700232CF4FC832704FEE1 +:1012800083A78700232AF4FC832704FE83A7470152 +:101290002326F4FE0327C4FE8327C4FBB307F7020B +:1012A0002324F4FE8327C4FE639A070093071000EB +:1012B0002326F4FE8327C4FB2324F4FE832704FEA5 +:1012C00083A7C7002328F4FC232204FE6F00000B31 +:1012D000032784FB832704FD3307F702832784FE5B +:1012E000B307F7002326F4FC032784FE832704FDBD +:1012F000B337F70093F7F70F2324F4FC832784FC1C +:1013000093B71700A303F4FC834774FC138F070003 +:10131000B7170080938F87366B200F007B70FF011B +:101320008327C4FC939727000327C4FDB307F70066 +:1013300083A607008327C4FC93972700032744FD57 +:10134000B307F700032784FD3387E60023A0E700F7 +:10135000832784FE938717002324F4FEB7170080A9 +:10136000138EC73667000E00130000006B300000BC +:10137000832744FE938717002322F4FE832744FE2D +:101380000327C4FEE3E6E7F4130000008320C10452 +:10139000032481041301010567800000130101FC8F +:1013A000232E1102232C810213040104232EA4FCFA +:1013B000232CB4FC232AC4FC2328D4FC2326E4FCDD +:1013C000B76702810327C4FD23A2E71EB767028126 +:1013D0009387471E032784FD23A2E700B767028196 +:1013E0009387471E032744FD23A4E700B7670281C4 +:1013F0009387471E0327C4FC23A6E700B767028133 +:101400009387471E032704FD23A8E700EFE05FDF73 +:101410002324A4FE0327C4FC832784FEB357F702CA +:101420002326F4FE0327C4FC832784FEB377F70248 +:10143000638807008327C4FE938717002326F4FEE2 +:10144000B76702819387471E0327C4FE23AAE700DC +:101450000327C4FC832784FE6362F702B767028117 +:101460009386471EB71700801386474D832584FE59 +:10147000032504FDEFF04F806F000002B767028183 +:101480009386471EB71700801386474D8325C4FCFB +:10149000032504FDEFE05FFEEFE01FD62322A4FE4C +:1014A000032704FD832744FE63F8E700032544FE79 +:1014B000EFF08F8B6F00C000032504FDEFF0CF8AA3 +:1014C000130000008320C1030324810313010104DE +:1014D00067800000130101FB2326110423248104EB +:1014E00013040105232EA4FA232CB4FAEFF0CF96AF +:1014F0002320A4FE832704FE83A70700232EF4FCE9 +:10150000832704FE83A7470083A70700232CF4FC4E +:10151000832704FE83A78700232AF4FC832704FE85 +:1015200083A747012326F4FE0327C4FE8327C4FBB9 +:10153000B307F7022324F4FE8327C4FE639A07004F +:10154000930710002326F4FE8327C4FB2324F4FE14 +:10155000832704FE83A7C7002328F4FC232204FE6C +:101560006F00000B032784FB832704FD3307F7027A +:10157000832784FEB307F7002326F4FC032784FEA9 +:10158000832704FDB337F70093F7F70F2324F4FC08 +:10159000832784FC93B71700A303F4FC834774FCF0 +:1015A000138F0700B7170080938FC75F6B200F0062 +:1015B0007B70FF018327C4FC939727000327C4FD9A +:1015C000B307F70083A607008327C4FC939727007F +:1015D000032744FDB307F700032784FD3387E602A2 +:1015E00023A0E700832784FE938717002324F4FEBB +:1015F000B7170080138E076067000E00130000000D +:101600006B300000832744FE938717002322F4FEEB +:10161000832744FE0327C4FEE3E6E7F4130000003B +:101620008320C104032481041301010567800000A5 +:10163000130101FD2326810213040103232EA4FCC0 +:10164000232604FE6F0000018327C4FE9387170042 +:101650002326F4FE0327C4FE8327C4FDE346F7FEDA +:10166000130000000324C10213010103678000007E +:10167000130101FD23261102232481021304010317 +:10168000232EA4FC232CB4FCB76702811387C71F49 +:101690008327C4FDB307F700130710002380E7007A +:1016A0008327C4FD6390070CA30104FE232604FED8 +:1016B0006F00800A232604FE232404FE6F004003EB +:1016C000B76702811387C71F832784FEB307F7001C +:1016D00083C70700638807008327C4FE938717002A +:1016E0002326F4FE832784FE938717002324F4FE29 +:1016F000032784FE832784FDE344F7FC0327C4FE0D +:10170000832784FD631AF704232204FE6F0000047C +:10171000B76702811387C71F832744FEB307F7000B +:1017200023800700B7970281130710002382E72C5C +:1017300013056004EFF0DFEFB79702812382072CD7 +:10174000832744FE938717002322F4FE032744FED9 +:10175000832784FDE34EF7FA834734FEE39C07F4C6 +:101760006F00400213000000B797028183C7472C27 +:1017700093C7170093F7F70FE39807FE130540068A +:10178000EFF01FEB130000008320C102032481024D +:101790001301010367800000130101FF232681006C +:1017A00013040101930700001308000013850700CC +:1017B000930508000324C1001301010167800000A4 +:1017C000130101FE232E810013040102232604FECF +:1017D0006F008004B76702810327C4FE1317270038 +:1017E0009387C721B307F7001307300023A0E70052 +:1017F000B77702810327C4FE131727009387C721F9 +:10180000B307F7001307200023A0E7008327C4FED7 +:10181000938717002326F4FE0327C4FE9307F00FD7 +:10182000E3DAE7FA130000000324C1011301010207 +:1018300067800000130101FD232611022324810289 +:1018400013040103232EA4FCB7070081138587111D +:10185000EFE0DFF8232604FE6F0080058327C4FE37 +:10186000638E07008327C4FE93F7F7006398070091 +:10187000B70700811385C713EFE05FF68327C4FE27 +:10188000939727000327C4FDB307F70083A707003A +:1018900013850700EFE05FF8B70700811385071491 +:1018A000EFE0DFF38327C4FE938717002326F4FEBF +:1018B0000327C4FE9307F00FE3D2E7FAB7070081CE +:1018C00013854714EFE09FF1130000008320C1024D +:1018D000032481021301010367800000130101FF4B +:1018E000232611002324810013040101EFF05FED92 +:1018F000B76702811385C721EFF0DFF3930700007C +:10190000138507008320C100032481001301010116 +:0419100067800000EC :02000004810079 :10000000300000003100000032000000330000002A :10001000340000003500000036000000370000000A diff --git a/kernel/vx_os/vx_back/vx_back.s b/kernel/vx_os/vx_back/vx_back.s index 9f9ae284..000f2cf3 100644 --- a/kernel/vx_os/vx_back/vx_back.s +++ b/kernel/vx_os/vx_back/vx_back.s @@ -9,7 +9,16 @@ _start: li a0, 4 .word 0x0005006b # tmc a0 csrr a1, 0x20 # read thread IDs - csrr a2, 0x21 # read warp IDs + # csrr a2, 0x21 # read warp IDs + slti a0, a1, 2 + .word 0x0005206b # split a0 + beq a0, zero, ELSE + li a2, 5 + j DONE +ELSE: + li a2, 7 +DONE: + .word 0x0000306b #join ecall # li a0, 8 # Num Warps # csrw 0x20, a0 # Setting the number of available warps diff --git a/rtl/Makefile b/rtl/Makefile index 85833c35..b00b13dc 100644 --- a/rtl/Makefile +++ b/rtl/Makefile @@ -8,8 +8,9 @@ EXE=--exe ./simulate/test_bench.cpp COMP=--compiler gcc -WNO=-Wno-fatal -Wno-UNOPTFLAT -Wno-UNDRIVEN -Wno-UNSIGNED -Wno-lint --Wno-PINMISSING -Wno-STMTDLY +WNO=-Wno-UNOPTFLAT -Wno-UNDRIVEN --Wno-PINMISSING -Wno-STMTDLY -Wno-WIDTH +LIGHTW=-Wno-UNOPTFLAT --Wno-PINMISSING -Wno-WIDTH -Wno-STMTDLY # LIB=-LDFLAGS '-L/usr/local/systemc/' LIB= @@ -23,7 +24,7 @@ MAKECPP=(cd obj_dir && make -j -f VVortex.mk) # -LDFLAGS '-lsystemc' VERILATOR: echo "#define VCD_OFF" > simulate/tb_debug.h - verilator $(COMP) -cc $(FILE) $(INCLUDE) $(EXE) $(LIB) $(CF) + verilator $(COMP) -cc $(FILE) $(INCLUDE) $(EXE) $(LIB) $(CF) $(LIGHTW) VERILATORnoWarnings: echo "#define VCD_OFF" > simulate/tb_debug.h diff --git a/rtl/VX_decode.v b/rtl/VX_decode.v index 5b179382..06633dcc 100644 --- a/rtl/VX_decode.v +++ b/rtl/VX_decode.v @@ -186,23 +186,23 @@ module VX_decode( case(curr_opcode) `JAL_INST: begin - temp_jal = 1'b1 && in_valid[0]; + temp_jal = 1'b1 && (|in_valid); temp_jal_offset = jal_1_offset; end `JALR_INST: begin - temp_jal = 1'b1 && in_valid[0]; + temp_jal = 1'b1 && (|in_valid); temp_jal_offset = jal_2_offset; end `SYS_INST: begin - // $display("SYS EBREAK %h", (jal_sys_jal && in_valid[0]) ); - temp_jal = jal_sys_jal && in_valid[0]; + // $display("SYS EBREAK %h", (jal_sys_jal && (|in_valid)) ); + temp_jal = jal_sys_jal && (|in_valid); temp_jal_offset = jal_sys_off; end default: begin - temp_jal = 1'b0 && in_valid[0]; + temp_jal = 1'b0 && (|in_valid); temp_jal_offset = 32'hdeadbeef; end endcase @@ -216,7 +216,7 @@ module VX_decode( // assign is_ebreak = is_e_inst; - wire ebreak = (curr_opcode == `SYS_INST) && (jal_sys_jal && in_valid[0]); + wire ebreak = (curr_opcode == `SYS_INST) && (jal_sys_jal && (|in_valid)); assign VX_frE_to_bckE_req.ebreak = ebreak; assign out_ebreak = ebreak; @@ -257,7 +257,7 @@ module VX_decode( `B_INST: begin // $display("BRANCH IN DECODE"); - temp_branch_stall = 1'b1 && in_valid[0]; + temp_branch_stall = 1'b1 && (|in_valid); case(func3) 3'h0: temp_branch_type = `BEQ; 3'h1: temp_branch_type = `BNE; @@ -272,17 +272,17 @@ module VX_decode( `JAL_INST: begin temp_branch_type = `NO_BRANCH; - temp_branch_stall = 1'b1 && in_valid[0]; + temp_branch_stall = 1'b1 && (|in_valid); end `JALR_INST: begin temp_branch_type = `NO_BRANCH; - temp_branch_stall = 1'b1 && in_valid[0]; + temp_branch_stall = 1'b1 && (|in_valid); end default: begin temp_branch_type = `NO_BRANCH; - temp_branch_stall = 1'b0 && in_valid[0]; + temp_branch_stall = 1'b0 && (|in_valid); end endcase end diff --git a/rtl/VX_execute_unit.v b/rtl/VX_execute_unit.v index e1cc8b97..99751fc4 100644 --- a/rtl/VX_execute_unit.v +++ b/rtl/VX_execute_unit.v @@ -58,16 +58,26 @@ module VX_execute_unit ( endgenerate + wire [`NW_M1:0] branch_use_index; + wire branch_found_valid; + VX_priority_encoder choose_alu_result( + .valids(VX_exec_unit_req.valid), + .index (branch_use_index), + .found (branch_found_valid) + ); + + wire[31:0] branch_use_alu_result = alu_result[branch_use_index]; + reg temp_branch_dir; always @(*) begin case(VX_exec_unit_req.branch_type) - `BEQ: temp_branch_dir = (alu_result[0] == 0) ? `TAKEN : `NOT_TAKEN; - `BNE: temp_branch_dir = (alu_result[0] == 0) ? `NOT_TAKEN : `TAKEN; - `BLT: temp_branch_dir = (alu_result[0][31] == 0) ? `NOT_TAKEN : `TAKEN; - `BGT: temp_branch_dir = (alu_result[0][31] == 0) ? `TAKEN : `NOT_TAKEN; - `BLTU: temp_branch_dir = (alu_result[0][31] == 0) ? `NOT_TAKEN : `TAKEN; - `BGTU: temp_branch_dir = (alu_result[0][31] == 0) ? `TAKEN : `NOT_TAKEN; + `BEQ: temp_branch_dir = (branch_use_alu_result == 0) ? `TAKEN : `NOT_TAKEN; + `BNE: temp_branch_dir = (branch_use_alu_result == 0) ? `NOT_TAKEN : `TAKEN; + `BLT: temp_branch_dir = (branch_use_alu_result[31] == 0) ? `NOT_TAKEN : `TAKEN; + `BGT: temp_branch_dir = (branch_use_alu_result[31] == 0) ? `TAKEN : `NOT_TAKEN; + `BLTU: temp_branch_dir = (branch_use_alu_result[31] == 0) ? `NOT_TAKEN : `TAKEN; + `BGTU: temp_branch_dir = (branch_use_alu_result[31] == 0) ? `TAKEN : `NOT_TAKEN; `NO_BRANCH: temp_branch_dir = `NOT_TAKEN; default: temp_branch_dir = `NOT_TAKEN; endcase // in_branch_type diff --git a/rtl/VX_generic_stack.v b/rtl/VX_generic_stack.v index b91263ea..cdac974f 100644 --- a/rtl/VX_generic_stack.v +++ b/rtl/VX_generic_stack.v @@ -22,13 +22,12 @@ module VX_generic_stack if (reset) begin ptr <= 0; for (i = 0; i < (1 << DEPTH); i=i+1) stack[i] <= 0; - end else if (push) - ptr <= ptr + 2; - else if (pop) begin - ptr <= ptr - 1; end else if (push) begin stack[ptr] <= q1; stack[ptr+1] <= q2; + ptr <= ptr + 2; + end else if (pop) begin + ptr <= ptr - 1; end end diff --git a/rtl/VX_gpgpu_inst.v b/rtl/VX_gpgpu_inst.v index e9901625..230c33f2 100644 --- a/rtl/VX_gpgpu_inst.v +++ b/rtl/VX_gpgpu_inst.v @@ -7,6 +7,9 @@ module VX_gpgpu_inst ( ); + wire[`NT_M1:0] curr_valids = VX_gpu_inst_req.valid; + wire is_split = (VX_gpu_inst_req.is_split); + wire[`NT_M1:0] tmc_new_mask; genvar curr_t; for (curr_t = 0; curr_t < `NT; curr_t=curr_t+1) @@ -14,7 +17,7 @@ module VX_gpgpu_inst ( assign tmc_new_mask[curr_t] = curr_t < VX_gpu_inst_req.a_reg_data[0]; end - wire valid_inst = (|VX_gpu_inst_req.valid); + wire valid_inst = (|curr_valids); assign VX_warp_ctl.warp_num = VX_gpu_inst_req.warp_num; assign VX_warp_ctl.change_mask = (VX_gpu_inst_req.is_tmc || VX_gpu_inst_req.is_split) && valid_inst; @@ -34,20 +37,19 @@ module VX_gpgpu_inst ( for (curr_s_t = 0; curr_s_t < `NT; curr_s_t=curr_s_t+1) begin wire curr_bool = (VX_gpu_inst_req.a_reg_data[curr_s_t] == 32'b1); - assign split_new_use_mask[curr_s_t] = VX_gpu_inst_req.valid[curr_s_t] & (curr_bool); - assign split_new_later_mask[curr_s_t] = VX_gpu_inst_req.valid[curr_s_t] & (!curr_bool); + assign split_new_use_mask[curr_s_t] = curr_valids[curr_s_t] & (curr_bool); + assign split_new_later_mask[curr_s_t] = curr_valids[curr_s_t] & (!curr_bool); end - reg[$clog2(`NT)-1:0] num_valids; - integer z; - always @(*) begin - num_valids = 0; - for (z = 0; z < `NT; z=z+1) begin - if (VX_gpu_inst_req.valid[z]) num_valids = num_valids + 1; - end - end + + wire[`NW_M1:0] num_valids; + VX_one_counter one_counter( + .valids (curr_valids), + .ones_found(num_valids) + ); + - assign VX_warp_ctl.is_split = (VX_gpu_inst_req.is_split) && (num_valids > 1); + assign VX_warp_ctl.is_split = is_split && (num_valids > 1); assign VX_warp_ctl.split_new_mask = split_new_use_mask; assign VX_warp_ctl.split_later_mask = split_new_later_mask; assign VX_warp_ctl.split_save_pc = VX_gpu_inst_req.pc_next; diff --git a/rtl/VX_gpr.v b/rtl/VX_gpr.v index 96592049..c3ac3e84 100644 --- a/rtl/VX_gpr.v +++ b/rtl/VX_gpr.v @@ -15,112 +15,112 @@ module VX_gpr ( assign write_enable = valid_write_request && ((VX_writeback_inter.wb != 0) && (VX_writeback_inter.rd != 5'h0)); - // byte_enabled_simple_dual_port_ram first_ram( - // .we (write_enable), - // .clk (clk), - // .waddr (VX_writeback_inter.rd), - // .raddr1(VX_gpr_read.rs1), - // .raddr2(VX_gpr_read.rs2), - // .be (VX_writeback_inter.wb_valid), - // .wdata (VX_writeback_inter.write_data), - // .q1 (out_a_reg_data), - // .q2 (out_b_reg_data) - // ); + byte_enabled_simple_dual_port_ram first_ram( + .we (write_enable), + .clk (clk), + .waddr (VX_writeback_inter.rd), + .raddr1(VX_gpr_read.rs1), + .raddr2(VX_gpr_read.rs2), + .be (VX_writeback_inter.wb_valid), + .wdata (VX_writeback_inter.write_data), + .q1 (out_a_reg_data), + .q2 (out_b_reg_data) + ); - wire[`NT_M1:0][31:0] write_bit_mask; + // wire[`NT_M1:0][31:0] write_bit_mask; - genvar curr_t; - for (curr_t = 0; curr_t < `NT; curr_t=curr_t+1) begin - wire local_write = write_enable & VX_writeback_inter.wb_valid[curr_t]; - assign write_bit_mask[curr_t] = {32{~local_write}}; - end + // genvar curr_t; + // for (curr_t = 0; curr_t < `NT; curr_t=curr_t+1) begin + // wire local_write = write_enable & VX_writeback_inter.wb_valid[curr_t]; + // assign write_bit_mask[curr_t] = {32{~local_write}}; + // end - wire going_to_write = write_enable & (|VX_writeback_inter.wb_valid); + // wire going_to_write = write_enable & (|VX_writeback_inter.wb_valid); - wire cenb = !going_to_write; + // wire cenb = !going_to_write; - wire cena_1 = (VX_gpr_read.rs1 == 0); - wire cena_2 = (VX_gpr_read.rs2 == 0); + // wire cena_1 = (VX_gpr_read.rs1 == 0); + // wire cena_2 = (VX_gpr_read.rs2 == 0); - // wire[127:0] write_bit_mask = {{32{~(VX_writeback_inter.wb_valid[3])}}, {32{~(VX_writeback_inter.wb_valid[2])}}, {32{~(VX_writeback_inter.wb_valid[1])}}, {32{~(VX_writeback_inter.wb_valid[0])}}}; - /* verilator lint_off PINCONNECTEMPTY */ - rf2_32x128_wm1 first_ram ( - .CENYA(), - .AYA(), - .CENYB(), - .WENYB(), - .AYB(), - .QA(out_a_reg_data), - .SOA(), - .SOB(), - .CLKA(clk), - .CENA(cena_1), - .AA(VX_gpr_read.rs1), - .CLKB(clk), - .CENB(cenb), - .WENB(write_bit_mask), - .AB(VX_writeback_inter.rd), - .DB(VX_writeback_inter.write_data), - .EMAA(3'b011), - .EMASA(1'b0), - .EMAB(3'b011), - .TENA(1'b1), - .TCENA(1'b0), - .TAA(5'b0), - .TENB(1'b1), - .TCENB(1'b0), - .TWENB(128'b0), - .TAB(5'b0), - .TDB(128'b0), - .RET1N(1'b1), - .SIA(2'b0), - .SEA(1'b0), - .DFTRAMBYP(1'b0), - .SIB(2'b0), - .SEB(1'b0), - .COLLDISN(1'b1) - ); - /* verilator lint_on PINCONNECTEMPTY */ + // // wire[127:0] write_bit_mask = {{32{~(VX_writeback_inter.wb_valid[3])}}, {32{~(VX_writeback_inter.wb_valid[2])}}, {32{~(VX_writeback_inter.wb_valid[1])}}, {32{~(VX_writeback_inter.wb_valid[0])}}}; + // /* verilator lint_off PINCONNECTEMPTY */ + // rf2_32x128_wm1 first_ram ( + // .CENYA(), + // .AYA(), + // .CENYB(), + // .WENYB(), + // .AYB(), + // .QA(out_a_reg_data), + // .SOA(), + // .SOB(), + // .CLKA(clk), + // .CENA(cena_1), + // .AA(VX_gpr_read.rs1), + // .CLKB(clk), + // .CENB(cenb), + // .WENB(write_bit_mask), + // .AB(VX_writeback_inter.rd), + // .DB(VX_writeback_inter.write_data), + // .EMAA(3'b011), + // .EMASA(1'b0), + // .EMAB(3'b011), + // .TENA(1'b1), + // .TCENA(1'b0), + // .TAA(5'b0), + // .TENB(1'b1), + // .TCENB(1'b0), + // .TWENB(128'b0), + // .TAB(5'b0), + // .TDB(128'b0), + // .RET1N(1'b1), + // .SIA(2'b0), + // .SEA(1'b0), + // .DFTRAMBYP(1'b0), + // .SIB(2'b0), + // .SEB(1'b0), + // .COLLDISN(1'b1) + // ); + // /* verilator lint_on PINCONNECTEMPTY */ - /* verilator lint_off PINCONNECTEMPTY */ - rf2_32x128_wm1 second_ram ( - .CENYA(), - .AYA(), - .CENYB(), - .WENYB(), - .AYB(), - .QA(out_b_reg_data), - .SOA(), - .SOB(), - .CLKA(clk), - .CENA(cena_2), - .AA(VX_gpr_read.rs2), - .CLKB(clk), - .CENB(cenb), - .WENB(write_bit_mask), - .AB(VX_writeback_inter.rd), - .DB(VX_writeback_inter.write_data), - .EMAA(3'b011), - .EMASA(1'b0), - .EMAB(3'b011), - .TENA(1'b1), - .TCENA(1'b0), - .TAA(5'b0), - .TENB(1'b1), - .TCENB(1'b0), - .TWENB(128'b0), - .TAB(5'b0), - .TDB(128'b0), - .RET1N(1'b1), - .SIA(2'b0), - .SEA(1'b0), - .DFTRAMBYP(1'b0), - .SIB(2'b0), - .SEB(1'b0), - .COLLDISN(1'b1) - ); - /* verilator lint_on PINCONNECTEMPTY */ + // /* verilator lint_off PINCONNECTEMPTY */ + // rf2_32x128_wm1 second_ram ( + // .CENYA(), + // .AYA(), + // .CENYB(), + // .WENYB(), + // .AYB(), + // .QA(out_b_reg_data), + // .SOA(), + // .SOB(), + // .CLKA(clk), + // .CENA(cena_2), + // .AA(VX_gpr_read.rs2), + // .CLKB(clk), + // .CENB(cenb), + // .WENB(write_bit_mask), + // .AB(VX_writeback_inter.rd), + // .DB(VX_writeback_inter.write_data), + // .EMAA(3'b011), + // .EMASA(1'b0), + // .EMAB(3'b011), + // .TENA(1'b1), + // .TCENA(1'b0), + // .TAA(5'b0), + // .TENB(1'b1), + // .TCENB(1'b0), + // .TWENB(128'b0), + // .TAB(5'b0), + // .TDB(128'b0), + // .RET1N(1'b1), + // .SIA(2'b0), + // .SEA(1'b0), + // .DFTRAMBYP(1'b0), + // .SIB(2'b0), + // .SEB(1'b0), + // .COLLDISN(1'b1) + // ); + // /* verilator lint_on PINCONNECTEMPTY */ endmodule diff --git a/rtl/VX_scheduler.v b/rtl/VX_scheduler.v index 5abb37a0..6d1476d8 100644 --- a/rtl/VX_scheduler.v +++ b/rtl/VX_scheduler.v @@ -42,7 +42,7 @@ module VX_scheduler ( always @(posedge clk or posedge reset) begin if (reset) begin - for (i = 0; i < 32; i = i + 1) rename_table[i] = 0; + for (i = 0; i < 32; i = i + 1) rename_table[i] <= 0; end else begin if (valid_wb ) rename_table[VX_writeback_inter.rd] <= 0; if (!schedule_delay && wb_inc) rename_table[VX_bckE_req.rd] <= 1; diff --git a/rtl/VX_warp_scheduler.v b/rtl/VX_warp_scheduler.v index c9b72d87..3a738754 100644 --- a/rtl/VX_warp_scheduler.v +++ b/rtl/VX_warp_scheduler.v @@ -50,7 +50,7 @@ module VX_warp_scheduler ( ); - wire[(1+32+`NT_M1):0] d; + wire[(1+32+`NT_M1):0] d[`NW-1:0]; wire join_fall; wire[31:0] join_pc; @@ -182,11 +182,11 @@ module VX_warp_scheduler ( end end - wire[(1+32+`NT_M1):0] q1 = {1'b1, warp_pcs[split_warp_num], thread_masks[split_warp_num]}; + wire[(1+32+`NT_M1):0] q1 = {1'b1, 32'b0 , thread_masks[split_warp_num]}; wire[(1+32+`NT_M1):0] q2 = {1'b0, split_save_pc , split_later_mask}; - assign {join_fall, join_pc, join_tm} = d; + assign {join_fall, join_pc, join_tm} = d[join_warp_num]; @@ -202,7 +202,7 @@ module VX_warp_scheduler ( .reset(reset), .push (push), .pop (pop), - .d (d), + .d (d[curr_warp]), .q1 (q1), .q2 (q2) ); diff --git a/rtl/results.txt b/rtl/results.txt index acfac43f..e3030abe 100644 --- a/rtl/results.txt +++ b/rtl/results.txt @@ -1,7 +1,7 @@ -# Dynamic Instructions: 12 -# of total cycles: 25 +# Dynamic Instructions: 36 +# of total cycles: 50 # of forwarding stalls: 0 # of branch stalls: 0 -# CPI: 2.08333 -# time to simulate: 0 milliseconds +# CPI: 1.38889 +# time to simulate: 6.95313e-310 milliseconds # GRADE: Failed on test: 4294967295 diff --git a/rtl/simulate/tb_debug.h b/rtl/simulate/tb_debug.h index 711663cc..6aae22b3 100644 --- a/rtl/simulate/tb_debug.h +++ b/rtl/simulate/tb_debug.h @@ -1 +1 @@ -#define VCD_OFF +#define VCD_OUTPUT diff --git a/rtl/simulate/test_bench.h b/rtl/simulate/test_bench.h index 3f3a4cea..fce12e5e 100644 --- a/rtl/simulate/test_bench.h +++ b/rtl/simulate/test_bench.h @@ -373,8 +373,14 @@ bool Vortex::simulate(std::string file_to_simulate) bool cont = false; // for (int i = 0; i < 500; i++) - vortex->clk = 0; + vortex->reset = 1; + vortex->clk = 0; vortex->eval(); + vortex->reset = 1; + vortex->clk = 1; + vortex->eval(); + vortex->reset = 0; + vortex->clk = 0; // unsigned cycles; counter = 0;