diff --git a/kernel/vortex_test.dump b/kernel/vortex_test.dump index 16589269..d20ce978 100644 --- a/kernel/vortex_test.dump +++ b/kernel/vortex_test.dump @@ -5,54 +5,50 @@ vortex_test.elf: file format elf32-littleriscv Disassembly of section .text: 80000000 <_start>: -80000000: 00400513 li a0,4 -80000004: 0005006b 0x5006b -80000008: 020025f3 csrr a1,0x20 -8000000c: 0025a513 slti a0,a1,2 -80000010: 0005206b 0x5206b -80000014: 00050663 beqz a0,80000020 -80000018: 00500613 li a2,5 -8000001c: 0080006f j 80000024 +80000000: 00800513 li a0,8 +80000004: 02051073 csrw 0x20,a0 +80000008: 00400513 li a0,4 +8000000c: 02151073 csrw 0x21,a0 +80000010: f1401073 csrw mhartid,zero +80000014: 30101073 csrw misa,zero +80000018: 7ffff137 lui sp,0x7ffff +8000001c: 0bd010ef jal ra,800018d8
+80000020: 00000513 li a0,0 +80000024: 0005006b 0x5006b -80000020 : -80000020: 00700613 li a2,7 +80000028 : +80000028: 00068b93 mv s7,a3 +8000002c: 00070d13 mv s10,a4 +80000030: 00010f13 mv t5,sp +80000034: 00050393 mv t2,a0 -80000024 : -80000024: 0000306b 0x306b -80000028: 00000073 ecall +80000038 : +80000038: 00100513 li a0,1 -8000002c : -8000002c: 00068b93 mv s7,a3 -80000030: 00070d13 mv s10,a4 -80000034: 00010f13 mv t5,sp -80000038: 00050393 mv t2,a0 +8000003c : +8000003c: 00755c63 bge a0,t2,80000054 -8000003c : -8000003c: 00100513 li a0,1 +80000040 : +80000040: 80010113 addi sp,sp,-2048 # 7fffe800 +80000044: 00050313 mv t1,a0 +80000048: 0003506b 0x3506b -80000040 : -80000040: 00755c63 bge a0,t2,80000058 +8000004c : +8000004c: 00150513 addi a0,a0,1 +80000050: fedff06f j 8000003c -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 : +80000054 : +80000054: 00000013 nop 80000058: 00000013 nop 8000005c: 00000013 nop 80000060: 00000013 nop 80000064: 00000013 nop 80000068: 00000013 nop -8000006c: 00000013 nop -80000070: 000f0113 mv sp,t5 -80000074: 00000513 li a0,0 -80000078: 00060f93 mv t6,a2 -8000007c: 00038d93 mv s11,t2 +8000006c: 000f0113 mv sp,t5 +80000070: 00000513 li a0,0 +80000074: 00060f93 mv t6,a2 +80000078: 00038d93 mv s11,t2 +8000007c: 00000013 nop 80000080: 00000013 nop 80000084: 00000013 nop 80000088: 00000013 nop @@ -60,1658 +56,1657 @@ Disassembly of section .text: 80000090: 00000013 nop 80000094: 00000013 nop 80000098: 00000013 nop -8000009c: 00000013 nop -800000a0: 01bfe0eb 0x1bfe0eb +8000009c: 01bfe0eb 0x1bfe0eb +800000a0: 00000013 nop 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 +800000b8: 00000517 auipc a0,0x0 +800000bc: 1b450513 addi a0,a0,436 # 8000026c +800000c0: 0005406b 0x5406b -800000c8 : -800000c8: 00000317 auipc t1,0x0 -800000cc: f6430313 addi t1,t1,-156 # 8000002c -800000d0: 0003006b 0x3006b -800000d4: 00008067 ret +800000c4 : +800000c4: 00000317 auipc t1,0x0 +800000c8: f6430313 addi t1,t1,-156 # 80000028 +800000cc: 0003006b 0x3006b +800000d0: 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 +800000d4 : +800000d4: 01000217 auipc tp,0x1000 +800000d8: 23c20213 addi tp,tp,572 # 81000310 +800000dc: 00022023 sw zero,0(tp) # 0 +800000e0: 00122223 sw ra,4(tp) # 4 +800000e4: 00222423 sw sp,8(tp) # 8 +800000e8: 00322623 sw gp,12(tp) # c +800000ec: 00422823 sw tp,16(tp) # 10 +800000f0: 00522a23 sw t0,20(tp) # 14 +800000f4: 00622c23 sw t1,24(tp) # 18 +800000f8: 00722e23 sw t2,28(tp) # 1c +800000fc: 02822023 sw s0,32(tp) # 20 +80000100: 02922223 sw s1,36(tp) # 24 +80000104: 02a22423 sw a0,40(tp) # 28 +80000108: 02b22623 sw a1,44(tp) # 2c +8000010c: 02c22823 sw a2,48(tp) # 30 +80000110: 02d22a23 sw a3,52(tp) # 34 +80000114: 02e22c23 sw a4,56(tp) # 38 +80000118: 02f22e23 sw a5,60(tp) # 3c +8000011c: 05022023 sw a6,64(tp) # 40 +80000120: 05122223 sw a7,68(tp) # 44 +80000124: 05222423 sw s2,72(tp) # 48 +80000128: 05322623 sw s3,76(tp) # 4c +8000012c: 05422823 sw s4,80(tp) # 50 +80000130: 05522a23 sw s5,84(tp) # 54 +80000134: 05622c23 sw s6,88(tp) # 58 +80000138: 05722e23 sw s7,92(tp) # 5c +8000013c: 07822023 sw s8,96(tp) # 60 +80000140: 07922223 sw s9,100(tp) # 64 +80000144: 07a22423 sw s10,104(tp) # 68 +80000148: 07b22623 sw s11,108(tp) # 6c +8000014c: 07c22823 sw t3,112(tp) # 70 +80000150: 07d22a23 sw t4,116(tp) # 74 +80000154: 07e22c23 sw t5,120(tp) # 78 +80000158: 07f22e23 sw t6,124(tp) # 7c +8000015c: 00100213 li tp,1 +80000160: 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 +80000164 : +80000164: 01000217 auipc tp,0x1000 +80000168: 1ac20213 addi tp,tp,428 # 81000310 +8000016c: 00022003 lw zero,0(tp) # 0 +80000170: 00422083 lw ra,4(tp) # 4 +80000174: 00822103 lw sp,8(tp) # 8 +80000178: 00c22183 lw gp,12(tp) # c +8000017c: 01022203 lw tp,16(tp) # 10 +80000180: 01422283 lw t0,20(tp) # 14 +80000184: 01822303 lw t1,24(tp) # 18 +80000188: 01c22383 lw t2,28(tp) # 1c +8000018c: 02022403 lw s0,32(tp) # 20 +80000190: 02422483 lw s1,36(tp) # 24 +80000194: 02822503 lw a0,40(tp) # 28 +80000198: 02c22583 lw a1,44(tp) # 2c +8000019c: 03022603 lw a2,48(tp) # 30 +800001a0: 03422683 lw a3,52(tp) # 34 +800001a4: 03822703 lw a4,56(tp) # 38 +800001a8: 03c22783 lw a5,60(tp) # 3c +800001ac: 04022803 lw a6,64(tp) # 40 +800001b0: 04422883 lw a7,68(tp) # 44 +800001b4: 04822903 lw s2,72(tp) # 48 +800001b8: 04c22983 lw s3,76(tp) # 4c +800001bc: 05022a03 lw s4,80(tp) # 50 +800001c0: 05422a83 lw s5,84(tp) # 54 +800001c4: 05822b03 lw s6,88(tp) # 58 +800001c8: 05c22b83 lw s7,92(tp) # 5c +800001cc: 06022c03 lw s8,96(tp) # 60 +800001d0: 06422c83 lw s9,100(tp) # 64 +800001d4: 06822d03 lw s10,104(tp) # 68 +800001d8: 06c22d83 lw s11,108(tp) # 6c +800001dc: 07022e03 lw t3,112(tp) # 70 +800001e0: 07422e83 lw t4,116(tp) # 74 +800001e4: 07822f03 lw t5,120(tp) # 78 +800001e8: 07c22f83 lw t6,124(tp) # 7c +800001ec: 00000213 li tp,0 +800001f0: 00008067 ret -800001f8 : -800001f8: 02002573 csrr a0,0x20 -800001fc: 00008067 ret +800001f4 : +800001f4: 02002573 csrr a0,0x20 +800001f8: 00008067 ret -80000200 : -80000200: 02102573 csrr a0,0x21 -80000204: 00008067 ret +800001fc : +800001fc: 02102573 csrr a0,0x21 +80000200: 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 +80000204 : +80000204: fe010113 addi sp,sp,-32 +80000208: 00112e23 sw ra,28(sp) +8000020c: 00812c23 sw s0,24(sp) +80000210: 02010413 addi s0,sp,32 +80000214: fe042623 sw zero,-20(s0) +80000218: 0340006f j 8000024c +8000021c: fec42703 lw a4,-20(s0) +80000220: 000017b7 lui a5,0x1 +80000224: 97478793 addi a5,a5,-1676 # 974 +80000228: 02f70733 mul a4,a4,a5 +8000022c: 810007b7 lui a5,0x81000 +80000230: 41078793 addi a5,a5,1040 # 81000410 +80000234: 00f707b3 add a5,a4,a5 +80000238: 00078513 mv a0,a5 +8000023c: 440000ef jal ra,8000067c +80000240: fec42783 lw a5,-20(s0) +80000244: 00178793 addi a5,a5,1 +80000248: fef42623 sw a5,-20(s0) +8000024c: fec42703 lw a4,-20(s0) +80000250: 01f00793 li a5,31 +80000254: fce7d4e3 bge a5,a4,8000021c +80000258: 00000013 nop +8000025c: 01c12083 lw ra,28(sp) +80000260: 01812403 lw s0,24(sp) +80000264: 02010113 addi sp,sp,32 +80000268: 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 +8000026c : +8000026c: fd010113 addi sp,sp,-48 +80000270: 02112623 sw ra,44(sp) +80000274: 02812423 sw s0,40(sp) +80000278: 03a12223 sw s10,36(sp) +8000027c: 03010413 addi s0,sp,48 +80000280: 00000013 nop +80000284: 000d0713 mv a4,s10 +80000288: 000017b7 lui a5,0x1 +8000028c: 97478793 addi a5,a5,-1676 # 974 +80000290: 02f70733 mul a4,a4,a5 +80000294: 810007b7 lui a5,0x81000 +80000298: 41078793 addi a5,a5,1040 # 81000410 +8000029c: 00f707b3 add a5,a4,a5 +800002a0: 00078513 mv a0,a5 +800002a4: 504000ef jal ra,800007a8 +800002a8: 00050793 mv a5,a0 +800002ac: 02078a63 beqz a5,800002e0 +800002b0: 000d0713 mv a4,s10 +800002b4: 810007b7 lui a5,0x81000 +800002b8: 00271713 slli a4,a4,0x2 +800002bc: 26878793 addi a5,a5,616 # 81000268 +800002c0: 00f707b3 add a5,a4,a5 +800002c4: 00100713 li a4,1 +800002c8: 00e7a023 sw a4,0(a5) +800002cc: 000d0793 mv a5,s10 +800002d0: 00079663 bnez a5,800002dc +800002d4: e91ff0ef jal ra,80000164 +800002d8: 05c0006f j 80000334 +800002dc: 00000073 ecall +800002e0: 000d0713 mv a4,s10 +800002e4: 000017b7 lui a5,0x1 +800002e8: 97478793 addi a5,a5,-1676 # 974 +800002ec: 02f70733 mul a4,a4,a5 +800002f0: 810007b7 lui a5,0x81000 +800002f4: 41078793 addi a5,a5,1040 # 81000410 +800002f8: 00f707b3 add a5,a4,a5 +800002fc: fd840713 addi a4,s0,-40 +80000300: 00070593 mv a1,a4 +80000304: 00078513 mv a0,a5 +80000308: 400000ef jal ra,80000708 +8000030c: fe042783 lw a5,-32(s0) +80000310: 00078113 mv sp,a5 +80000314: fdc42783 lw a5,-36(s0) +80000318: fd842583 lw a1,-40(s0) +8000031c: fe442603 lw a2,-28(s0) +80000320: fe842683 lw a3,-24(s0) +80000324: fec42703 lw a4,-20(s0) +80000328: 00078513 mv a0,a5 +8000032c: cfdff0ef jal ra,80000028 +80000330: 00000073 ecall +80000334: 02c12083 lw ra,44(sp) +80000338: 02812403 lw s0,40(sp) +8000033c: 02412d03 lw s10,36(sp) +80000340: 03010113 addi sp,sp,48 +80000344: 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 +80000348 : +80000348: fb010113 addi sp,sp,-80 +8000034c: 04112623 sw ra,76(sp) +80000350: 04812423 sw s0,72(sp) +80000354: 05010413 addi s0,sp,80 +80000358: e9dff0ef jal ra,800001f4 +8000035c: fea42423 sw a0,-24(s0) +80000360: 00010993 mv s3,sp +80000364: 00100793 li a5,1 +80000368: fef42623 sw a5,-20(s0) +8000036c: 08c0006f j 800003f8 +80000370: fec42703 lw a4,-20(s0) +80000374: 000017b7 lui a5,0x1 +80000378: 97478793 addi a5,a5,-1676 # 974 +8000037c: 02f70733 mul a4,a4,a5 +80000380: 810007b7 lui a5,0x81000 +80000384: 41078793 addi a5,a5,1040 # 81000410 +80000388: 00f707b3 add a5,a4,a5 +8000038c: 00078513 mv a0,a5 +80000390: 418000ef jal ra,800007a8 +80000394: 00050793 mv a5,a0 +80000398: 04079a63 bnez a5,800003ec +8000039c: fec42703 lw a4,-20(s0) +800003a0: 000017b7 lui a5,0x1 +800003a4: 97478793 addi a5,a5,-1676 # 974 +800003a8: 02f70733 mul a4,a4,a5 +800003ac: 810007b7 lui a5,0x81000 +800003b0: 41078793 addi a5,a5,1040 # 81000410 +800003b4: 00f707b3 add a5,a4,a5 +800003b8: fd040713 addi a4,s0,-48 +800003bc: 00070593 mv a1,a4 +800003c0: 00078513 mv a0,a5 +800003c4: 344000ef jal ra,80000708 +800003c8: fd842783 lw a5,-40(s0) +800003cc: 00078113 mv sp,a5 +800003d0: fd442783 lw a5,-44(s0) +800003d4: fd042583 lw a1,-48(s0) +800003d8: fdc42603 lw a2,-36(s0) +800003dc: fe042683 lw a3,-32(s0) +800003e0: fe442703 lw a4,-28(s0) +800003e4: 00078513 mv a0,a5 +800003e8: cddff0ef jal ra,800000c4 +800003ec: fec42783 lw a5,-20(s0) +800003f0: 00178793 addi a5,a5,1 +800003f4: fef42623 sw a5,-20(s0) +800003f8: fec42783 lw a5,-20(s0) +800003fc: fe842703 lw a4,-24(s0) +80000400: f6e7e8e3 bltu a5,a4,80000370 +80000404: 00098113 mv sp,s3 +80000408: ccdff0ef jal ra,800000d4 +8000040c: 00020793 mv a5,tp +80000410: 04078863 beqz a5,80000460 +80000414: 810007b7 lui a5,0x81000 +80000418: 41078513 addi a0,a5,1040 # 81000410 +8000041c: 38c000ef jal ra,800007a8 +80000420: 00050793 mv a5,a0 +80000424: 02079e63 bnez a5,80000460 +80000428: fb840793 addi a5,s0,-72 +8000042c: 00078593 mv a1,a5 +80000430: 810007b7 lui a5,0x81000 +80000434: 41078513 addi a0,a5,1040 # 81000410 +80000438: 2d0000ef jal ra,80000708 +8000043c: fc042783 lw a5,-64(s0) +80000440: 00078113 mv sp,a5 +80000444: fbc42783 lw a5,-68(s0) +80000448: fb842583 lw a1,-72(s0) +8000044c: fc442603 lw a2,-60(s0) +80000450: fc842683 lw a3,-56(s0) +80000454: fcc42703 lw a4,-52(s0) +80000458: 00078513 mv a0,a5 +8000045c: bcdff0ef jal ra,80000028 +80000460: 00000013 nop +80000464: 04c12083 lw ra,76(sp) +80000468: 04812403 lw s0,72(sp) +8000046c: 05010113 addi sp,sp,80 +80000470: 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 +80000474 : +80000474: fb010113 addi sp,sp,-80 +80000478: 04112623 sw ra,76(sp) +8000047c: 04812423 sw s0,72(sp) +80000480: 05010413 addi s0,sp,80 +80000484: faa42e23 sw a0,-68(s0) +80000488: fab42c23 sw a1,-72(s0) +8000048c: fac42a23 sw a2,-76(s0) +80000490: fad42823 sw a3,-80(s0) +80000494: d71ff0ef jal ra,80000204 +80000498: d5dff0ef jal ra,800001f4 +8000049c: fea42223 sw a0,-28(s0) +800004a0: 00010913 mv s2,sp +800004a4: fe042623 sw zero,-20(s0) +800004a8: fe042423 sw zero,-24(s0) +800004ac: 0900006f j 8000053c +800004b0: ffff09b7 lui s3,0xffff0 +800004b4: 01310133 add sp,sp,s3 +800004b8: fe842783 lw a5,-24(s0) +800004bc: fcf42623 sw a5,-52(s0) +800004c0: fb842783 lw a5,-72(s0) +800004c4: fcf42823 sw a5,-48(s0) +800004c8: 00010793 mv a5,sp +800004cc: fcf42a23 sw a5,-44(s0) +800004d0: fb442783 lw a5,-76(s0) +800004d4: fcf42c23 sw a5,-40(s0) +800004d8: fb042783 lw a5,-80(s0) +800004dc: fcf42e23 sw a5,-36(s0) +800004e0: fec42783 lw a5,-20(s0) +800004e4: fef42023 sw a5,-32(s0) +800004e8: fec42703 lw a4,-20(s0) +800004ec: 000017b7 lui a5,0x1 +800004f0: 97478793 addi a5,a5,-1676 # 974 +800004f4: 02f70733 mul a4,a4,a5 +800004f8: 810007b7 lui a5,0x81000 +800004fc: 41078793 addi a5,a5,1040 # 81000410 +80000500: 00f707b3 add a5,a4,a5 +80000504: fcc40713 addi a4,s0,-52 +80000508: 00070593 mv a1,a4 +8000050c: 00078513 mv a0,a5 +80000510: 190000ef jal ra,800006a0 +80000514: fec42783 lw a5,-20(s0) +80000518: 00178793 addi a5,a5,1 +8000051c: fef42623 sw a5,-20(s0) +80000520: fec42783 lw a5,-20(s0) +80000524: fe442703 lw a4,-28(s0) +80000528: 00e7e463 bltu a5,a4,80000530 +8000052c: fe042623 sw zero,-20(s0) +80000530: fe842783 lw a5,-24(s0) +80000534: 00178793 addi a5,a5,1 +80000538: fef42423 sw a5,-24(s0) +8000053c: fe842703 lw a4,-24(s0) +80000540: fbc42783 lw a5,-68(s0) +80000544: f6f766e3 bltu a4,a5,800004b0 +80000548: 00090113 mv sp,s2 +8000054c: dfdff0ef jal ra,80000348 +80000550: 00000013 nop +80000554: 04c12083 lw ra,76(sp) +80000558: 04812403 lw s0,72(sp) +8000055c: 05010113 addi sp,sp,80 +80000560: 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 +80000564 : +80000564: fd010113 addi sp,sp,-48 +80000568: 02112623 sw ra,44(sp) +8000056c: 02812423 sw s0,40(sp) +80000570: 03010413 addi s0,sp,48 +80000574: fca42e23 sw a0,-36(s0) +80000578: fdc42583 lw a1,-36(s0) +8000057c: 810007b7 lui a5,0x81000 +80000580: 04078513 addi a0,a5,64 # 81000040 +80000584: 354000ef jal ra,800008d8 +80000588: c6dff0ef jal ra,800001f4 +8000058c: fea42023 sw a0,-32(s0) +80000590: fe042623 sw zero,-20(s0) +80000594: 0680006f j 800005fc +80000598: 00100793 li a5,1 +8000059c: fef42623 sw a5,-20(s0) +800005a0: fe042423 sw zero,-24(s0) +800005a4: 03c0006f j 800005e0 +800005a8: 810007b7 lui a5,0x81000 +800005ac: fe842703 lw a4,-24(s0) +800005b0: 00271713 slli a4,a4,0x2 +800005b4: 26878793 addi a5,a5,616 # 81000268 +800005b8: 00f707b3 add a5,a4,a5 +800005bc: 0007a703 lw a4,0(a5) +800005c0: 00100793 li a5,1 +800005c4: 00f71863 bne a4,a5,800005d4 +800005c8: fec42783 lw a5,-20(s0) +800005cc: 00178793 addi a5,a5,1 +800005d0: fef42623 sw a5,-20(s0) +800005d4: fe842783 lw a5,-24(s0) +800005d8: 00178793 addi a5,a5,1 +800005dc: fef42423 sw a5,-24(s0) +800005e0: fe842703 lw a4,-24(s0) +800005e4: 01f00793 li a5,31 +800005e8: fce7d0e3 bge a5,a4,800005a8 +800005ec: fec42583 lw a1,-20(s0) +800005f0: 810007b7 lui a5,0x81000 +800005f4: 04c78513 addi a0,a5,76 # 8100004c +800005f8: 2e0000ef jal ra,800008d8 +800005fc: fec42703 lw a4,-20(s0) +80000600: fdc42783 lw a5,-36(s0) +80000604: f8f76ae3 bltu a4,a5,80000598 +80000608: fe042223 sw zero,-28(s0) +8000060c: 0280006f j 80000634 +80000610: 810007b7 lui a5,0x81000 +80000614: fe442703 lw a4,-28(s0) +80000618: 00271713 slli a4,a4,0x2 +8000061c: 26878793 addi a5,a5,616 # 81000268 +80000620: 00f707b3 add a5,a4,a5 +80000624: 0007a023 sw zero,0(a5) +80000628: fe442783 lw a5,-28(s0) +8000062c: 00178793 addi a5,a5,1 +80000630: fef42223 sw a5,-28(s0) +80000634: fe442783 lw a5,-28(s0) +80000638: fe042703 lw a4,-32(s0) +8000063c: fce7eae3 bltu a5,a4,80000610 +80000640: 00000013 nop +80000644: 02c12083 lw ra,44(sp) +80000648: 02812403 lw s0,40(sp) +8000064c: 03010113 addi sp,sp,48 +80000650: 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 +80000654 : +80000654: ff010113 addi sp,sp,-16 +80000658: 00812623 sw s0,12(sp) +8000065c: 01712423 sw s7,8(sp) +80000660: 01010413 addi s0,sp,16 +80000664: 000b8793 mv a5,s7 +80000668: 00078513 mv a0,a5 +8000066c: 00c12403 lw s0,12(sp) +80000670: 00812b83 lw s7,8(sp) +80000674: 01010113 addi sp,sp,16 +80000678: 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 +8000067c : +8000067c: 00050293 mv t0,a0 +80000680: 00000313 li t1,0 +80000684: 00700393 li t2,7 +80000688: 0062a023 sw t1,0(t0) +8000068c: 0062a223 sw t1,4(t0) +80000690: 0062a423 sw t1,8(t0) +80000694: 0072a623 sw t2,12(t0) +80000698: 0062a823 sw t1,16(t0) +8000069c: 00008067 ret -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 +800006a0 : +800006a0: 00050293 mv t0,a0 +800006a4: 0082a303 lw t1,8(t0) +800006a8: 00130313 addi t1,t1,1 +800006ac: 0062a423 sw t1,8(t0) +800006b0: 01428313 addi t1,t0,20 +800006b4: 0042ae83 lw t4,4(t0) +800006b8: 005e9393 slli t2,t4,0x5 +800006bc: 00730333 add t1,t1,t2 +800006c0: 0005ae03 lw t3,0(a1) +800006c4: 01c32023 sw t3,0(t1) +800006c8: 0045ae03 lw t3,4(a1) +800006cc: 01c32223 sw t3,4(t1) +800006d0: 0085ae03 lw t3,8(a1) +800006d4: 01c32423 sw t3,8(t1) +800006d8: 00c5ae03 lw t3,12(a1) +800006dc: 01c32623 sw t3,12(t1) +800006e0: 0105ae03 lw t3,16(a1) +800006e4: 01c32823 sw t3,16(t1) +800006e8: 0145ae03 lw t3,20(a1) +800006ec: 01c32a23 sw t3,20(t1) +800006f0: 001e8e93 addi t4,t4,1 +800006f4: 03200f13 li t5,50 +800006f8: 01ee9463 bne t4,t5,80000700 +800006fc: 00000e93 li t4,0 -80000704 : -80000704: 01d2a223 sw t4,4(t0) -80000708: 00008067 ret +80000700 : +80000700: 01d2a223 sw t4,4(t0) +80000704: 00008067 ret -8000070c : -8000070c: 00050293 mv t0,a0 -80000710: 0082a303 lw t1,8(t0) +80000708 : +80000708: 00050293 mv t0,a0 +8000070c: 0082a303 lw t1,8(t0) +80000710: 00000013 nop 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 +80000728: fff30313 addi t1,t1,-1 +8000072c: 0062a423 sw t1,8(t0) +80000730: 01428313 addi t1,t0,20 +80000734: 0002ae83 lw t4,0(t0) +80000738: 03200f93 li t6,50 +8000073c: 000e8f13 mv t5,t4 +80000740: 001f0f13 addi t5,t5,1 +80000744: 01ff1463 bne t5,t6,8000074c +80000748: 00000f13 li t5,0 -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 +8000074c : +8000074c: 01e2a023 sw t5,0(t0) +80000750: 005e9393 slli t2,t4,0x5 +80000754: 00730333 add t1,t1,t2 +80000758: 00032e03 lw t3,0(t1) +8000075c: 01c5a023 sw t3,0(a1) +80000760: 00432e03 lw t3,4(t1) +80000764: 01c5a223 sw t3,4(a1) +80000768: 00832e03 lw t3,8(t1) +8000076c: 01c5a423 sw t3,8(a1) +80000770: 00c32e03 lw t3,12(t1) +80000774: 01c5a623 sw t3,12(a1) +80000778: 01032e03 lw t3,16(t1) +8000077c: 01c5a823 sw t3,16(a1) +80000780: 01432e03 lw t3,20(t1) +80000784: 01c5aa23 sw t3,20(a1) +80000788: 00008067 ret -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 +8000078c : +8000078c: 00050293 mv t0,a0 +80000790: 0082a303 lw t1,8(t0) +80000794: 00000513 li a0,0 +80000798: 03200e13 li t3,50 +8000079c: 006e1463 bne t3,t1,800007a4 +800007a0: 00150513 addi a0,a0,1 -800007a8 : -800007a8: 00008067 ret +800007a4 : +800007a4: 00008067 ret -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 +800007a8 : +800007a8: 00050293 mv t0,a0 +800007ac: 0082a303 lw t1,8(t0) +800007b0: 00000513 li a0,0 +800007b4: 00000e13 li t3,0 +800007b8: 006e1463 bne t3,t1,800007c0 +800007bc: 00150513 addi a0,a0,1 -800007c4 : -800007c4: 00008067 ret +800007c0 : +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: 00050293 mv t0,a0 +800007c8: 00c2a303 lw t1,12(t0) +800007cc: 0102a383 lw t2,16(t0) +800007d0: 0063b533 sltu a0,t2,t1 +800007d4: 00008067 ret -800007dc : -800007dc: ff410113 addi sp,sp,-12 -800007e0: 00112023 sw ra,0(sp) -800007e4: 00b12223 sw a1,4(sp) +800007d8 : +800007d8: ff410113 addi sp,sp,-12 +800007dc: 00112023 sw ra,0(sp) +800007e0: 00b12223 sw a1,4(sp) -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: 00054583 lbu a1,0(a0) +800007e8: 00058863 beqz a1,800007f8 +800007ec: 01c000ef jal ra,80000808 +800007f0: 00150513 addi a0,a0,1 +800007f4: ff1ff06f j 800007e4 -800007fc : -800007fc: 00012083 lw ra,0(sp) -80000800: 00412583 lw a1,4(sp) -80000804: 00c10113 addi sp,sp,12 -80000808: 00008067 ret +800007f8 : +800007f8: 00012083 lw ra,0(sp) +800007fc: 00412583 lw a1,4(sp) +80000800: 00c10113 addi sp,sp,12 +80000804: 00008067 ret -8000080c : -8000080c: 000108b7 lui a7,0x10 -80000810: 00b8a023 sw a1,0(a7) # 10000 -80000814: 00008067 ret +80000808 : +80000808: 000108b7 lui a7,0x10 +8000080c: 00b8a023 sw a1,0(a7) # 10000 +80000810: 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 +80000814 : +80000814: fd010113 addi sp,sp,-48 +80000818: 02112623 sw ra,44(sp) +8000081c: 02812423 sw s0,40(sp) +80000820: 03010413 addi s0,sp,48 +80000824: fca42e23 sw a0,-36(s0) +80000828: fdc42703 lw a4,-36(s0) +8000082c: 00f00793 li a5,15 +80000830: 02e7e463 bltu a5,a4,80000858 +80000834: 810007b7 lui a5,0x81000 +80000838: fdc42703 lw a4,-36(s0) +8000083c: 00271713 slli a4,a4,0x2 +80000840: 1a878793 addi a5,a5,424 # 810001a8 +80000844: 00f707b3 add a5,a4,a5 +80000848: 0007a783 lw a5,0(a5) +8000084c: 00078513 mv a0,a5 +80000850: f89ff0ef jal ra,800007d8 +80000854: 0740006f j 800008c8 +80000858: 02000793 li a5,32 +8000085c: fef42623 sw a5,-20(s0) +80000860: fe0405a3 sb zero,-21(s0) +80000864: fec42783 lw a5,-20(s0) +80000868: ffc78793 addi a5,a5,-4 +8000086c: fdc42703 lw a4,-36(s0) +80000870: 00f757b3 srl a5,a4,a5 +80000874: 00f7f793 andi a5,a5,15 +80000878: fef42223 sw a5,-28(s0) +8000087c: fe442783 lw a5,-28(s0) +80000880: 00078663 beqz a5,8000088c +80000884: 00100793 li a5,1 +80000888: fef405a3 sb a5,-21(s0) +8000088c: feb44783 lbu a5,-21(s0) +80000890: 02078263 beqz a5,800008b4 +80000894: 810007b7 lui a5,0x81000 +80000898: fe442703 lw a4,-28(s0) +8000089c: 00271713 slli a4,a4,0x2 +800008a0: 1a878793 addi a5,a5,424 # 810001a8 +800008a4: 00f707b3 add a5,a4,a5 +800008a8: 0007a783 lw a5,0(a5) +800008ac: 00078513 mv a0,a5 +800008b0: f29ff0ef jal ra,800007d8 +800008b4: fec42783 lw a5,-20(s0) +800008b8: ffc78793 addi a5,a5,-4 +800008bc: fef42623 sw a5,-20(s0) +800008c0: fec42783 lw a5,-20(s0) +800008c4: faf040e3 bgtz a5,80000864 +800008c8: 02c12083 lw ra,44(sp) +800008cc: 02812403 lw s0,40(sp) +800008d0: 03010113 addi sp,sp,48 +800008d4: 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 +800008d8 : +800008d8: fe010113 addi sp,sp,-32 +800008dc: 00112e23 sw ra,28(sp) +800008e0: 00812c23 sw s0,24(sp) +800008e4: 02010413 addi s0,sp,32 +800008e8: fea42623 sw a0,-20(s0) +800008ec: feb42423 sw a1,-24(s0) +800008f0: fec42503 lw a0,-20(s0) +800008f4: ee5ff0ef jal ra,800007d8 +800008f8: fe842503 lw a0,-24(s0) +800008fc: f19ff0ef jal ra,80000814 +80000900: 810007b7 lui a5,0x81000 +80000904: 09478513 addi a0,a5,148 # 81000094 +80000908: ed1ff0ef jal ra,800007d8 +8000090c: 00000013 nop +80000910: 01c12083 lw ra,28(sp) +80000914: 01812403 lw s0,24(sp) +80000918: 02010113 addi sp,sp,32 +8000091c: 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 +80000920 : +80000920: fd010113 addi sp,sp,-48 +80000924: 02112623 sw ra,44(sp) +80000928: 02812423 sw s0,40(sp) +8000092c: 03010413 addi s0,sp,48 +80000930: fca42e23 sw a0,-36(s0) +80000934: fcb42c23 sw a1,-40(s0) +80000938: fcc42a23 sw a2,-44(s0) +8000093c: fcd42823 sw a3,-48(s0) +80000940: 810267b7 lui a5,0x81026 +80000944: fdc42703 lw a4,-36(s0) +80000948: 1ae7ac23 sw a4,440(a5) # 810261b8 +8000094c: 810267b7 lui a5,0x81026 +80000950: 1b878793 addi a5,a5,440 # 810261b8 +80000954: fd842703 lw a4,-40(s0) +80000958: 00e7a223 sw a4,4(a5) +8000095c: 810267b7 lui a5,0x81026 +80000960: 1b878793 addi a5,a5,440 # 810261b8 +80000964: fd442703 lw a4,-44(s0) +80000968: 00e7a423 sw a4,8(a5) +8000096c: 810267b7 lui a5,0x81026 +80000970: 1b878793 addi a5,a5,440 # 810261b8 +80000974: fd042703 lw a4,-48(s0) +80000978: 00e7a623 sw a4,12(a5) +8000097c: 881ff0ef jal ra,800001fc +80000980: fea42423 sw a0,-24(s0) +80000984: fd042703 lw a4,-48(s0) +80000988: fe842783 lw a5,-24(s0) +8000098c: 02f757b3 divu a5,a4,a5 +80000990: fef42623 sw a5,-20(s0) +80000994: fd042703 lw a4,-48(s0) +80000998: fe842783 lw a5,-24(s0) +8000099c: 02f777b3 remu a5,a4,a5 +800009a0: 00078863 beqz a5,800009b0 +800009a4: fec42783 lw a5,-20(s0) +800009a8: 00178793 addi a5,a5,1 +800009ac: fef42623 sw a5,-20(s0) +800009b0: 810267b7 lui a5,0x81026 +800009b4: 1b878793 addi a5,a5,440 # 810261b8 +800009b8: fec42703 lw a4,-20(s0) +800009bc: 00e7a823 sw a4,16(a5) +800009c0: fd042703 lw a4,-48(s0) +800009c4: fe842783 lw a5,-24(s0) +800009c8: 02f76263 bltu a4,a5,800009ec +800009cc: 810267b7 lui a5,0x81026 +800009d0: 1b878693 addi a3,a5,440 # 810261b8 +800009d4: 800017b7 lui a5,0x80001 +800009d8: a4478613 addi a2,a5,-1468 # 80000a44 +800009dc: fe842583 lw a1,-24(s0) +800009e0: fd042503 lw a0,-48(s0) +800009e4: a91ff0ef jal ra,80000474 +800009e8: 0200006f j 80000a08 +800009ec: 810267b7 lui a5,0x81026 +800009f0: 1b878693 addi a3,a5,440 # 810261b8 +800009f4: 800017b7 lui a5,0x80001 +800009f8: a4478613 addi a2,a5,-1468 # 80000a44 +800009fc: fd042583 lw a1,-48(s0) +80000a00: fd042503 lw a0,-48(s0) +80000a04: a71ff0ef jal ra,80000474 +80000a08: fecff0ef jal ra,800001f4 +80000a0c: fea42223 sw a0,-28(s0) +80000a10: fd042703 lw a4,-48(s0) +80000a14: fe442783 lw a5,-28(s0) +80000a18: 00e7f863 bgeu a5,a4,80000a28 +80000a1c: fe442503 lw a0,-28(s0) +80000a20: b45ff0ef jal ra,80000564 +80000a24: 00c0006f j 80000a30 +80000a28: fd042503 lw a0,-48(s0) +80000a2c: b39ff0ef jal ra,80000564 +80000a30: 00000013 nop +80000a34: 02c12083 lw ra,44(sp) +80000a38: 02812403 lw s0,40(sp) +80000a3c: 03010113 addi sp,sp,48 +80000a40: 00008067 ret -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: 0007a783 lw a5,0(a5) -80000a70: fcf42a23 sw a5,-44(s0) -80000a74: fd842783 lw a5,-40(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: 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: fdc42703 lw a4,-36(s0) -80000af0: 00f707b3 add a5,a4,a5 -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 +80000a44 <_vx_mat_mult>: +80000a44: fa010113 addi sp,sp,-96 +80000a48: 04112e23 sw ra,92(sp) +80000a4c: 04812c23 sw s0,88(sp) +80000a50: 06010413 addi s0,sp,96 +80000a54: faa42623 sw a0,-84(s0) +80000a58: fab42423 sw a1,-88(s0) +80000a5c: bf9ff0ef jal ra,80000654 +80000a60: fca42c23 sw a0,-40(s0) +80000a64: fd842783 lw a5,-40(s0) +80000a68: 0007a783 lw a5,0(a5) +80000a6c: fcf42a23 sw a5,-44(s0) +80000a70: fd842783 lw a5,-40(s0) +80000a74: 0047a783 lw a5,4(a5) +80000a78: fcf42823 sw a5,-48(s0) +80000a7c: fd842783 lw a5,-40(s0) +80000a80: 0087a783 lw a5,8(a5) +80000a84: fcf42623 sw a5,-52(s0) +80000a88: fd842783 lw a5,-40(s0) +80000a8c: 0107a783 lw a5,16(a5) +80000a90: fef42623 sw a5,-20(s0) +80000a94: fec42703 lw a4,-20(s0) +80000a98: fac42783 lw a5,-84(s0) +80000a9c: 02f707b3 mul a5,a4,a5 +80000aa0: fef42423 sw a5,-24(s0) +80000aa4: fec42783 lw a5,-20(s0) +80000aa8: 00079a63 bnez a5,80000abc <_vx_mat_mult+0x78> +80000aac: 00100793 li a5,1 +80000ab0: fef42623 sw a5,-20(s0) +80000ab4: fac42783 lw a5,-84(s0) +80000ab8: fef42423 sw a5,-24(s0) +80000abc: fd842783 lw a5,-40(s0) +80000ac0: 00c7a783 lw a5,12(a5) +80000ac4: fcf42423 sw a5,-56(s0) +80000ac8: fe042223 sw zero,-28(s0) +80000acc: 0d80006f j 80000ba4 <_vx_mat_mult+0x160> +80000ad0: fe042023 sw zero,-32(s0) +80000ad4: fc042e23 sw zero,-36(s0) +80000ad8: 0780006f j 80000b50 <_vx_mat_mult+0x10c> +80000adc: fa842703 lw a4,-88(s0) +80000ae0: fc842783 lw a5,-56(s0) +80000ae4: 02f707b3 mul a5,a4,a5 +80000ae8: fdc42703 lw a4,-36(s0) +80000aec: 00f707b3 add a5,a4,a5 +80000af0: fcf42223 sw a5,-60(s0) +80000af4: fc842703 lw a4,-56(s0) +80000af8: fdc42783 lw a5,-36(s0) +80000afc: 02f707b3 mul a5,a4,a5 +80000b00: fe842703 lw a4,-24(s0) +80000b04: 00f707b3 add a5,a4,a5 +80000b08: fcf42023 sw a5,-64(s0) +80000b0c: fc442783 lw a5,-60(s0) +80000b10: 00279793 slli a5,a5,0x2 +80000b14: fd442703 lw a4,-44(s0) +80000b18: 00f707b3 add a5,a4,a5 +80000b1c: 0007a703 lw a4,0(a5) +80000b20: fc042783 lw a5,-64(s0) +80000b24: 00279793 slli a5,a5,0x2 +80000b28: fd042683 lw a3,-48(s0) +80000b2c: 00f687b3 add a5,a3,a5 +80000b30: 0007a783 lw a5,0(a5) +80000b34: 02f707b3 mul a5,a4,a5 +80000b38: fe042703 lw a4,-32(s0) +80000b3c: 00f707b3 add a5,a4,a5 +80000b40: fef42023 sw a5,-32(s0) +80000b44: fdc42783 lw a5,-36(s0) +80000b48: 00178793 addi a5,a5,1 +80000b4c: fcf42e23 sw a5,-36(s0) +80000b50: fdc42703 lw a4,-36(s0) +80000b54: fc842783 lw a5,-56(s0) +80000b58: f8f762e3 bltu a4,a5,80000adc <_vx_mat_mult+0x98> +80000b5c: fa842703 lw a4,-88(s0) +80000b60: fc842783 lw a5,-56(s0) +80000b64: 02f70733 mul a4,a4,a5 +80000b68: fe842783 lw a5,-24(s0) +80000b6c: 00f707b3 add a5,a4,a5 +80000b70: faf42e23 sw a5,-68(s0) +80000b74: fbc42783 lw a5,-68(s0) +80000b78: 00279793 slli a5,a5,0x2 +80000b7c: fcc42703 lw a4,-52(s0) +80000b80: 00f707b3 add a5,a4,a5 +80000b84: fe042703 lw a4,-32(s0) +80000b88: 00e7a023 sw a4,0(a5) +80000b8c: fe842783 lw a5,-24(s0) +80000b90: 00178793 addi a5,a5,1 +80000b94: fef42423 sw a5,-24(s0) +80000b98: fe442783 lw a5,-28(s0) +80000b9c: 00178793 addi a5,a5,1 +80000ba0: fef42223 sw a5,-28(s0) +80000ba4: fe442783 lw a5,-28(s0) +80000ba8: fec42703 lw a4,-20(s0) +80000bac: f2e7e2e3 bltu a5,a4,80000ad0 <_vx_mat_mult+0x8c> +80000bb0: 00000013 nop +80000bb4: 05c12083 lw ra,92(sp) +80000bb8: 05812403 lw s0,88(sp) +80000bbc: 06010113 addi sp,sp,96 +80000bc0: 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 +80000bc4 : +80000bc4: fc010113 addi sp,sp,-64 +80000bc8: 02112e23 sw ra,60(sp) +80000bcc: 02812c23 sw s0,56(sp) +80000bd0: 04010413 addi s0,sp,64 +80000bd4: fca42e23 sw a0,-36(s0) +80000bd8: fcb42c23 sw a1,-40(s0) +80000bdc: fcc42a23 sw a2,-44(s0) +80000be0: fcd42823 sw a3,-48(s0) +80000be4: fce42623 sw a4,-52(s0) +80000be8: 810267b7 lui a5,0x81026 +80000bec: fdc42703 lw a4,-36(s0) +80000bf0: 1ce7a623 sw a4,460(a5) # 810261cc +80000bf4: 810267b7 lui a5,0x81026 +80000bf8: 1cc78793 addi a5,a5,460 # 810261cc +80000bfc: fd842703 lw a4,-40(s0) +80000c00: 00e7a223 sw a4,4(a5) +80000c04: 810267b7 lui a5,0x81026 +80000c08: 1cc78793 addi a5,a5,460 # 810261cc +80000c0c: fd442703 lw a4,-44(s0) +80000c10: 00e7a423 sw a4,8(a5) +80000c14: 810267b7 lui a5,0x81026 +80000c18: 1cc78793 addi a5,a5,460 # 810261cc +80000c1c: fcc42703 lw a4,-52(s0) +80000c20: 00e7a623 sw a4,12(a5) +80000c24: 810267b7 lui a5,0x81026 +80000c28: 1cc78793 addi a5,a5,460 # 810261cc +80000c2c: fd042703 lw a4,-48(s0) +80000c30: 00e7a823 sw a4,16(a5) +80000c34: dc8ff0ef jal ra,800001fc +80000c38: fea42423 sw a0,-24(s0) +80000c3c: fcc42703 lw a4,-52(s0) +80000c40: fe842783 lw a5,-24(s0) +80000c44: 02f757b3 divu a5,a4,a5 +80000c48: fef42623 sw a5,-20(s0) +80000c4c: fcc42703 lw a4,-52(s0) +80000c50: fe842783 lw a5,-24(s0) +80000c54: 02f777b3 remu a5,a4,a5 +80000c58: 00078863 beqz a5,80000c68 +80000c5c: fec42783 lw a5,-20(s0) +80000c60: 00178793 addi a5,a5,1 +80000c64: fef42623 sw a5,-20(s0) +80000c68: 810267b7 lui a5,0x81026 +80000c6c: 1cc78793 addi a5,a5,460 # 810261cc +80000c70: fec42703 lw a4,-20(s0) +80000c74: 00e7aa23 sw a4,20(a5) +80000c78: fcc42703 lw a4,-52(s0) +80000c7c: fe842783 lw a5,-24(s0) +80000c80: 02f76263 bltu a4,a5,80000ca4 +80000c84: 810267b7 lui a5,0x81026 +80000c88: 1cc78693 addi a3,a5,460 # 810261cc +80000c8c: 800017b7 lui a5,0x80001 +80000c90: cfc78613 addi a2,a5,-772 # 80000cfc +80000c94: fe842583 lw a1,-24(s0) +80000c98: fd042503 lw a0,-48(s0) +80000c9c: fd8ff0ef jal ra,80000474 +80000ca0: 0200006f j 80000cc0 +80000ca4: 810267b7 lui a5,0x81026 +80000ca8: 1cc78693 addi a3,a5,460 # 810261cc +80000cac: 800017b7 lui a5,0x80001 +80000cb0: cfc78613 addi a2,a5,-772 # 80000cfc +80000cb4: fcc42583 lw a1,-52(s0) +80000cb8: fd042503 lw a0,-48(s0) +80000cbc: fb8ff0ef jal ra,80000474 +80000cc0: d34ff0ef jal ra,800001f4 +80000cc4: fea42223 sw a0,-28(s0) +80000cc8: fd042703 lw a4,-48(s0) +80000ccc: fe442783 lw a5,-28(s0) +80000cd0: 00e7f863 bgeu a5,a4,80000ce0 +80000cd4: fe442503 lw a0,-28(s0) +80000cd8: 88dff0ef jal ra,80000564 +80000cdc: 00c0006f j 80000ce8 +80000ce0: fd042503 lw a0,-48(s0) +80000ce4: 881ff0ef jal ra,80000564 +80000ce8: 00000013 nop +80000cec: 03c12083 lw ra,60(sp) +80000cf0: 03812403 lw s0,56(sp) +80000cf4: 04010113 addi sp,sp,64 +80000cf8: 00008067 ret -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: 0007a783 lw a5,0(a5) -80000d28: fcf42e23 sw a5,-36(s0) -80000d2c: fe042783 lw a5,-32(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: 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: 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 +80000cfc <_vx_mat_add>: +80000cfc: fb010113 addi sp,sp,-80 +80000d00: 04112623 sw ra,76(sp) +80000d04: 04812423 sw s0,72(sp) +80000d08: 05010413 addi s0,sp,80 +80000d0c: faa42e23 sw a0,-68(s0) +80000d10: fab42c23 sw a1,-72(s0) +80000d14: 941ff0ef jal ra,80000654 +80000d18: fea42023 sw a0,-32(s0) +80000d1c: fe042783 lw a5,-32(s0) +80000d20: 0007a783 lw a5,0(a5) +80000d24: fcf42e23 sw a5,-36(s0) +80000d28: fe042783 lw a5,-32(s0) +80000d2c: 0047a783 lw a5,4(a5) +80000d30: fcf42c23 sw a5,-40(s0) +80000d34: fe042783 lw a5,-32(s0) +80000d38: 0087a783 lw a5,8(a5) +80000d3c: fcf42a23 sw a5,-44(s0) +80000d40: fe042783 lw a5,-32(s0) +80000d44: 0147a783 lw a5,20(a5) +80000d48: fef42623 sw a5,-20(s0) +80000d4c: fec42703 lw a4,-20(s0) +80000d50: fbc42783 lw a5,-68(s0) +80000d54: 02f707b3 mul a5,a4,a5 +80000d58: fef42423 sw a5,-24(s0) +80000d5c: fec42783 lw a5,-20(s0) +80000d60: 00079a63 bnez a5,80000d74 <_vx_mat_add+0x78> +80000d64: 00100793 li a5,1 +80000d68: fef42623 sw a5,-20(s0) +80000d6c: fbc42783 lw a5,-68(s0) +80000d70: fef42423 sw a5,-24(s0) +80000d74: fe042783 lw a5,-32(s0) +80000d78: 00c7a783 lw a5,12(a5) +80000d7c: fcf42823 sw a5,-48(s0) +80000d80: fe042223 sw zero,-28(s0) +80000d84: 0c00006f j 80000e44 <_vx_mat_add+0x148> +80000d88: fb842703 lw a4,-72(s0) +80000d8c: fd042783 lw a5,-48(s0) +80000d90: 02f70733 mul a4,a4,a5 +80000d94: fe842783 lw a5,-24(s0) +80000d98: 00f707b3 add a5,a4,a5 +80000d9c: fcf42623 sw a5,-52(s0) +80000da0: fe842703 lw a4,-24(s0) +80000da4: fd042783 lw a5,-48(s0) +80000da8: 00f737b3 sltu a5,a4,a5 +80000dac: 0ff7f793 andi a5,a5,255 +80000db0: fcf42423 sw a5,-56(s0) +80000db4: fc842783 lw a5,-56(s0) +80000db8: 0017b793 seqz a5,a5 +80000dbc: fcf403a3 sb a5,-57(s0) +80000dc0: fc744783 lbu a5,-57(s0) +80000dc4: 00078f13 mv t5,a5 +80000dc8: 800017b7 lui a5,0x80001 +80000dcc: e3078f93 addi t6,a5,-464 # 80000e30 +80000dd0: 000f206b 0xf206b +80000dd4: 01ff707b 0x1ff707b +80000dd8: fcc42783 lw a5,-52(s0) +80000ddc: 00279793 slli a5,a5,0x2 +80000de0: fdc42703 lw a4,-36(s0) +80000de4: 00f707b3 add a5,a4,a5 +80000de8: 0007a683 lw a3,0(a5) +80000dec: fcc42783 lw a5,-52(s0) +80000df0: 00279793 slli a5,a5,0x2 +80000df4: fd842703 lw a4,-40(s0) +80000df8: 00f707b3 add a5,a4,a5 +80000dfc: 0007a703 lw a4,0(a5) +80000e00: fcc42783 lw a5,-52(s0) +80000e04: 00279793 slli a5,a5,0x2 +80000e08: fd442603 lw a2,-44(s0) +80000e0c: 00f607b3 add a5,a2,a5 +80000e10: 00e68733 add a4,a3,a4 +80000e14: 00e7a023 sw a4,0(a5) +80000e18: fe842783 lw a5,-24(s0) +80000e1c: 00178793 addi a5,a5,1 +80000e20: fef42423 sw a5,-24(s0) +80000e24: 800017b7 lui a5,0x80001 +80000e28: e3478e13 addi t3,a5,-460 # 80000e34 +80000e2c: 000e0067 jr t3 +80000e30: 00000013 nop +80000e34: 0000306b 0x306b +80000e38: fe442783 lw a5,-28(s0) +80000e3c: 00178793 addi a5,a5,1 +80000e40: fef42223 sw a5,-28(s0) +80000e44: fe442783 lw a5,-28(s0) +80000e48: fec42703 lw a4,-20(s0) +80000e4c: f2e7eee3 bltu a5,a4,80000d88 <_vx_mat_add+0x8c> +80000e50: 00000013 nop +80000e54: 04c12083 lw ra,76(sp) +80000e58: 04812403 lw s0,72(sp) +80000e5c: 05010113 addi sp,sp,80 +80000e60: 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 +80000e64 : +80000e64: fc010113 addi sp,sp,-64 +80000e68: 02112e23 sw ra,60(sp) +80000e6c: 02812c23 sw s0,56(sp) +80000e70: 04010413 addi s0,sp,64 +80000e74: fca42e23 sw a0,-36(s0) +80000e78: fcb42c23 sw a1,-40(s0) +80000e7c: fcc42a23 sw a2,-44(s0) +80000e80: fcd42823 sw a3,-48(s0) +80000e84: fce42623 sw a4,-52(s0) +80000e88: 810267b7 lui a5,0x81026 +80000e8c: fdc42703 lw a4,-36(s0) +80000e90: 1ce7a623 sw a4,460(a5) # 810261cc +80000e94: 810267b7 lui a5,0x81026 +80000e98: 1cc78793 addi a5,a5,460 # 810261cc +80000e9c: fd842703 lw a4,-40(s0) +80000ea0: 00e7a223 sw a4,4(a5) +80000ea4: 810267b7 lui a5,0x81026 +80000ea8: 1cc78793 addi a5,a5,460 # 810261cc +80000eac: fd442703 lw a4,-44(s0) +80000eb0: 00e7a423 sw a4,8(a5) +80000eb4: 810267b7 lui a5,0x81026 +80000eb8: 1cc78793 addi a5,a5,460 # 810261cc +80000ebc: fcc42703 lw a4,-52(s0) +80000ec0: 00e7a623 sw a4,12(a5) +80000ec4: 810267b7 lui a5,0x81026 +80000ec8: 1cc78793 addi a5,a5,460 # 810261cc +80000ecc: fd042703 lw a4,-48(s0) +80000ed0: 00e7a823 sw a4,16(a5) +80000ed4: b28ff0ef jal ra,800001fc +80000ed8: fea42423 sw a0,-24(s0) +80000edc: fcc42703 lw a4,-52(s0) +80000ee0: fe842783 lw a5,-24(s0) +80000ee4: 02f757b3 divu a5,a4,a5 +80000ee8: fef42623 sw a5,-20(s0) +80000eec: fcc42703 lw a4,-52(s0) +80000ef0: fe842783 lw a5,-24(s0) +80000ef4: 02f777b3 remu a5,a4,a5 +80000ef8: 00078863 beqz a5,80000f08 +80000efc: fec42783 lw a5,-20(s0) +80000f00: 00178793 addi a5,a5,1 +80000f04: fef42623 sw a5,-20(s0) +80000f08: 810267b7 lui a5,0x81026 +80000f0c: 1cc78793 addi a5,a5,460 # 810261cc +80000f10: fec42703 lw a4,-20(s0) +80000f14: 00e7aa23 sw a4,20(a5) +80000f18: fcc42703 lw a4,-52(s0) +80000f1c: fe842783 lw a5,-24(s0) +80000f20: 02f76263 bltu a4,a5,80000f44 +80000f24: 810267b7 lui a5,0x81026 +80000f28: 1cc78693 addi a3,a5,460 # 810261cc +80000f2c: 800017b7 lui a5,0x80001 +80000f30: f9c78613 addi a2,a5,-100 # 80000f9c +80000f34: fe842583 lw a1,-24(s0) +80000f38: fd042503 lw a0,-48(s0) +80000f3c: d38ff0ef jal ra,80000474 +80000f40: 0200006f j 80000f60 +80000f44: 810267b7 lui a5,0x81026 +80000f48: 1cc78693 addi a3,a5,460 # 810261cc +80000f4c: 800017b7 lui a5,0x80001 +80000f50: f9c78613 addi a2,a5,-100 # 80000f9c +80000f54: fcc42583 lw a1,-52(s0) +80000f58: fd042503 lw a0,-48(s0) +80000f5c: d18ff0ef jal ra,80000474 +80000f60: a94ff0ef jal ra,800001f4 +80000f64: fea42223 sw a0,-28(s0) +80000f68: fd042703 lw a4,-48(s0) +80000f6c: fe442783 lw a5,-28(s0) +80000f70: 00e7f863 bgeu a5,a4,80000f80 +80000f74: fe442503 lw a0,-28(s0) +80000f78: decff0ef jal ra,80000564 +80000f7c: 00c0006f j 80000f88 +80000f80: fd042503 lw a0,-48(s0) +80000f84: de0ff0ef jal ra,80000564 +80000f88: 00000013 nop +80000f8c: 03c12083 lw ra,60(sp) +80000f90: 03812403 lw s0,56(sp) +80000f94: 04010113 addi sp,sp,64 +80000f98: 00008067 ret -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: 0007a783 lw a5,0(a5) -80000fc8: fcf42e23 sw a5,-36(s0) -80000fcc: fe042783 lw a5,-32(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: 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: 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 +80000f9c <_vx_mat_sub>: +80000f9c: fb010113 addi sp,sp,-80 +80000fa0: 04112623 sw ra,76(sp) +80000fa4: 04812423 sw s0,72(sp) +80000fa8: 05010413 addi s0,sp,80 +80000fac: faa42e23 sw a0,-68(s0) +80000fb0: fab42c23 sw a1,-72(s0) +80000fb4: ea0ff0ef jal ra,80000654 +80000fb8: fea42023 sw a0,-32(s0) +80000fbc: fe042783 lw a5,-32(s0) +80000fc0: 0007a783 lw a5,0(a5) +80000fc4: fcf42e23 sw a5,-36(s0) +80000fc8: fe042783 lw a5,-32(s0) +80000fcc: 0047a783 lw a5,4(a5) +80000fd0: fcf42c23 sw a5,-40(s0) +80000fd4: fe042783 lw a5,-32(s0) +80000fd8: 0087a783 lw a5,8(a5) +80000fdc: fcf42a23 sw a5,-44(s0) +80000fe0: fe042783 lw a5,-32(s0) +80000fe4: 0147a783 lw a5,20(a5) +80000fe8: fef42623 sw a5,-20(s0) +80000fec: fec42703 lw a4,-20(s0) +80000ff0: fbc42783 lw a5,-68(s0) +80000ff4: 02f707b3 mul a5,a4,a5 +80000ff8: fef42423 sw a5,-24(s0) +80000ffc: fec42783 lw a5,-20(s0) +80001000: 00079a63 bnez a5,80001014 <_vx_mat_sub+0x78> +80001004: 00100793 li a5,1 +80001008: fef42623 sw a5,-20(s0) +8000100c: fbc42783 lw a5,-68(s0) +80001010: fef42423 sw a5,-24(s0) +80001014: fe042783 lw a5,-32(s0) +80001018: 00c7a783 lw a5,12(a5) +8000101c: fcf42823 sw a5,-48(s0) +80001020: fe042223 sw zero,-28(s0) +80001024: 0c00006f j 800010e4 <_vx_mat_sub+0x148> +80001028: fb842703 lw a4,-72(s0) +8000102c: fd042783 lw a5,-48(s0) +80001030: 02f70733 mul a4,a4,a5 +80001034: fe842783 lw a5,-24(s0) +80001038: 00f707b3 add a5,a4,a5 +8000103c: fcf42623 sw a5,-52(s0) +80001040: fe842703 lw a4,-24(s0) +80001044: fd042783 lw a5,-48(s0) +80001048: 00f737b3 sltu a5,a4,a5 +8000104c: 0ff7f793 andi a5,a5,255 +80001050: fcf42423 sw a5,-56(s0) +80001054: fc842783 lw a5,-56(s0) +80001058: 0017b793 seqz a5,a5 +8000105c: fcf403a3 sb a5,-57(s0) +80001060: fc744783 lbu a5,-57(s0) +80001064: 00078f13 mv t5,a5 +80001068: 800017b7 lui a5,0x80001 +8000106c: 0d078f93 addi t6,a5,208 # 800010d0 +80001070: 000f206b 0xf206b +80001074: 01ff707b 0x1ff707b +80001078: fcc42783 lw a5,-52(s0) +8000107c: 00279793 slli a5,a5,0x2 +80001080: fdc42703 lw a4,-36(s0) +80001084: 00f707b3 add a5,a4,a5 +80001088: 0007a683 lw a3,0(a5) +8000108c: fcc42783 lw a5,-52(s0) +80001090: 00279793 slli a5,a5,0x2 +80001094: fd842703 lw a4,-40(s0) +80001098: 00f707b3 add a5,a4,a5 +8000109c: 0007a703 lw a4,0(a5) +800010a0: fcc42783 lw a5,-52(s0) +800010a4: 00279793 slli a5,a5,0x2 +800010a8: fd442603 lw a2,-44(s0) +800010ac: 00f607b3 add a5,a2,a5 +800010b0: 40e68733 sub a4,a3,a4 +800010b4: 00e7a023 sw a4,0(a5) +800010b8: fe842783 lw a5,-24(s0) +800010bc: 00178793 addi a5,a5,1 +800010c0: fef42423 sw a5,-24(s0) +800010c4: 800017b7 lui a5,0x80001 +800010c8: 0d478e13 addi t3,a5,212 # 800010d4 +800010cc: 000e0067 jr t3 +800010d0: 00000013 nop +800010d4: 0000306b 0x306b +800010d8: fe442783 lw a5,-28(s0) +800010dc: 00178793 addi a5,a5,1 +800010e0: fef42223 sw a5,-28(s0) +800010e4: fe442783 lw a5,-28(s0) +800010e8: fec42703 lw a4,-20(s0) +800010ec: f2e7eee3 bltu a5,a4,80001028 <_vx_mat_sub+0x8c> +800010f0: 00000013 nop +800010f4: 04c12083 lw ra,76(sp) +800010f8: 04812403 lw s0,72(sp) +800010fc: 05010113 addi sp,sp,80 +80001100: 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 +80001104 : +80001104: fc010113 addi sp,sp,-64 +80001108: 02112e23 sw ra,60(sp) +8000110c: 02812c23 sw s0,56(sp) +80001110: 04010413 addi s0,sp,64 +80001114: fca42e23 sw a0,-36(s0) +80001118: fcb42c23 sw a1,-40(s0) +8000111c: fcc42a23 sw a2,-44(s0) +80001120: fcd42823 sw a3,-48(s0) +80001124: fce42623 sw a4,-52(s0) +80001128: 810267b7 lui a5,0x81026 +8000112c: fdc42703 lw a4,-36(s0) +80001130: 1ee7a223 sw a4,484(a5) # 810261e4 +80001134: 810267b7 lui a5,0x81026 +80001138: 1e478793 addi a5,a5,484 # 810261e4 +8000113c: fd842703 lw a4,-40(s0) +80001140: 00e7a223 sw a4,4(a5) +80001144: 810267b7 lui a5,0x81026 +80001148: 1e478793 addi a5,a5,484 # 810261e4 +8000114c: fd442703 lw a4,-44(s0) +80001150: 00e7a423 sw a4,8(a5) +80001154: 810267b7 lui a5,0x81026 +80001158: 1e478793 addi a5,a5,484 # 810261e4 +8000115c: fcc42703 lw a4,-52(s0) +80001160: 00e7a623 sw a4,12(a5) +80001164: 810267b7 lui a5,0x81026 +80001168: 1e478793 addi a5,a5,484 # 810261e4 +8000116c: fd042703 lw a4,-48(s0) +80001170: 00e7a823 sw a4,16(a5) +80001174: 888ff0ef jal ra,800001fc +80001178: fea42423 sw a0,-24(s0) +8000117c: fcc42703 lw a4,-52(s0) +80001180: fe842783 lw a5,-24(s0) +80001184: 02f757b3 divu a5,a4,a5 +80001188: fef42623 sw a5,-20(s0) +8000118c: fcc42703 lw a4,-52(s0) +80001190: fe842783 lw a5,-24(s0) +80001194: 02f777b3 remu a5,a4,a5 +80001198: 00078863 beqz a5,800011a8 +8000119c: fec42783 lw a5,-20(s0) +800011a0: 00178793 addi a5,a5,1 +800011a4: fef42623 sw a5,-20(s0) +800011a8: 810267b7 lui a5,0x81026 +800011ac: 1e478793 addi a5,a5,484 # 810261e4 +800011b0: fec42703 lw a4,-20(s0) +800011b4: 00e7aa23 sw a4,20(a5) +800011b8: fcc42703 lw a4,-52(s0) +800011bc: fe842783 lw a5,-24(s0) +800011c0: 02f76263 bltu a4,a5,800011e4 +800011c4: 810267b7 lui a5,0x81026 +800011c8: 1e478693 addi a3,a5,484 # 810261e4 +800011cc: 800017b7 lui a5,0x80001 +800011d0: 23c78613 addi a2,a5,572 # 8000123c +800011d4: fe842583 lw a1,-24(s0) +800011d8: fd042503 lw a0,-48(s0) +800011dc: a98ff0ef jal ra,80000474 +800011e0: 0200006f j 80001200 +800011e4: 810267b7 lui a5,0x81026 +800011e8: 1e478693 addi a3,a5,484 # 810261e4 +800011ec: 800017b7 lui a5,0x80001 +800011f0: 23c78613 addi a2,a5,572 # 8000123c +800011f4: fcc42583 lw a1,-52(s0) +800011f8: fd042503 lw a0,-48(s0) +800011fc: a78ff0ef jal ra,80000474 +80001200: ff5fe0ef jal ra,800001f4 +80001204: fea42223 sw a0,-28(s0) +80001208: fd042703 lw a4,-48(s0) +8000120c: fe442783 lw a5,-28(s0) +80001210: 00e7f863 bgeu a5,a4,80001220 +80001214: fe442503 lw a0,-28(s0) +80001218: b4cff0ef jal ra,80000564 +8000121c: 00c0006f j 80001228 +80001220: fd042503 lw a0,-48(s0) +80001224: b40ff0ef jal ra,80000564 +80001228: 00000013 nop +8000122c: 03c12083 lw ra,60(sp) +80001230: 03812403 lw s0,56(sp) +80001234: 04010113 addi sp,sp,64 +80001238: 00008067 ret -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: 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: 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 +8000123c <_vx_e_mat_add>: +8000123c: fb010113 addi sp,sp,-80 +80001240: 04112623 sw ra,76(sp) +80001244: 04812423 sw s0,72(sp) +80001248: 05010413 addi s0,sp,80 +8000124c: faa42e23 sw a0,-68(s0) +80001250: fab42c23 sw a1,-72(s0) +80001254: c00ff0ef jal ra,80000654 +80001258: fea42023 sw a0,-32(s0) +8000125c: fe042783 lw a5,-32(s0) +80001260: 0007a783 lw a5,0(a5) +80001264: fcf42e23 sw a5,-36(s0) +80001268: fe042783 lw a5,-32(s0) +8000126c: 0047a783 lw a5,4(a5) +80001270: 0007a783 lw a5,0(a5) +80001274: fcf42c23 sw a5,-40(s0) +80001278: fe042783 lw a5,-32(s0) +8000127c: 0087a783 lw a5,8(a5) +80001280: fcf42a23 sw a5,-44(s0) +80001284: fe042783 lw a5,-32(s0) +80001288: 0147a783 lw a5,20(a5) +8000128c: fef42623 sw a5,-20(s0) +80001290: fec42703 lw a4,-20(s0) +80001294: fbc42783 lw a5,-68(s0) +80001298: 02f707b3 mul a5,a4,a5 +8000129c: fef42423 sw a5,-24(s0) +800012a0: fec42783 lw a5,-20(s0) +800012a4: 00079a63 bnez a5,800012b8 <_vx_e_mat_add+0x7c> +800012a8: 00100793 li a5,1 +800012ac: fef42623 sw a5,-20(s0) +800012b0: fbc42783 lw a5,-68(s0) +800012b4: fef42423 sw a5,-24(s0) +800012b8: fe042783 lw a5,-32(s0) +800012bc: 00c7a783 lw a5,12(a5) +800012c0: fcf42823 sw a5,-48(s0) +800012c4: fe042223 sw zero,-28(s0) +800012c8: 0b00006f j 80001378 <_vx_e_mat_add+0x13c> +800012cc: fb842703 lw a4,-72(s0) +800012d0: fd042783 lw a5,-48(s0) +800012d4: 02f70733 mul a4,a4,a5 +800012d8: fe842783 lw a5,-24(s0) +800012dc: 00f707b3 add a5,a4,a5 +800012e0: fcf42623 sw a5,-52(s0) +800012e4: fe842703 lw a4,-24(s0) +800012e8: fd042783 lw a5,-48(s0) +800012ec: 00f737b3 sltu a5,a4,a5 +800012f0: 0ff7f793 andi a5,a5,255 +800012f4: fcf42423 sw a5,-56(s0) +800012f8: fc842783 lw a5,-56(s0) +800012fc: 0017b793 seqz a5,a5 +80001300: fcf403a3 sb a5,-57(s0) +80001304: fc744783 lbu a5,-57(s0) +80001308: 00078f13 mv t5,a5 +8000130c: 800017b7 lui a5,0x80001 +80001310: 36478f93 addi t6,a5,868 # 80001364 +80001314: 000f206b 0xf206b +80001318: 01ff707b 0x1ff707b +8000131c: fcc42783 lw a5,-52(s0) +80001320: 00279793 slli a5,a5,0x2 +80001324: fdc42703 lw a4,-36(s0) +80001328: 00f707b3 add a5,a4,a5 +8000132c: 0007a683 lw a3,0(a5) +80001330: fcc42783 lw a5,-52(s0) +80001334: 00279793 slli a5,a5,0x2 +80001338: fd442703 lw a4,-44(s0) +8000133c: 00f707b3 add a5,a4,a5 +80001340: fd842703 lw a4,-40(s0) +80001344: 00e68733 add a4,a3,a4 +80001348: 00e7a023 sw a4,0(a5) +8000134c: fe842783 lw a5,-24(s0) +80001350: 00178793 addi a5,a5,1 +80001354: fef42423 sw a5,-24(s0) +80001358: 800017b7 lui a5,0x80001 +8000135c: 36878e13 addi t3,a5,872 # 80001368 +80001360: 000e0067 jr t3 +80001364: 00000013 nop +80001368: 0000306b 0x306b +8000136c: fe442783 lw a5,-28(s0) +80001370: 00178793 addi a5,a5,1 +80001374: fef42223 sw a5,-28(s0) +80001378: fe442783 lw a5,-28(s0) +8000137c: fec42703 lw a4,-20(s0) +80001380: f4e7e6e3 bltu a5,a4,800012cc <_vx_e_mat_add+0x90> +80001384: 00000013 nop +80001388: 04c12083 lw ra,76(sp) +8000138c: 04812403 lw s0,72(sp) +80001390: 05010113 addi sp,sp,80 +80001394: 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 +80001398 : +80001398: fc010113 addi sp,sp,-64 +8000139c: 02112e23 sw ra,60(sp) +800013a0: 02812c23 sw s0,56(sp) +800013a4: 04010413 addi s0,sp,64 +800013a8: fca42e23 sw a0,-36(s0) +800013ac: fcb42c23 sw a1,-40(s0) +800013b0: fcc42a23 sw a2,-44(s0) +800013b4: fcd42823 sw a3,-48(s0) +800013b8: fce42623 sw a4,-52(s0) +800013bc: 810267b7 lui a5,0x81026 +800013c0: fdc42703 lw a4,-36(s0) +800013c4: 1ee7a223 sw a4,484(a5) # 810261e4 +800013c8: 810267b7 lui a5,0x81026 +800013cc: 1e478793 addi a5,a5,484 # 810261e4 +800013d0: fd842703 lw a4,-40(s0) +800013d4: 00e7a223 sw a4,4(a5) +800013d8: 810267b7 lui a5,0x81026 +800013dc: 1e478793 addi a5,a5,484 # 810261e4 +800013e0: fd442703 lw a4,-44(s0) +800013e4: 00e7a423 sw a4,8(a5) +800013e8: 810267b7 lui a5,0x81026 +800013ec: 1e478793 addi a5,a5,484 # 810261e4 +800013f0: fcc42703 lw a4,-52(s0) +800013f4: 00e7a623 sw a4,12(a5) +800013f8: 810267b7 lui a5,0x81026 +800013fc: 1e478793 addi a5,a5,484 # 810261e4 +80001400: fd042703 lw a4,-48(s0) +80001404: 00e7a823 sw a4,16(a5) +80001408: df5fe0ef jal ra,800001fc +8000140c: fea42423 sw a0,-24(s0) +80001410: fcc42703 lw a4,-52(s0) +80001414: fe842783 lw a5,-24(s0) +80001418: 02f757b3 divu a5,a4,a5 +8000141c: fef42623 sw a5,-20(s0) +80001420: fcc42703 lw a4,-52(s0) +80001424: fe842783 lw a5,-24(s0) +80001428: 02f777b3 remu a5,a4,a5 +8000142c: 00078863 beqz a5,8000143c +80001430: fec42783 lw a5,-20(s0) +80001434: 00178793 addi a5,a5,1 +80001438: fef42623 sw a5,-20(s0) +8000143c: 810267b7 lui a5,0x81026 +80001440: 1e478793 addi a5,a5,484 # 810261e4 +80001444: fec42703 lw a4,-20(s0) +80001448: 00e7aa23 sw a4,20(a5) +8000144c: fcc42703 lw a4,-52(s0) +80001450: fe842783 lw a5,-24(s0) +80001454: 02f76263 bltu a4,a5,80001478 +80001458: 810267b7 lui a5,0x81026 +8000145c: 1e478693 addi a3,a5,484 # 810261e4 +80001460: 800017b7 lui a5,0x80001 +80001464: 4d078613 addi a2,a5,1232 # 800014d0 +80001468: fe842583 lw a1,-24(s0) +8000146c: fd042503 lw a0,-48(s0) +80001470: 804ff0ef jal ra,80000474 +80001474: 0200006f j 80001494 +80001478: 810267b7 lui a5,0x81026 +8000147c: 1e478693 addi a3,a5,484 # 810261e4 +80001480: 800017b7 lui a5,0x80001 +80001484: 4d078613 addi a2,a5,1232 # 800014d0 +80001488: fcc42583 lw a1,-52(s0) +8000148c: fd042503 lw a0,-48(s0) +80001490: fe5fe0ef jal ra,80000474 +80001494: d61fe0ef jal ra,800001f4 +80001498: fea42223 sw a0,-28(s0) +8000149c: fd042703 lw a4,-48(s0) +800014a0: fe442783 lw a5,-28(s0) +800014a4: 00e7f863 bgeu a5,a4,800014b4 +800014a8: fe442503 lw a0,-28(s0) +800014ac: 8b8ff0ef jal ra,80000564 +800014b0: 00c0006f j 800014bc +800014b4: fd042503 lw a0,-48(s0) +800014b8: 8acff0ef jal ra,80000564 +800014bc: 00000013 nop +800014c0: 03c12083 lw ra,60(sp) +800014c4: 03812403 lw s0,56(sp) +800014c8: 04010113 addi sp,sp,64 +800014cc: 00008067 ret -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: 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: 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 +800014d0 <_vx_e_mat_mult>: +800014d0: fb010113 addi sp,sp,-80 +800014d4: 04112623 sw ra,76(sp) +800014d8: 04812423 sw s0,72(sp) +800014dc: 05010413 addi s0,sp,80 +800014e0: faa42e23 sw a0,-68(s0) +800014e4: fab42c23 sw a1,-72(s0) +800014e8: 96cff0ef jal ra,80000654 +800014ec: fea42023 sw a0,-32(s0) +800014f0: fe042783 lw a5,-32(s0) +800014f4: 0007a783 lw a5,0(a5) +800014f8: fcf42e23 sw a5,-36(s0) +800014fc: fe042783 lw a5,-32(s0) +80001500: 0047a783 lw a5,4(a5) +80001504: 0007a783 lw a5,0(a5) +80001508: fcf42c23 sw a5,-40(s0) +8000150c: fe042783 lw a5,-32(s0) +80001510: 0087a783 lw a5,8(a5) +80001514: fcf42a23 sw a5,-44(s0) +80001518: fe042783 lw a5,-32(s0) +8000151c: 0147a783 lw a5,20(a5) +80001520: fef42623 sw a5,-20(s0) +80001524: fec42703 lw a4,-20(s0) +80001528: fbc42783 lw a5,-68(s0) +8000152c: 02f707b3 mul a5,a4,a5 +80001530: fef42423 sw a5,-24(s0) +80001534: fec42783 lw a5,-20(s0) +80001538: 00079a63 bnez a5,8000154c <_vx_e_mat_mult+0x7c> +8000153c: 00100793 li a5,1 +80001540: fef42623 sw a5,-20(s0) +80001544: fbc42783 lw a5,-68(s0) +80001548: fef42423 sw a5,-24(s0) +8000154c: fe042783 lw a5,-32(s0) +80001550: 00c7a783 lw a5,12(a5) +80001554: fcf42823 sw a5,-48(s0) +80001558: fe042223 sw zero,-28(s0) +8000155c: 0b00006f j 8000160c <_vx_e_mat_mult+0x13c> +80001560: fb842703 lw a4,-72(s0) +80001564: fd042783 lw a5,-48(s0) +80001568: 02f70733 mul a4,a4,a5 +8000156c: fe842783 lw a5,-24(s0) +80001570: 00f707b3 add a5,a4,a5 +80001574: fcf42623 sw a5,-52(s0) +80001578: fe842703 lw a4,-24(s0) +8000157c: fd042783 lw a5,-48(s0) +80001580: 00f737b3 sltu a5,a4,a5 +80001584: 0ff7f793 andi a5,a5,255 +80001588: fcf42423 sw a5,-56(s0) +8000158c: fc842783 lw a5,-56(s0) +80001590: 0017b793 seqz a5,a5 +80001594: fcf403a3 sb a5,-57(s0) +80001598: fc744783 lbu a5,-57(s0) +8000159c: 00078f13 mv t5,a5 +800015a0: 800017b7 lui a5,0x80001 +800015a4: 5f878f93 addi t6,a5,1528 # 800015f8 +800015a8: 000f206b 0xf206b +800015ac: 01ff707b 0x1ff707b +800015b0: fcc42783 lw a5,-52(s0) +800015b4: 00279793 slli a5,a5,0x2 +800015b8: fdc42703 lw a4,-36(s0) +800015bc: 00f707b3 add a5,a4,a5 +800015c0: 0007a683 lw a3,0(a5) +800015c4: fcc42783 lw a5,-52(s0) +800015c8: 00279793 slli a5,a5,0x2 +800015cc: fd442703 lw a4,-44(s0) +800015d0: 00f707b3 add a5,a4,a5 +800015d4: fd842703 lw a4,-40(s0) +800015d8: 02e68733 mul a4,a3,a4 +800015dc: 00e7a023 sw a4,0(a5) +800015e0: fe842783 lw a5,-24(s0) +800015e4: 00178793 addi a5,a5,1 +800015e8: fef42423 sw a5,-24(s0) +800015ec: 800017b7 lui a5,0x80001 +800015f0: 5fc78e13 addi t3,a5,1532 # 800015fc +800015f4: 000e0067 jr t3 +800015f8: 00000013 nop +800015fc: 0000306b 0x306b +80001600: fe442783 lw a5,-28(s0) +80001604: 00178793 addi a5,a5,1 +80001608: fef42223 sw a5,-28(s0) +8000160c: fe442783 lw a5,-28(s0) +80001610: fec42703 lw a4,-20(s0) +80001614: f4e7e6e3 bltu a5,a4,80001560 <_vx_e_mat_mult+0x90> +80001618: 00000013 nop +8000161c: 04c12083 lw ra,76(sp) +80001620: 04812403 lw s0,72(sp) +80001624: 05010113 addi sp,sp,80 +80001628: 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 +8000162c : +8000162c: fd010113 addi sp,sp,-48 +80001630: 02812623 sw s0,44(sp) +80001634: 03010413 addi s0,sp,48 +80001638: fca42e23 sw a0,-36(s0) +8000163c: fe042623 sw zero,-20(s0) +80001640: 0100006f j 80001650 +80001644: fec42783 lw a5,-20(s0) +80001648: 00178793 addi a5,a5,1 +8000164c: fef42623 sw a5,-20(s0) +80001650: fec42703 lw a4,-20(s0) +80001654: fdc42783 lw a5,-36(s0) +80001658: fef746e3 blt a4,a5,80001644 +8000165c: 00000013 nop +80001660: 02c12403 lw s0,44(sp) +80001664: 03010113 addi sp,sp,48 +80001668: 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 +8000166c : +8000166c: fd010113 addi sp,sp,-48 +80001670: 02112623 sw ra,44(sp) +80001674: 02812423 sw s0,40(sp) +80001678: 03010413 addi s0,sp,48 +8000167c: fca42e23 sw a0,-36(s0) +80001680: fcb42c23 sw a1,-40(s0) +80001684: 810267b7 lui a5,0x81026 +80001688: 1fc78713 addi a4,a5,508 # 810261fc +8000168c: fdc42783 lw a5,-36(s0) +80001690: 00f707b3 add a5,a4,a5 +80001694: 00100713 li a4,1 +80001698: 00e78023 sb a4,0(a5) +8000169c: fdc42783 lw a5,-36(s0) +800016a0: 0c079063 bnez a5,80001760 +800016a4: fe0401a3 sb zero,-29(s0) +800016a8: fe042623 sw zero,-20(s0) +800016ac: 0a80006f j 80001754 +800016b0: fe042623 sw zero,-20(s0) +800016b4: fe042423 sw zero,-24(s0) +800016b8: 0340006f j 800016ec +800016bc: 810267b7 lui a5,0x81026 +800016c0: 1fc78713 addi a4,a5,508 # 810261fc +800016c4: fe842783 lw a5,-24(s0) +800016c8: 00f707b3 add a5,a4,a5 +800016cc: 0007c783 lbu a5,0(a5) +800016d0: 00078863 beqz a5,800016e0 +800016d4: fec42783 lw a5,-20(s0) +800016d8: 00178793 addi a5,a5,1 +800016dc: fef42623 sw a5,-20(s0) +800016e0: fe842783 lw a5,-24(s0) +800016e4: 00178793 addi a5,a5,1 +800016e8: fef42423 sw a5,-24(s0) +800016ec: fe842703 lw a4,-24(s0) +800016f0: fd842783 lw a5,-40(s0) +800016f4: fcf744e3 blt a4,a5,800016bc +800016f8: fec42703 lw a4,-20(s0) +800016fc: fd842783 lw a5,-40(s0) +80001700: 04f71a63 bne a4,a5,80001754 +80001704: fe042223 sw zero,-28(s0) +80001708: 0400006f j 80001748 +8000170c: 810267b7 lui a5,0x81026 +80001710: 1fc78713 addi a4,a5,508 # 810261fc +80001714: fe442783 lw a5,-28(s0) +80001718: 00f707b3 add a5,a4,a5 +8000171c: 00078023 sb zero,0(a5) +80001720: 810297b7 lui a5,0x81029 +80001724: 00100713 li a4,1 +80001728: 2ce78223 sb a4,708(a5) # 810292c4 +8000172c: 04600513 li a0,70 +80001730: efdff0ef jal ra,8000162c +80001734: 810297b7 lui a5,0x81029 +80001738: 2c078223 sb zero,708(a5) # 810292c4 +8000173c: fe442783 lw a5,-28(s0) +80001740: 00178793 addi a5,a5,1 +80001744: fef42223 sw a5,-28(s0) +80001748: fe442703 lw a4,-28(s0) +8000174c: fd842783 lw a5,-40(s0) +80001750: faf74ee3 blt a4,a5,8000170c +80001754: fe344783 lbu a5,-29(s0) +80001758: f4079ce3 bnez a5,800016b0 +8000175c: 0240006f j 80001780 +80001760: 00000013 nop +80001764: 810297b7 lui a5,0x81029 +80001768: 2c47c783 lbu a5,708(a5) # 810292c4 +8000176c: 0017c793 xori a5,a5,1 +80001770: 0ff7f793 andi a5,a5,255 +80001774: fe0798e3 bnez a5,80001764 +80001778: 06400513 li a0,100 +8000177c: eb1ff0ef jal ra,8000162c +80001780: 00000013 nop +80001784: 02c12083 lw ra,44(sp) +80001788: 02812403 lw s0,40(sp) +8000178c: 03010113 addi sp,sp,48 +80001790: 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 +80001794 : +80001794: ff010113 addi sp,sp,-16 +80001798: 00812623 sw s0,12(sp) +8000179c: 01010413 addi s0,sp,16 +800017a0: 00000793 li a5,0 +800017a4: 00000813 li a6,0 +800017a8: 00078513 mv a0,a5 +800017ac: 00080593 mv a1,a6 +800017b0: 00c12403 lw s0,12(sp) +800017b4: 01010113 addi sp,sp,16 +800017b8: 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 +800017bc : +800017bc: fe010113 addi sp,sp,-32 +800017c0: 00812e23 sw s0,28(sp) +800017c4: 02010413 addi s0,sp,32 +800017c8: fe042623 sw zero,-20(s0) +800017cc: 0480006f j 80001814 +800017d0: 810267b7 lui a5,0x81026 +800017d4: fec42703 lw a4,-20(s0) +800017d8: 00271713 slli a4,a4,0x2 +800017dc: 21c78793 addi a5,a5,540 # 8102621c +800017e0: 00f707b3 add a5,a4,a5 +800017e4: 00300713 li a4,3 +800017e8: 00e7a023 sw a4,0(a5) +800017ec: 810277b7 lui a5,0x81027 +800017f0: fec42703 lw a4,-20(s0) +800017f4: 00271713 slli a4,a4,0x2 +800017f8: 21c78793 addi a5,a5,540 # 8102721c +800017fc: 00f707b3 add a5,a4,a5 +80001800: 00200713 li a4,2 +80001804: 00e7a023 sw a4,0(a5) +80001808: fec42783 lw a5,-20(s0) +8000180c: 00178793 addi a5,a5,1 +80001810: fef42623 sw a5,-20(s0) +80001814: fec42703 lw a4,-20(s0) +80001818: 0ff00793 li a5,255 +8000181c: fae7dae3 bge a5,a4,800017d0 +80001820: 00000013 nop +80001824: 01c12403 lw s0,28(sp) +80001828: 02010113 addi sp,sp,32 +8000182c: 00008067 ret -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: 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 +80001830 : +80001830: fd010113 addi sp,sp,-48 +80001834: 02112623 sw ra,44(sp) +80001838: 02812423 sw s0,40(sp) +8000183c: 03010413 addi s0,sp,48 +80001840: fca42e23 sw a0,-36(s0) +80001844: 810007b7 lui a5,0x81000 +80001848: 11878513 addi a0,a5,280 # 81000118 +8000184c: f8dfe0ef jal ra,800007d8 +80001850: fe042623 sw zero,-20(s0) +80001854: 0580006f j 800018ac +80001858: fec42783 lw a5,-20(s0) +8000185c: 00078e63 beqz a5,80001878 +80001860: fec42783 lw a5,-20(s0) +80001864: 00f7f793 andi a5,a5,15 +80001868: 00079863 bnez a5,80001878 +8000186c: 810007b7 lui a5,0x81000 +80001870: 13c78513 addi a0,a5,316 # 8100013c +80001874: f65fe0ef jal ra,800007d8 +80001878: fec42783 lw a5,-20(s0) +8000187c: 00279793 slli a5,a5,0x2 +80001880: fdc42703 lw a4,-36(s0) +80001884: 00f707b3 add a5,a4,a5 +80001888: 0007a783 lw a5,0(a5) +8000188c: 00078513 mv a0,a5 +80001890: f85fe0ef jal ra,80000814 +80001894: 810007b7 lui a5,0x81000 +80001898: 14078513 addi a0,a5,320 # 81000140 +8000189c: f3dfe0ef jal ra,800007d8 +800018a0: fec42783 lw a5,-20(s0) +800018a4: 00178793 addi a5,a5,1 +800018a8: fef42623 sw a5,-20(s0) +800018ac: fec42703 lw a4,-20(s0) +800018b0: 0ff00793 li a5,255 +800018b4: fae7d2e3 bge a5,a4,80001858 +800018b8: 810007b7 lui a5,0x81000 +800018bc: 14478513 addi a0,a5,324 # 81000144 +800018c0: f19fe0ef jal ra,800007d8 +800018c4: 00000013 nop +800018c8: 02c12083 lw ra,44(sp) +800018cc: 02812403 lw s0,40(sp) +800018d0: 03010113 addi sp,sp,48 +800018d4: 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 +800018d8
: +800018d8: ff010113 addi sp,sp,-16 +800018dc: 00112623 sw ra,12(sp) +800018e0: 00812423 sw s0,8(sp) +800018e4: 01010413 addi s0,sp,16 +800018e8: ed5ff0ef jal ra,800017bc +800018ec: 810267b7 lui a5,0x81026 +800018f0: 21c78513 addi a0,a5,540 # 8102621c +800018f4: f3dff0ef jal ra,80001830 +800018f8: 00000793 li a5,0 +800018fc: 00078513 mv a0,a5 +80001900: 00c12083 lw ra,12(sp) +80001904: 00812403 lw s0,8(sp) +80001908: 01010113 addi sp,sp,16 +8000190c: 00008067 ret Disassembly of section .rodata: @@ -1738,7 +1733,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 @@ -1775,7 +1770,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 @@ -1806,7 +1801,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 @@ -1835,7 +1830,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 cd9c9b1b..27379902 100755 Binary files a/kernel/vortex_test.elf and b/kernel/vortex_test.elf differ diff --git a/kernel/vortex_test.hex b/kernel/vortex_test.hex index b5803692..fb230ca2 100644 --- a/kernel/vortex_test.hex +++ b/kernel/vortex_test.hex @@ -1,406 +1,405 @@ :0200000480007A -:10000000130540006B000500F325000213A5250031 -:100010006B20050063060500130650006F0080008A -:10002000130670006B30000073000000938B060015 -:10003000130D0700130F01009303050013051000B3 -:10004000635C750013010180130305006B5003000E -:10005000130515006FF0DFFE130000001300000011 -:100060001300000013000000130000001300000044 -:1000700013010F0013050000930F0600938D03007A +:1000000013058000731005021305400073101502DC +:10001000731040F17310103037F1FF7FEF10D00BE9 +:10002000130500006B000500938B0600130D0700FD +:10003000130F01009303050013051000635C7500A6 +:1000400013010180130305006B5003001305150015 +:100050006FF0DFFE1300000013000000130000002B +:1000600013000000130000001300000013010F0034 +:1000700013050000930F0600938D0300130000008A :100080001300000013000000130000001300000024 -:100090001300000013000000130000001300000014 -: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 +:10009000130000001300000013000000EBE0BF019C +:1000A0001300000013000000130000001300000004 +:1000B0001300000013000000170500001305451B86 +:1000C0006B40050017030000130343F66B000300A9 +:1000D00067800000170200011302C22323200200E0 +:1000E0002322120023242200232632002328420048 +:1000F000232A5200232C6200232E72002320820226 +:10010000232292022324A2022326B2022328C2021F +:10011000232AD202232CE202232EF20223200205FC +:1001200023221205232422052326320523284205F3 +:10013000232A5205232C6205232E720523208207D1 +:10014000232292072324A2072326B2072328C207CB +:10015000232AD207232CE207232EF20713021000D2 +:1001600067800000170200011302C21A0320020078 +:1001700083204200032182008321C2000322020166 +:1001800083224201032382018323C201032402024A +:1001900083244202032582028325C202032602032E +:1001A00083264203032782038327C2030328020412 +:1001B00083284204032982048329C204032A0205F6 +:1001C000832A4205032B8205832BC205032C0206DA +:1001D000832C4206032D8206832DC206032E0207BE +:1001E000832E4207032F8207832FC20713020000CA +:1001F00067800000732500026780000073251002ED +:1002000067800000130101FE232E1100232C8100C2 +:1002100013040102232604FE6F0040030327C4FEDB +:10022000B7170000938747973307F702B707008196 +:1002300093870741B307F70013850700EF000044D9 +:100240008327C4FE938717002326F4FE0327C4FEEA +:100250009307F001E3D4E7FC130000008320C10101 +:10026000032481011301010267800000130101FDD5 +:1002700023261102232481022322A1031304010354 +:100280001300000013070D00B7170000938747976E +:100290003307F702B707008193870741B307F700D9 +:1002A00013850700EF00405093070500638A07029B +:1002B00013070D00B70700811317270093878726C0 +:1002C000B307F7001307100023A0E70093070D0002 +:1002D00063960700EFF01FE96F00C0057300000090 +:1002E00013070D00B7170000938747973307F702EE +:1002F000B707008193870741B307F700130784FD11 +:100300009305070013850700EF000040832704FED4 +:10031000138107008327C4FD832584FD032644FE43 +:10032000832684FE0327C4FE13850700EFF0DFCF8A +:10033000730000008320C10203248102032D4102C7 +:100340001301010367800000130101FB2326110440 +:100350002324810413040105EFF0DFE92324A4FE24 +:1003600093090100930710002326F4FE6F00C008D4 +:100370000327C4FEB7170000938747973307F70298 +:10038000B707008193870741B307F700138507007C +:10039000EF00804193070500639A07040327C4FE1A +:1003A000B7170000938747973307F702B707008115 +:1003B00093870741B307F700130704FD9305070070 +:1003C00013850700EF004034832784FD1381070065 +:1003D000832744FD832504FD0326C4FD832604FEF4 +:1003E000032744FE13850700EFF0DFCD8327C4FE0B +:1003F000938717002326F4FE8327C4FE032784FE79 +:10040000E3E8E7F613810900EFF0DFCC9307020081 +:1004100063880704B707008113850741EF00C038E0 +:1004200093070500639E0702930784FB93850700EB +:10043000B707008113850741EF00002D832704FCD7 +:10044000138107008327C4FB832584FB032644FC18 +:10045000832684FC0327C4FC13850700EFF0DFBC70 +:10046000130000008320C10403248104130101054B +:1004700067800000130101FB23261104232481045B +:1004800013040105232EA4FA232CB4FA232AC4FA58 +:100490002328D4FAEFF01FD7EFF0DFD52322A4FEF4 +:1004A00013090100232604FE232404FE6F00000923 +:1004B000B709FFFF33013101832784FE2326F4FCB3 +:1004C000832784FB2328F4FC93070100232AF4FCF0 +:1004D000832744FB232CF4FC832704FB232EF4FC0A +:1004E0008327C4FE2320F4FE0327C4FEB7170000B1 +:1004F000938747973307F702B70700819387074130 +:10050000B307F7001307C4FC930507001385070022 +:10051000EF0000198327C4FE938717002326F4FEFB +:100520008327C4FE032744FE63E4E700232604FE7A +:10053000832784FE938717002324F4FE032784FE79 +:100540008327C4FBE366F7F613010900EFF0DFDF52 +:10055000130000008320C10403248104130101055A +:1005600067800000130101FD23261102232481026C +:1005700013040103232EA4FC8325C4FDB7070081C7 +:1005800013850704EF004035EFF0DFC62320A4FEFB +:10059000232604FE6F008006930710002326F4FE36 +:1005A000232404FE6F00C003B7070081032784FEE5 +:1005B0001317270093878726B307F70003A70700C1 +:1005C000930710006318F7008327C4FE9387170072 +:1005D0002326F4FE832784FE938717002324F4FE4A +:1005E000032784FE9307F001E3D0E7FC8325C4FED4 +:1005F000B70700811385C704EF00002E0327C4FE50 +:100600008327C4FDE36AF7F8232204FE6F0080020B +:10061000B7070081032744FE131727009387872617 +:10062000B307F70023A00700832744FE9387170032 +:100630002322F4FE832744FE032704FEE3EAE7FCBB +:10064000130000008320C10203248102130101036F +:1006500067800000130101FF23268100232471011C +:100660001304010193870B00138507000324C100C5 +:10067000832B8100130101016780000093020500B4 +:10068000130300009303700023A0620023A2620002 +:1006900023A4620023A6720023A8620067800000E2 +:1006A0009302050003A382001303130023A4620036 +:1006B0001383420183AE420093935E0033037300C1 +:1006C00003AE05002320C30103AE45002322C3016E +:1006D00003AE85002324C30103AEC5002326C30156 +:1006E00003AE05012328C30103AE4501232AC3013C +:1006F000938E1E00130F20036394EE01930E0000EF +:1007000023A2D201678000009302050003A38200A8 +:10071000130000001300000013000000130000008D +:1007200013000000130000001303F3FF23A4620072 +:100730001383420183AE0200930F2003138F0E0038 +:10074000130F1F006314FF01130F000023A0E20129 +:1007500093935E0033037300032E030023A0C501AF +:10076000032E430023A2C501032E830023A4C50149 +:10077000032EC30023A6C501032E030123A8C50130 +:10078000032E430123AAC5016780000093020500E0 +:1007900003A3820013050000130E200363146E00F0 +:1007A00013051500678000009302050003A3820073 +:1007B00013050000130E000063146E0013051500EE +:1007C000678000009302050003A3C20083A3020117 +:1007D00033B5630067800000130141FF232011003F +:1007E0002322B1008345050063880500EF00C001A6 +:1007F000130515006FF01FFF8320010083254100C2 +:100800001301C10067800000B708010023A0B800F1 +:1008100067800000130101FD2326110223248102B9 +:1008200013040103232EA4FC0327C4FD9307F00047 +:1008300063E4E702B70700810327C4FD131727000D +:100840009387871AB307F70083A70700138507006C +:10085000EFF09FF86F004007930700022326F4FE95 +:10086000A30504FE8327C4FE9387C7FF0327C4FDA7 +:10087000B357F70093F7F7002322F4FE832744FED3 +:100880006386070093071000A305F4FE8347B4FEB8 +:1008900063820702B7070081032744FE131727006E +:1008A0009387871AB307F70083A70700138507000C +:1008B000EFF09FF28327C4FE9387C7FF2326F4FE41 +:1008C0008327C4FEE340F0FA8320C102032481029F +:1008D0001301010367800000130101FE232E1100A4 +:1008E000232C8100130401022326A4FE2324B4FE3A +:1008F0000325C4FEEFF05FEE032584FEEFF09FF1C9 +:10090000B707008113854709EFF01FED13000000C2 +:100910008320C101032481011301010267800000CB +:10092000130101FD23261102232481021304010374 +:10093000232EA4FC232CB4FC232AC4FC2328D4FC9F +:10094000B76702810327C4FD23ACE71AB7670281AA +:100950009387871B032784FD23A2E700B7670281E3 +:100960009387871B032744FD23A4E700B767028111 +:100970009387871B032704FD23A6E700EFF01F885A +:100980002324A4FE032704FD832784FEB357F70224 +:100990002326F4FE032704FD832784FEB377F702A2 +:1009A000638807008327C4FE938717002326F4FE7D +:1009B000B76702819387871B0327C4FE23A8E7003C +:1009C000032704FD832784FE6362F702B767028171 +:1009D0009386871BB7170080138647A4832584FE60 +:1009E000032504FDEFF01FA96F000002B767028125 +:1009F0009386871BB7170080138647A4832504FDC1 +:100A0000032504FDEFF01FA7EFF0CFFE2322A4FE85 +:100A1000032704FD832744FE63F8E700032544FE13 +:100A2000EFF05FB46F00C000032504FDEFF09FB34B +:100A3000130000008320C10203248102130101037B +:100A400067800000130101FA232E1104232C810476 +:100A5000130401062326A4FA2324B4FAEFF09FBF5F +:100A6000232CA4FC832784FD83A70700232AF4FCFE +:100A7000832784FD83A747002328F4FC832784FD74 +:100A800083A787002326F4FC832784FD83A707011F +:100A90002326F4FE0327C4FE8327C4FAB307F70214 +:100AA0002324F4FE8327C4FE639A070093071000F3 +:100AB0002326F4FE8327C4FA2324F4FE832784FD2F +:100AC00083A7C7002324F4FC232204FE6F00800DBB +:100AD000232004FE232E04FC6F008007032784FAE2 +:100AE000832784FCB307F7020327C4FDB307F7008D +:100AF0002322F4FC032784FC8327C4FDB307F702F9 +:100B0000032784FEB307F7002320F4FC832744FC6B +:100B100093972700032744FDB307F70003A70700B7 +:100B2000832704FC93972700832604FDB387F600F0 +:100B300083A70700B307F702032704FEB307F700F4 +:100B40002320F4FE8327C4FD93871700232EF4FC93 +:100B50000327C4FD832784FCE362F7F8032784FAA4 +:100B6000832784FC3307F702832784FEB307F7004B +:100B7000232EF4FA8327C4FB939727000327C4FC92 +:100B8000B307F700032704FE23A0E700832784FEB2 +:100B9000938717002324F4FE832744FE93871700CE +:100BA0002322F4FE832744FE0327C4FEE3E2E7F298 +:100BB000130000008320C1050324810513010106F1 +:100BC00067800000130101FC232E1102232C8102F7 +:100BD00013040104232EA4FC232CB4FC232AC4FCFC +:100BE0002328D4FC2326E4FCB76702810327C4FD35 +:100BF00023A6E71CB76702819387C71C032784FDE0 +:100C000023A2E700B76702819387C71C032744FD2F +:100C100023A4E700B76702819387C71C0327C4FC9E +:100C200023A6E700B76702819387C71C032704FD4B +:100C300023A8E700EFF08FDC2324A4FE0327C4FCE5 +:100C4000832784FEB357F7022326F4FE0327C4FC50 +:100C5000832784FEB377F702638807008327C4FEE7 +:100C6000938717002326F4FEB76702819387C71C7A +:100C70000327C4FE23AAE7000327C4FC832784FEBE +:100C80006362F702B76702819386C71CB7170080BB +:100C90001386C7CF832584FE032504FDEFF08FFD67 +:100CA0006F000002B76702819386C71CB7170080E8 +:100CB0001386C7CF8325C4FC032504FDEFF08FFB0B +:100CC000EFF04FD32322A4FE032704FD832744FE25 +:100CD00063F8E700032544FEEFF0DF886F00C000F3 +:100CE000032504FDEFF01F88130000008320C103DB +:100CF000032481031301010467800000130101FB39 +:100D0000232611042324810413040105232EA4FAAD +:100D1000232CB4FAEFF01F942320A4FE832704FEB3 +:100D200083A70700232EF4FC832704FE83A7470034 +:100D3000232CF4FC832704FE83A78700232AF4FCDA +:100D4000832704FE83A747012326F4FE0327C4FE5E +:100D50008327C4FBB307F7022324F4FE8327C4FED2 +:100D6000639A0700930710002326F4FE8327C4FB31 +:100D70002324F4FE832704FE83A7C7002328F4FC62 +:100D8000232204FE6F00000C032784FB832704FD4D +:100D90003307F702832784FEB307F7002326F4FC0A +:100DA000032784FE832704FDB337F70093F7F70F7B +:100DB0002324F4FC832784FC93B71700A303F4FCDB +:100DC000834774FC138F0700B7170080938F07E3E6 +:100DD0006B200F007B70FF018327C4FC93972700D3 +:100DE0000327C4FDB307F70083A607008327C4FCCD +:100DF00093972700032784FDB307F70003A7070095 +:100E00008327C4FC93972700032644FDB307F6000D +:100E10003387E60023A0E700832784FE938717002B +:100E20002324F4FEB7170080138E47E367000E00FB +:100E3000130000006B300000832744FE93871700E7 +:100E40002322F4FE832744FE0327C4FEE3EEE7F2E9 +:100E5000130000008320C104032481041301010551 +:100E600067800000130101FC232E1102232C810254 +:100E700013040104232EA4FC232CB4FC232AC4FC59 +:100E80002328D4FC2326E4FCB76702810327C4FD92 +:100E900023A6E71CB76702819387C71C032784FD3D +:100EA00023A2E700B76702819387C71C032744FD8D +:100EB00023A4E700B76702819387C71C0327C4FCFC +:100EC00023A6E700B76702819387C71C032704FDA9 +:100ED00023A8E700EFF08FB22324A4FE0327C4FC6D +:100EE000832784FEB357F7022326F4FE0327C4FCAE +:100EF000832784FEB377F702638807008327C4FE45 +:100F0000938717002326F4FEB76702819387C71CD7 +:100F10000327C4FE23AAE7000327C4FC832784FE1B +:100F20006362F702B76702819386C71CB717008018 +:100F30001386C7F9832584FE032504FDEFF08FD3C4 +:100F40006F000002B76702819386C71CB717008045 +:100F50001386C7F98325C4FC032504FDEFF08FD168 +:100F6000EFF04FA92322A4FE032704FD832744FEAC +:100F700063F8E700032544FEEFF0CFDE6F00C0000A +:100F8000032504FDEFF00FDE130000008320C103F2 +:100F9000032481031301010467800000130101FB96 +:100FA000232611042324810413040105232EA4FA0B +:100FB000232CB4FAEFF00FEA2320A4FE832704FECB +:100FC00083A70700232EF4FC832704FE83A7470092 +:100FD000232CF4FC832704FE83A78700232AF4FC38 +:100FE000832704FE83A747012326F4FE0327C4FEBC +:100FF0008327C4FBB307F7022324F4FE8327C4FE30 +:10100000639A0700930710002326F4FE8327C4FB8E +:101010002324F4FE832704FE83A7C7002328F4FCBF +:10102000232204FE6F00000C032784FB832704FDAA +:101030003307F702832784FEB307F7002326F4FC67 +:10104000032784FE832704FDB337F70093F7F70FD8 +:101050002324F4FC832784FC93B71700A303F4FC38 +:10106000834774FC138F0700B7170080938F070D19 +:101070006B200F007B70FF018327C4FC9397270030 +:101080000327C4FDB307F70083A607008327C4FC2A +:1010900093972700032784FDB307F70003A70700F2 +:1010A0008327C4FC93972700032644FDB307F6006B +:1010B0003387E64023A0E700832784FE9387170049 +:1010C0002324F4FEB7170080138E470D67000E002F +:1010D000130000006B300000832744FE9387170045 +:1010E0002322F4FE832744FE0327C4FEE3EEE7F247 +:1010F000130000008320C1040324810413010105AF +:1011000067800000130101FC232E1102232C8102B1 +:1011100013040104232EA4FC232CB4FC232AC4FCB6 +:101120002328D4FC2326E4FCB76702810327C4FDEF +:1011300023A2E71EB76702819387471E032784FD1A +:1011400023A2E700B76702819387471E032744FD68 +:1011500023A4E700B76702819387471E0327C4FCD7 +:1011600023A6E700B76702819387471E032704FD84 +:1011700023A8E700EFF08F882324A4FE0327C4FCF4 +:10118000832784FEB357F7022326F4FE0327C4FC0B +:10119000832784FEB377F702638807008327C4FEA2 +:1011A000938717002326F4FEB76702819387471EB3 +:1011B0000327C4FE23AAE7000327C4FC832784FE79 +:1011C0006362F702B76702819386471EB7170080F4 +:1011D0001386C723832584FE032504FDEFF08FA922 +:1011E0006F000002B76702819386471EB717008021 +:1011F0001386C7238325C4FC032504FDEFF08FA7C6 +:10120000EFE05FFF2322A4FE032704FD832744FEB3 +:1012100063F8E700032544FEEFF0CFB46F00C00091 +:10122000032504FDEFF00FB4130000008320C10379 +:10123000032481031301010467800000130101FBF3 +:10124000232611042324810413040105232EA4FA68 +:10125000232CB4FAEFF00FC02320A4FE832704FE52 +:1012600083A70700232EF4FC832704FE83A74700EF +:1012700083A70700232CF4FC832704FE83A78700A1 +:10128000232AF4FC832704FE83A747012326F4FEC8 +:101290000327C4FE8327C4FBB307F7022324F4FE0D +:1012A0008327C4FE639A0700930710002326F4FEE9 +:1012B0008327C4FB2324F4FE832704FE83A7C700EF +:1012C0002328F4FC232204FE6F00000B032784FB79 +:1012D000832704FD3307F702832784FEB307F70053 +:1012E0002326F4FC032784FE832704FDB337F7008D +:1012F00093F7F70F2324F4FC832784FC93B717009C +:10130000A303F4FC834774FC138F0700B717008016 +:10131000938F47366B200F007B70FF018327C4FC3F +:10132000939727000327C4FDB307F70083A60700A0 +:101330008327C4FC93972700032744FDB307F700D6 +:10134000032784FD3387E60023A0E700832784FE7C +:10135000938717002324F4FEB7170080138E873677 +:1013600067000E00130000006B300000832744FE6E +:10137000938717002322F4FE832744FE0327C4FE2D +:10138000E3E6E7F4130000008320C1040324810492 +:101390001301010567800000130101FC232E1102D7 +:1013A000232C810213040104232EA4FC232CB4FC5F +:1013B000232AC4FC2328D4FC2326E4FCB76702813B +:1013C0000327C4FD23A2E71EB76702819387471E48 +:1013D000032784FD23A2E700B76702819387471E96 +:1013E000032744FD23A4E700B76702819387471EC4 +:1013F0000327C4FC23A6E700B76702819387471E33 +:10140000032704FD23A8E700EFE05FDF2324A4FE09 +:101410000327C4FC832784FEB357F7022326F4FE78 +:101420000327C4FC832784FEB377F7026388070091 +:101430008327C4FE938717002326F4FEB767028133 +:101440009387471E0327C4FE23AAE7000327C4FC93 +:10145000832784FE6362F702B76702819386471E83 +:10146000B71700801386074D832584FE032504FDEE +:10147000EFF04F806F000002B76702819386471E2E +:10148000B71700801386074D8325C4FC032504FD90 +:10149000EFE05FFEEFE01FD62322A4FE032704FD4A +:1014A000832744FE63F8E700032544FEEFF08F8BAB +:1014B0006F00C000032504FDEFF0CF8A1300000089 +:1014C0008320C1030324810313010104678000000A +:1014D000130101FB232611042324810413040105B5 +:1014E000232EA4FA232CB4FAEFF0CF962320A4FEE7 +:1014F000832704FE83A70700232EF4FC832704FE22 +:1015000083A7470083A70700232CF4FC832704FE4E +:1015100083A78700232AF4FC832704FE83A74701BF +:101520002326F4FE0327C4FE8327C4FBB307F70278 +:101530002324F4FE8327C4FE639A07009307100058 +:101540002326F4FE8327C4FB2324F4FE832704FE12 +:1015500083A7C7002328F4FC232204FE6F00000B9E +:10156000032784FB832704FD3307F702832784FEC8 +:10157000B307F7002326F4FC032784FE832704FD2A +:10158000B337F70093F7F70F2324F4FC832784FC89 +:1015900093B71700A303F4FC834774FC138F070071 +:1015A000B7170080938F875F6B200F007B70FF0160 +:1015B0008327C4FC939727000327C4FDB307F700D4 +:1015C00083A607008327C4FC93972700032744FDC5 +:1015D000B307F700032784FD3387E60223A0E70063 +:1015E000832784FE938717002324F4FEB717008017 +:1015F000138EC75F67000E00130000006B30000001 +:10160000832744FE938717002322F4FE832744FE9A +:101610000327C4FEE3E6E7F4130000008320C104BF +:10162000032481041301010567800000130101FDFB +:101630002326810213040103232EA4FC232604FE87 +:101640006F0000018327C4FE938717002326F4FE52 +:101650000327C4FE8327C4FDE346F7FE1300000002 +:101660000324C1021301010367800000130101FD7F +:10167000232611022324810213040103232EA4FC38 +:10168000232CB4FCB76702811387C71F8327C4FDCF +:10169000B307F700130710002380E7008327C4FD7A +:1016A0006390070CA30104FE232604FE6F00800A4A +:1016B000232604FE232404FE6F004003B767028143 +:1016C0001387C71F832784FEB307F70083C707006C +:1016D000638807008327C4FE938717002326F4FE40 +:1016E000832784FE938717002324F4FE032784FEB8 +:1016F000832784FDE344F7FC0327C4FE832784FD8E +:10170000631AF704232204FE6F000004B767028106 +:101710001387C71F832744FEB307F7002380070002 +:10172000B7970281130710002382E72C130560048A +:10173000EFF0DFEFB79702812382072C832744FE67 +:10174000938717002322F4FE032744FE832784FD9A +:10175000E34EF7FA834734FEE39C07F46F00400240 +:1017600013000000B797028183C7472C93C7170067 +:1017700093F7F70FE39807FE13054006EFF01FEB12 +:10178000130000008320C10203248102130101031E +:1017900067800000130101FF23268100130401016B +:1017A0009307000013080000138507009305080045 +:1017B0000324C1001301010167800000130101FE31 +:1017C000232E810013040102232604FE6F008004EF +:1017D000B76702810327C4FE131727009387C72129 +:1017E000B307F7001307300023A0E700B7770281A3 +:1017F0000327C4FE131727009387C721B307F700F9 +:101800001307200023A0E7008327C4FE9387170057 +:101810002326F4FE0327C4FE9307F00FE3DAE7FA6A +:10182000130000000324C1011301010267800000BE +:10183000130101FD23261102232481021304010355 +:10184000232EA4FCB707008113858711EFE0DFF892 +:10185000232604FE6F0080058327C4FE638E0700E5 +:101860008327C4FE93F7F70063980700B70700814A +:101870001385C713EFE05FF68327C4FE9397270015 +:101880000327C4FDB307F70083A7070013850700EC +:10189000EFE05FF8B707008113850714EFE0DFF38F +:1018A0008327C4FE938717002326F4FE0327C4FE74 +:1018B0009307F00FE3D2E7FAB707008113854714C7 +:1018C000EFE09FF1130000008320C1020324810296 +:1018D0001301010367800000130101FF232611009B +:1018E0002324810013040101EFF05FEDB76702814B +:1018F0001385C721EFF0DFF393070000138507007E +:101900008320C100032481001301010167800000CE :02000004810079 :10000000300000003100000032000000330000002A :10001000340000003500000036000000370000000A diff --git a/kernel/vx_os/vx_back/vx_back.s b/kernel/vx_os/vx_back/vx_back.s index 000f2cf3..1421181d 100644 --- a/kernel/vx_os/vx_back/vx_back.s +++ b/kernel/vx_os/vx_back/vx_back.s @@ -6,30 +6,49 @@ .type _start, @function .global _start _start: - li a0, 4 +# li a0, 4 +# la a1, SPAWN +# .word 0x00b5106b +# j SPAWN +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# SPAWN: +# li a2, 7 +# li a0, 0 +# .word 0x0005006b # tmc a0 + ########################### +# li a0, 4 +# .word 0x0005006b # tmc a0 +# csrr a1, 0x20 # read thread 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 + li a0, 4 # Num Threads + csrw 0x21, a0 # Setting the number of available threads + csrw mhartid,zero + csrw misa,zero + lui sp, 0x7ffff + # jal vx_before_main + jal main + li a0, 0 .word 0x0005006b # tmc a0 - csrr a1, 0x20 # read thread 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 - # li a0, 4 # Num Threads - # csrw 0x21, a0 # Setting the number of available threads - # csrw mhartid,zero - # csrw misa,zero - # lui sp, 0x7ffff - # # jal vx_before_main - # jal main - # ecall # Hi: # li a2, 7 diff --git a/rtl/VX_decode.v b/rtl/VX_decode.v index 06633dcc..a3e987d4 100644 --- a/rtl/VX_decode.v +++ b/rtl/VX_decode.v @@ -8,8 +8,7 @@ module VX_decode( // Outputs VX_frE_to_bckE_req_inter VX_frE_to_bckE_req, VX_wstall_inter VX_wstall, - VX_join_inter VX_join, - output wire out_ebreak + VX_join_inter VX_join ); @@ -218,7 +217,7 @@ module VX_decode( // assign is_ebreak = is_e_inst; wire ebreak = (curr_opcode == `SYS_INST) && (jal_sys_jal && (|in_valid)); assign VX_frE_to_bckE_req.ebreak = ebreak; - assign out_ebreak = ebreak; + wire out_ebreak = ebreak; diff --git a/rtl/VX_fetch.v b/rtl/VX_fetch.v index 2f374a9f..62276d2c 100644 --- a/rtl/VX_fetch.v +++ b/rtl/VX_fetch.v @@ -27,51 +27,51 @@ module VX_fetch ( wire[`NW_M1:0] warp_num; wire[31:0] warp_pc; VX_warp_scheduler warp_scheduler( - .clk (clk), - .reset (reset), - .stall (pipe_stall), + .clk (clk), + .reset (reset), + .stall (pipe_stall), // Wspawn - .wspawn (VX_warp_ctl.wspawn), - .wsapwn_pc (VX_warp_ctl.wspawn_pc), - // .wspawn_warp_num(VX_warp_ctl.warp_num), + .wspawn (VX_warp_ctl.wspawn), + .wsapwn_pc (VX_warp_ctl.wspawn_pc), + .wspawn_new_active(VX_warp_ctl.wspawn_new_active), // CTM - .ctm (VX_warp_ctl.change_mask), - .ctm_mask (VX_warp_ctl.thread_mask), - .ctm_warp_num (VX_warp_ctl.warp_num), + .ctm (VX_warp_ctl.change_mask), + .ctm_mask (VX_warp_ctl.thread_mask), + .ctm_warp_num (VX_warp_ctl.warp_num), // WHALT - .whalt (VX_warp_ctl.ebreak), - .whalt_warp_num (VX_warp_ctl.warp_num), + .whalt (VX_warp_ctl.ebreak), + .whalt_warp_num (VX_warp_ctl.warp_num), // Wstall - .wstall (VX_wstall.wstall), - .wstall_warp_num(VX_wstall.warp_num), + .wstall (VX_wstall.wstall), + .wstall_warp_num (VX_wstall.warp_num), // Join - .is_join (VX_join.is_join), - .join_warp_num (VX_join.join_warp_num), + .is_join (VX_join.is_join), + .join_warp_num (VX_join.join_warp_num), // Split - .is_split (VX_warp_ctl.is_split), - .split_new_mask (VX_warp_ctl.split_new_mask), - .split_later_mask(VX_warp_ctl.split_later_mask), - .split_save_pc (VX_warp_ctl.split_save_pc), - .split_warp_num (VX_warp_ctl.warp_num), + .is_split (VX_warp_ctl.is_split), + .split_new_mask (VX_warp_ctl.split_new_mask), + .split_later_mask (VX_warp_ctl.split_later_mask), + .split_save_pc (VX_warp_ctl.split_save_pc), + .split_warp_num (VX_warp_ctl.warp_num), // JAL - .jal (VX_jal_rsp.jal), - .jal_dest (VX_jal_rsp.jal_dest), - .jal_warp_num (VX_jal_rsp.jal_warp_num), + .jal (VX_jal_rsp.jal), + .jal_dest (VX_jal_rsp.jal_dest), + .jal_warp_num (VX_jal_rsp.jal_warp_num), // Branch - .branch_valid (VX_branch_rsp.valid_branch), - .branch_dir (VX_branch_rsp.branch_dir), - .branch_dest (VX_branch_rsp.branch_dest), - .branch_warp_num(VX_branch_rsp.branch_warp_num), + .branch_valid (VX_branch_rsp.valid_branch), + .branch_dir (VX_branch_rsp.branch_dir), + .branch_dest (VX_branch_rsp.branch_dest), + .branch_warp_num (VX_branch_rsp.branch_warp_num), // Outputs - .thread_mask (thread_mask), - .warp_num (warp_num), - .warp_pc (warp_pc), - .out_ebreak (out_ebreak) + .thread_mask (thread_mask), + .warp_num (warp_num), + .warp_pc (warp_pc), + .out_ebreak (out_ebreak) ); diff --git a/rtl/VX_front_end.v b/rtl/VX_front_end.v index 83e0c2bc..e11a18a9 100644 --- a/rtl/VX_front_end.v +++ b/rtl/VX_front_end.v @@ -32,7 +32,7 @@ wire decode_branch_stall; wire total_freeze = schedule_delay; /* verilator lint_off UNUSED */ -wire real_fetch_ebreak; +// wire real_fetch_ebreak; /* verilator lint_on UNUSED */ @@ -51,7 +51,7 @@ VX_fetch vx_fetch( .icache_request (icache_request_fe), .VX_branch_rsp (VX_branch_rsp), - .out_ebreak (real_fetch_ebreak), // fetch_ebreak + .out_ebreak (fetch_ebreak), // fetch_ebreak .fe_inst_meta_fd (fe_inst_meta_fd) ); @@ -68,8 +68,7 @@ VX_decode vx_decode( .fd_inst_meta_de (fd_inst_meta_de), .VX_frE_to_bckE_req(VX_frE_to_bckE_req), .VX_wstall (VX_wstall), - .VX_join (VX_join), - .out_ebreak (fetch_ebreak) + .VX_join (VX_join) ); wire no_br_stall = 0; diff --git a/rtl/VX_gpgpu_inst.v b/rtl/VX_gpgpu_inst.v index 230c33f2..9cf8333f 100644 --- a/rtl/VX_gpgpu_inst.v +++ b/rtl/VX_gpgpu_inst.v @@ -20,14 +20,27 @@ module VX_gpgpu_inst ( 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; + assign VX_warp_ctl.change_mask = (VX_gpu_inst_req.is_tmc) && valid_inst; assign VX_warp_ctl.thread_mask = VX_gpu_inst_req.is_tmc ? tmc_new_mask : 0; - assign VX_warp_ctl.ebreak = (VX_gpu_inst_req.a_reg_data[0] == 0) && valid_inst; + // assign VX_warp_ctl.ebreak = (VX_gpu_inst_req.a_reg_data[0] == 0) && valid_inst; + assign VX_warp_ctl.ebreak = VX_warp_ctl.change_mask && (VX_warp_ctl.thread_mask == 0); - assign VX_warp_ctl.wspawn = 0; - assign VX_warp_ctl.wspawn_pc = 0; + wire wspawn = VX_gpu_inst_req.is_wspawn; + wire[31:0] wspawn_pc = VX_gpu_inst_req.rd2; + wire[`NW-1:0] wspawn_new_active; + genvar curr_w; + for (curr_w = 0; curr_w < `NW; curr_w=curr_w+1) + begin + assign wspawn_new_active[curr_w] = curr_w < VX_gpu_inst_req.a_reg_data[0]; + end + + + + assign VX_warp_ctl.wspawn = wspawn; + assign VX_warp_ctl.wspawn_pc = wspawn_pc; + assign VX_warp_ctl.wspawn_new_active = wspawn_new_active; wire[`NT_M1:0] split_new_use_mask; wire[`NT_M1:0] split_new_later_mask; @@ -49,7 +62,7 @@ module VX_gpgpu_inst ( ); - assign VX_warp_ctl.is_split = is_split && (num_valids > 1); + assign VX_warp_ctl.is_split = is_split && (num_valids > 1) && (split_new_use_mask != 0) && (split_new_use_mask != {`NT{1'b1}}); 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_warp_scheduler.v b/rtl/VX_warp_scheduler.v index 3a738754..d37825c3 100644 --- a/rtl/VX_warp_scheduler.v +++ b/rtl/VX_warp_scheduler.v @@ -7,6 +7,7 @@ module VX_warp_scheduler ( // Wspawn input wire wspawn, input wire[31:0] wsapwn_pc, + input wire[`NW-1:0] wspawn_new_active, // CTM input wire ctm, @@ -50,6 +51,10 @@ module VX_warp_scheduler ( ); + wire update_use_wspawn; + + wire update_visible_active; + wire[(1+32+`NT_M1):0] d[`NW-1:0]; wire join_fall; @@ -72,9 +77,9 @@ module VX_warp_scheduler ( reg[31:0] warp_pcs[`NW-1:0]; - // Choosing a warp to wsapwn - wire[`NW_M1:0] warp_to_wsapwn; - wire found_wspawn; + // wsapwn + reg[31:0] use_wsapwn_pc; + reg[`NW-1:0] use_wsapwn; wire[`NW_M1:0] warp_to_schedule; wire schedule; @@ -111,15 +116,19 @@ module VX_warp_scheduler ( warp_pcs[curr_w_help] <= 0; warp_active[curr_w_help] <= 0; // Activating first warp visible_active[curr_w_help] <= 0; // Activating first warp - thread_masks[curr_w_help] <= 0; // Activating first thread in first warp + thread_masks[curr_w_help] <= 1; // Activating first thread in first warp end end else begin // Wsapwning warps - if (wspawn && found_wspawn) begin - warp_pcs[warp_to_wsapwn] <= wsapwn_pc; - warp_active[warp_to_wsapwn] <= 1; - visible_active[warp_to_wsapwn] <= 1; + if (wspawn) begin + warp_active <= wspawn_new_active; + use_wsapwn_pc <= wsapwn_pc; + use_wsapwn <= wspawn_new_active & (~`NW'b1); + end + + if (update_use_wspawn) begin + use_wsapwn[warp_to_schedule] <= 0; end // Halting warps if (whalt) begin @@ -152,13 +161,7 @@ module VX_warp_scheduler ( end // Refilling active warps - if ((visible_active == 0) && !(stall || wstall || hazard || is_join)) begin - visible_active <= warp_active & (~warp_stalled); - end - - // First cycle - if (start <= 2) begin - start <= 1; + if (update_visible_active) begin visible_active <= warp_active & (~warp_stalled); end @@ -182,6 +185,9 @@ module VX_warp_scheduler ( end end + + assign update_visible_active = ($countones(visible_active) < 1) && !(stall || wstall || hazard || is_join); + 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}; @@ -220,15 +226,18 @@ module VX_warp_scheduler ( assign global_stall = (stall || wstall || hazard || !real_schedule || is_join); - assign warp_pc = warp_pcs[warp_to_schedule]; + wire real_use_wspawn = use_wsapwn[warp_to_schedule]; + + assign warp_pc = real_use_wspawn ? use_wsapwn_pc : warp_pcs[warp_to_schedule]; assign thread_mask = (global_stall) ? 0 : thread_masks[warp_to_schedule]; assign warp_num = warp_to_schedule; + assign update_use_wspawn = use_wsapwn[warp_to_schedule] && !global_stall; assign new_pc = warp_pc + 4; - assign use_active = (num_active <= 1) ? (warp_active & (~warp_stalled)) : visible_active; + assign use_active = (num_active < 1) ? (warp_active & (~warp_stalled)) : visible_active; // Choosing a warp to schedule VX_priority_encoder choose_schedule( @@ -238,13 +247,6 @@ module VX_warp_scheduler ( ); - VX_priority_encoder choose_wsapwn( - .valids(~warp_active), - .index (warp_to_wsapwn), - .found (found_wspawn) - ); - - // Valid counter VX_one_counter valid_counter( .valids(visible_active), @@ -252,7 +254,8 @@ module VX_warp_scheduler ( ); - assign out_ebreak = (warp_active == 0); + wire ebreak = (warp_active == 0); + assign out_ebreak = ebreak; diff --git a/rtl/interfaces/VX_warp_ctl_inter.v b/rtl/interfaces/VX_warp_ctl_inter.v index cbd5aafc..84979972 100644 --- a/rtl/interfaces/VX_warp_ctl_inter.v +++ b/rtl/interfaces/VX_warp_ctl_inter.v @@ -13,6 +13,7 @@ interface VX_warp_ctl_inter (); wire wspawn; wire[31:0] wspawn_pc; + wire[`NW-1:0] wspawn_new_active; wire ebreak; diff --git a/rtl/results.txt b/rtl/results.txt index e3030abe..57d04687 100644 --- a/rtl/results.txt +++ b/rtl/results.txt @@ -1,7 +1,7 @@ -# Dynamic Instructions: 36 -# of total cycles: 50 +# Dynamic Instructions: 52686 +# of total cycles: 52701 # of forwarding stalls: 0 # of branch stalls: 0 -# CPI: 1.38889 -# time to simulate: 6.95313e-310 milliseconds +# CPI: 1.00028 +# time to simulate: 0 milliseconds # GRADE: Failed on test: 4294967295 diff --git a/rtl/simulate/tb_debug.h b/rtl/simulate/tb_debug.h index 6aae22b3..711663cc 100644 --- a/rtl/simulate/tb_debug.h +++ b/rtl/simulate/tb_debug.h @@ -1 +1 @@ -#define VCD_OUTPUT +#define VCD_OFF diff --git a/rtl/simulate/test_bench.h b/rtl/simulate/test_bench.h index fce12e5e..5f70ed31 100644 --- a/rtl/simulate/test_bench.h +++ b/rtl/simulate/test_bench.h @@ -385,7 +385,7 @@ bool Vortex::simulate(std::string file_to_simulate) // unsigned cycles; counter = 0; this->stats_total_cycles = 10; - while (this->stop && ((counter < 6))) + while (this->stop && ((counter < 2))) // while (this->stats_total_cycles < 10) { // std::cout << "Counter: " << counter << "\n";