diff --git a/src/test/cpp/regression/dhrystoneO3C.logRef b/src/test/cpp/regression/dhrystoneO3C.logRef new file mode 100644 index 0000000..9985a89 --- /dev/null +++ b/src/test/cpp/regression/dhrystoneO3C.logRef @@ -0,0 +1,57 @@ + +Dhrystone Benchmark, Version 2.1 (Language: C) + +Program compiled without 'register' attribute + +Please give the number of runs through the benchmark: +Execution starts, 200 runs through Dhrystone +Execution ends + +Final values of the variables used in the benchmark: + +Int_Glob: 5 + should be: 5 +Bool_Glob: 1 + should be: 1 +Ch_1_Glob: A + should be: A +Ch_2_Glob: B + should be: B +Arr_1_Glob[8]: 7 + should be: 7 +Arr_2_Glob[8][7]: 210 + should be: Number_Of_Runs + 10 +Ptr_Glob-> + Ptr_Comp: -2147459900 + should be: (implementation-dependent) + Discr: 0 + should be: 0 + Enum_Comp: 2 + should be: 2 + Int_Comp: 17 + should be: 17 + Str_Comp: DHRYSTONE PROGRAM, SOME STRING + should be: DHRYSTONE PROGRAM, SOME STRING +Next_Ptr_Glob-> + Ptr_Comp: -2147459900 + should be: (implementation-dependent), same as above + Discr: 0 + should be: 0 + Enum_Comp: 1 + should be: 1 + Int_Comp: 18 + should be: 18 + Str_Comp: DHRYSTONE PROGRAM, SOME STRING + should be: DHRYSTONE PROGRAM, SOME STRING +Int_1_Loc: 5 + should be: 5 +Int_2_Loc: 13 + should be: 13 +Int_3_Loc: 7 + should be: 7 +Enum_Loc: 1 + should be: 1 +Str_1_Loc: DHRYSTONE PROGRAM, 1'ST STRING + should be: DHRYSTONE PROGRAM, 1'ST STRING +Str_2_Loc: DHRYSTONE PROGRAM, 2'ND STRING + should be: DHRYSTONE PROGRAM, 2'ND STRING diff --git a/src/test/cpp/regression/dhrystoneO3MC.logRef b/src/test/cpp/regression/dhrystoneO3MC.logRef new file mode 100644 index 0000000..a584b67 --- /dev/null +++ b/src/test/cpp/regression/dhrystoneO3MC.logRef @@ -0,0 +1,57 @@ + +Dhrystone Benchmark, Version 2.1 (Language: C) + +Program compiled without 'register' attribute + +Please give the number of runs through the benchmark: +Execution starts, 200 runs through Dhrystone +Execution ends + +Final values of the variables used in the benchmark: + +Int_Glob: 5 + should be: 5 +Bool_Glob: 1 + should be: 1 +Ch_1_Glob: A + should be: A +Ch_2_Glob: B + should be: B +Arr_1_Glob[8]: 7 + should be: 7 +Arr_2_Glob[8][7]: 210 + should be: Number_Of_Runs + 10 +Ptr_Glob-> + Ptr_Comp: -2147460916 + should be: (implementation-dependent) + Discr: 0 + should be: 0 + Enum_Comp: 2 + should be: 2 + Int_Comp: 17 + should be: 17 + Str_Comp: DHRYSTONE PROGRAM, SOME STRING + should be: DHRYSTONE PROGRAM, SOME STRING +Next_Ptr_Glob-> + Ptr_Comp: -2147460916 + should be: (implementation-dependent), same as above + Discr: 0 + should be: 0 + Enum_Comp: 1 + should be: 1 + Int_Comp: 18 + should be: 18 + Str_Comp: DHRYSTONE PROGRAM, SOME STRING + should be: DHRYSTONE PROGRAM, SOME STRING +Int_1_Loc: 5 + should be: 5 +Int_2_Loc: 13 + should be: 13 +Int_3_Loc: 7 + should be: 7 +Enum_Loc: 1 + should be: 1 +Str_1_Loc: DHRYSTONE PROGRAM, 1'ST STRING + should be: DHRYSTONE PROGRAM, 1'ST STRING +Str_2_Loc: DHRYSTONE PROGRAM, 2'ND STRING + should be: DHRYSTONE PROGRAM, 2'ND STRING diff --git a/src/test/cpp/regression/main.cpp b/src/test/cpp/regression/main.cpp index 04ea625..41d8e8a 100644 --- a/src/test/cpp/regression/main.cpp +++ b/src/test/cpp/regression/main.cpp @@ -1782,12 +1782,24 @@ int main(int argc, char **argv, char **env) { #ifdef DHRYSTONE Dhrystone("dhrystoneO3_Stall","dhrystoneO3",true,true).run(1.5e6); + #if defined(COMPRESSED) + Dhrystone("dhrystoneO3C_Stall","dhrystoneO3C",true,true).run(1.5e6); + #endif #if defined(MUL) && defined(DIV) Dhrystone("dhrystoneO3M_Stall","dhrystoneO3M",true,true).run(1.9e6); + #if defined(COMPRESSED) + Dhrystone("dhrystoneO3MC_Stall","dhrystoneO3MC",true,true).run(1.9e6); + #endif #endif Dhrystone("dhrystoneO3","dhrystoneO3",false,false).run(1.9e6); + #if defined(COMPRESSED) + Dhrystone("dhrystoneO3C","dhrystoneO3C",false,false).run(1.9e6); + #endif #if defined(MUL) && defined(DIV) Dhrystone("dhrystoneO3M","dhrystoneO3M",false,false).run(1.9e6); + #if defined(COMPRESSED) + Dhrystone("dhrystoneO3MC","dhrystoneO3MC",false,false).run(1.9e6); + #endif #endif #endif diff --git a/src/test/resources/asm/dhrystoneO3C.asm b/src/test/resources/asm/dhrystoneO3C.asm new file mode 100644 index 0000000..7c7f995 --- /dev/null +++ b/src/test/resources/asm/dhrystoneO3C.asm @@ -0,0 +1,3836 @@ + +build/dhrystone.elf: file format elf32-littleriscv + + +Disassembly of section .vector: + +80000000 : +.global crtStart +.global main +.global irqCallback + +crtStart: + j crtInit +80000000: a8ad j 8000007a + nop +80000002: 0001 nop + nop +80000004: 0001 nop + nop +80000006: 0001 nop + nop +80000008: 0001 nop + nop +8000000a: 0001 nop + nop +8000000c: 0001 nop + nop +8000000e: 0001 nop + +80000010 : + +.global trap_entry +trap_entry: + sw x1, - 1*4(sp) +80000010: fe112e23 sw ra,-4(sp) + sw x5, - 2*4(sp) +80000014: fe512c23 sw t0,-8(sp) + sw x6, - 3*4(sp) +80000018: fe612a23 sw t1,-12(sp) + sw x7, - 4*4(sp) +8000001c: fe712823 sw t2,-16(sp) + sw x10, - 5*4(sp) +80000020: fea12623 sw a0,-20(sp) + sw x11, - 6*4(sp) +80000024: feb12423 sw a1,-24(sp) + sw x12, - 7*4(sp) +80000028: fec12223 sw a2,-28(sp) + sw x13, - 8*4(sp) +8000002c: fed12023 sw a3,-32(sp) + sw x14, - 9*4(sp) +80000030: fce12e23 sw a4,-36(sp) + sw x15, -10*4(sp) +80000034: fcf12c23 sw a5,-40(sp) + sw x16, -11*4(sp) +80000038: fd012a23 sw a6,-44(sp) + sw x17, -12*4(sp) +8000003c: fd112823 sw a7,-48(sp) + sw x28, -13*4(sp) +80000040: fdc12623 sw t3,-52(sp) + sw x29, -14*4(sp) +80000044: fdd12423 sw t4,-56(sp) + sw x30, -15*4(sp) +80000048: fde12223 sw t5,-60(sp) + sw x31, -16*4(sp) +8000004c: fdf12023 sw t6,-64(sp) + addi sp,sp,-16*4 +80000050: 7139 addi sp,sp,-64 + call irqCallback +80000052: 28ad jal 800000cc + lw x1 , 15*4(sp) +80000054: 50f2 lw ra,60(sp) + lw x5, 14*4(sp) +80000056: 52e2 lw t0,56(sp) + lw x6, 13*4(sp) +80000058: 5352 lw t1,52(sp) + lw x7, 12*4(sp) +8000005a: 53c2 lw t2,48(sp) + lw x10, 11*4(sp) +8000005c: 5532 lw a0,44(sp) + lw x11, 10*4(sp) +8000005e: 55a2 lw a1,40(sp) + lw x12, 9*4(sp) +80000060: 5612 lw a2,36(sp) + lw x13, 8*4(sp) +80000062: 5682 lw a3,32(sp) + lw x14, 7*4(sp) +80000064: 4772 lw a4,28(sp) + lw x15, 6*4(sp) +80000066: 47e2 lw a5,24(sp) + lw x16, 5*4(sp) +80000068: 4852 lw a6,20(sp) + lw x17, 4*4(sp) +8000006a: 48c2 lw a7,16(sp) + lw x28, 3*4(sp) +8000006c: 4e32 lw t3,12(sp) + lw x29, 2*4(sp) +8000006e: 4ea2 lw t4,8(sp) + lw x30, 1*4(sp) +80000070: 4f12 lw t5,4(sp) + lw x31, 0*4(sp) +80000072: 4f82 lw t6,0(sp) + addi sp,sp,16*4 +80000074: 6121 addi sp,sp,64 + mret +80000076: 30200073 mret + +8000007a : + + +crtInit: + .option push + .option norelax + la gp, __global_pointer$ +8000007a: 00004197 auipc gp,0x4 +8000007e: c2618193 addi gp,gp,-986 # 80003ca0 <__global_pointer$> + .option pop + la sp, _stack_start +80000082: 00006117 auipc sp,0x6 +80000086: 44e10113 addi sp,sp,1102 # 800064d0 <_stack_start> + +8000008a : + +bss_init: + la a0, _bss_start +8000008a: 81c18513 addi a0,gp,-2020 # 800034bc + la a1, _bss_end +8000008e: 00006597 auipc a1,0x6 +80000092: 03658593 addi a1,a1,54 # 800060c4 <_bss_end> + +80000096 : +bss_loop: + beq a0,a1,bss_done +80000096: 00b50663 beq a0,a1,800000a2 + sw zero,0(a0) +8000009a: 00052023 sw zero,0(a0) + add a0,a0,4 +8000009e: 0511 addi a0,a0,4 + j bss_loop +800000a0: bfdd j 80000096 + +800000a2 : +bss_done: + +ctors_init: + la a0, _ctors_start +800000a2: 00003517 auipc a0,0x3 +800000a6: 3fa50513 addi a0,a0,1018 # 8000349c <_ctors_end> + addi sp,sp,-4 +800000aa: 1171 addi sp,sp,-4 + +800000ac : +ctors_loop: + la a1, _ctors_end +800000ac: 00003597 auipc a1,0x3 +800000b0: 3f058593 addi a1,a1,1008 # 8000349c <_ctors_end> + beq a0,a1,ctors_done +800000b4: 00b50863 beq a0,a1,800000c4 + lw a3,0(a0) +800000b8: 4114 lw a3,0(a0) + add a0,a0,4 +800000ba: 0511 addi a0,a0,4 + sw a0,0(sp) +800000bc: c02a sw a0,0(sp) + jalr a3 +800000be: 9682 jalr a3 + lw a0,0(sp) +800000c0: 4502 lw a0,0(sp) + j ctors_loop +800000c2: b7ed j 800000ac + +800000c4 : +ctors_done: + addi sp,sp,4 +800000c4: 0111 addi sp,sp,4 + //li a0, 0x880 //880 enable timer + external interrupts + //csrw mie,a0 + //li a0, 0x1808 //1808 enable interrupts + //csrw mstatus,a0 + + call main +800000c6: 407020ef jal ra,80002ccc + +800000ca : +infinitLoop: + j infinitLoop +800000ca: a001 j 800000ca + +Disassembly of section .memory: + +800000cc : +} + + +void irqCallback(int irq){ + +} +800000cc: 8082 ret + +800000ce : + One_Fifty Int_Loc; + Enumeration Enum_Loc; + + Int_Loc = *Int_Par_Ref + 10; + do /* executed once */ + if (Ch_1_Glob == 'A') +800000ce: 8351c703 lbu a4,-1995(gp) # 800034d5 +800000d2: 04100793 li a5,65 +800000d6: 00f70363 beq a4,a5,800000dc + Int_Loc -= 1; + *Int_Par_Ref = Int_Loc - Int_Glob; + Enum_Loc = Ident_1; + } /* if */ + while (Enum_Loc != Ident_1); /* true */ +} /* Proc_2 */ +800000da: 8082 ret + Int_Loc -= 1; +800000dc: 411c lw a5,0(a0) + *Int_Par_Ref = Int_Loc - Int_Glob; +800000de: 83c1a703 lw a4,-1988(gp) # 800034dc + Int_Loc -= 1; +800000e2: 07a5 addi a5,a5,9 + *Int_Par_Ref = Int_Loc - Int_Glob; +800000e4: 8f99 sub a5,a5,a4 +800000e6: c11c sw a5,0(a0) +} /* Proc_2 */ +800000e8: 8082 ret + +800000ea : + /* Ptr_Ref_Par becomes Ptr_Glob */ + +Rec_Pointer *Ptr_Ref_Par; + +{ + if (Ptr_Glob != Null) +800000ea: 8441a603 lw a2,-1980(gp) # 800034e4 +800000ee: c609 beqz a2,800000f8 + /* then, executed */ + *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp; +800000f0: 4218 lw a4,0(a2) +800000f2: c118 sw a4,0(a0) +800000f4: 8441a603 lw a2,-1980(gp) # 800034e4 + Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp); +800000f8: 83c1a583 lw a1,-1988(gp) # 800034dc +800000fc: 0631 addi a2,a2,12 +800000fe: 4529 li a0,10 +80000100: 6d80006f j 800007d8 + +80000104 : +{ +80000104: 1141 addi sp,sp,-16 +80000106: c04a sw s2,0(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000108: 8441a783 lw a5,-1980(gp) # 800034e4 +{ +8000010c: c422 sw s0,8(sp) + REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp; +8000010e: 4100 lw s0,0(a0) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000110: 4398 lw a4,0(a5) +{ +80000112: c226 sw s1,4(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000114: 0047ae83 lw t4,4(a5) +80000118: 0087ae03 lw t3,8(a5) +8000011c: 0107a303 lw t1,16(a5) +80000120: 0147a883 lw a7,20(a5) +80000124: 0187a803 lw a6,24(a5) +80000128: 538c lw a1,32(a5) +8000012a: 53d0 lw a2,36(a5) +8000012c: 5794 lw a3,40(a5) +{ +8000012e: c606 sw ra,12(sp) +80000130: 84aa mv s1,a0 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000132: 4fc8 lw a0,28(a5) +80000134: 57dc lw a5,44(a5) +80000136: c018 sw a4,0(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +80000138: 4098 lw a4,0(s1) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +8000013a: cc48 sw a0,28(s0) +8000013c: d45c sw a5,44(s0) +8000013e: 01d42223 sw t4,4(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +80000142: 4795 li a5,5 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000144: 01c42423 sw t3,8(s0) +80000148: 00642823 sw t1,16(s0) +8000014c: 01142a23 sw a7,20(s0) +80000150: 01042c23 sw a6,24(s0) +80000154: d00c sw a1,32(s0) +80000156: d050 sw a2,36(s0) +80000158: d414 sw a3,40(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +8000015a: c4dc sw a5,12(s1) + = Ptr_Val_Par->variant.var_1.Int_Comp; +8000015c: c45c sw a5,12(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +8000015e: c018 sw a4,0(s0) + Proc_3 (&Next_Record->Ptr_Comp); +80000160: 8522 mv a0,s0 +80000162: 3761 jal 800000ea + if (Next_Record->Discr == Ident_1) +80000164: 405c lw a5,4(s0) +80000166: cfb1 beqz a5,800001c2 + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +80000168: 409c lw a5,0(s1) +} /* Proc_1 */ +8000016a: 40b2 lw ra,12(sp) +8000016c: 4422 lw s0,8(sp) + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +8000016e: 0007af83 lw t6,0(a5) +80000172: 0047af03 lw t5,4(a5) +80000176: 0087ae83 lw t4,8(a5) +8000017a: 00c7ae03 lw t3,12(a5) +8000017e: 0107a303 lw t1,16(a5) +80000182: 0147a883 lw a7,20(a5) +80000186: 0187a803 lw a6,24(a5) +8000018a: 4fcc lw a1,28(a5) +8000018c: 5390 lw a2,32(a5) +8000018e: 53d4 lw a3,36(a5) +80000190: 5798 lw a4,40(a5) +80000192: 57dc lw a5,44(a5) +80000194: 01f4a023 sw t6,0(s1) +80000198: 01e4a223 sw t5,4(s1) +8000019c: 01d4a423 sw t4,8(s1) +800001a0: 01c4a623 sw t3,12(s1) +800001a4: 0064a823 sw t1,16(s1) +800001a8: 0114aa23 sw a7,20(s1) +800001ac: 0104ac23 sw a6,24(s1) +800001b0: cccc sw a1,28(s1) +800001b2: d090 sw a2,32(s1) +800001b4: d0d4 sw a3,36(s1) +800001b6: d498 sw a4,40(s1) +800001b8: d4dc sw a5,44(s1) +} /* Proc_1 */ +800001ba: 4902 lw s2,0(sp) +800001bc: 4492 lw s1,4(sp) +800001be: 0141 addi sp,sp,16 +800001c0: 8082 ret + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001c2: 4488 lw a0,8(s1) + Next_Record->variant.var_1.Int_Comp = 6; +800001c4: 4799 li a5,6 + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001c6: 00840593 addi a1,s0,8 + Next_Record->variant.var_1.Int_Comp = 6; +800001ca: c45c sw a5,12(s0) + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001cc: 6d0000ef jal ra,8000089c + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001d0: 8441a783 lw a5,-1980(gp) # 800034e4 + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001d4: 4448 lw a0,12(s0) +800001d6: 00c40613 addi a2,s0,12 + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001da: 439c lw a5,0(a5) +} /* Proc_1 */ +800001dc: 40b2 lw ra,12(sp) +800001de: 4492 lw s1,4(sp) + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001e0: c01c sw a5,0(s0) +} /* Proc_1 */ +800001e2: 4422 lw s0,8(sp) +800001e4: 4902 lw s2,0(sp) + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001e6: 45a9 li a1,10 +} /* Proc_1 */ +800001e8: 0141 addi sp,sp,16 + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001ea: 5ee0006f j 800007d8 + +800001ee : +/*******/ + /* executed once */ +{ + Boolean Bool_Loc; + + Bool_Loc = Ch_1_Glob == 'A'; +800001ee: 8351c783 lbu a5,-1995(gp) # 800034d5 + Bool_Glob = Bool_Loc | Bool_Glob; +800001f2: 8381a683 lw a3,-1992(gp) # 800034d8 + Bool_Loc = Ch_1_Glob == 'A'; +800001f6: fbf78793 addi a5,a5,-65 +800001fa: 0017b793 seqz a5,a5 + Bool_Glob = Bool_Loc | Bool_Glob; +800001fe: 8fd5 or a5,a5,a3 +80000200: 82f1ac23 sw a5,-1992(gp) # 800034d8 + Ch_2_Glob = 'B'; +80000204: 04200713 li a4,66 +80000208: 82e18a23 sb a4,-1996(gp) # 800034d4 +} /* Proc_4 */ +8000020c: 8082 ret + +8000020e : + +Proc_5 () /* without parameters */ +/*******/ + /* executed once */ +{ + Ch_1_Glob = 'A'; +8000020e: 04100713 li a4,65 +80000212: 82e18aa3 sb a4,-1995(gp) # 800034d5 + Bool_Glob = false; +80000216: 8201ac23 sw zero,-1992(gp) # 800034d8 +} /* Proc_5 */ +8000021a: 8082 ret + +8000021c : +{ +8000021c: 7135 addi sp,sp,-160 + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000021e: 03000513 li a0,48 +{ +80000222: cf06 sw ra,156(sp) +80000224: cd22 sw s0,152(sp) +80000226: dce2 sw s8,120(sp) +80000228: d6ee sw s11,108(sp) +8000022a: cb26 sw s1,148(sp) +8000022c: c94a sw s2,144(sp) +8000022e: c74e sw s3,140(sp) +80000230: c552 sw s4,136(sp) +80000232: c356 sw s5,132(sp) +80000234: c15a sw s6,128(sp) +80000236: dede sw s7,124(sp) +80000238: dae6 sw s9,116(sp) +8000023a: d8ea sw s10,112(sp) + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000023c: 74e000ef jal ra,8000098a +80000240: 84a1a023 sw a0,-1984(gp) # 800034e0 + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000244: 03000513 li a0,48 +80000248: 742000ef jal ra,8000098a + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +8000024c: 8401a783 lw a5,-1984(gp) # 800034e0 + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000250: 84a1a223 sw a0,-1980(gp) # 800034e4 + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +80000254: c11c sw a5,0(a0) + Ptr_Glob->variant.var_1.Enum_Comp = Ident_3; +80000256: 4789 li a5,2 +80000258: c51c sw a5,8(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +8000025a: 800035b7 lui a1,0x80003 + Ptr_Glob->variant.var_1.Int_Comp = 40; +8000025e: 02800793 li a5,40 +80000262: c55c sw a5,12(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +80000264: 467d li a2,31 +80000266: ce458593 addi a1,a1,-796 # 80002ce4 <_stack_start+0xffffc814> + Ptr_Glob->Discr = Ident_1; +8000026a: 00052223 sw zero,4(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +8000026e: 0541 addi a0,a0,16 +80000270: 01d000ef jal ra,80000a8c + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +80000274: 80003737 lui a4,0x80003 +80000278: 24c70793 addi a5,a4,588 # 8000324c <_stack_start+0xffffcd7c> +8000027c: 24c72e03 lw t3,588(a4) +80000280: 0047a303 lw t1,4(a5) +80000284: 0087a883 lw a7,8(a5) +80000288: 00c7a803 lw a6,12(a5) +8000028c: 4b8c lw a1,16(a5) +8000028e: 4bd0 lw a2,20(a5) +80000290: 4f94 lw a3,24(a5) +80000292: 01c7d703 lhu a4,28(a5) +80000296: 01e7c783 lbu a5,30(a5) + Arr_2_Glob [8][7] = 10; +8000029a: 80003db7 lui s11,0x80003 + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +8000029e: 02e11e23 sh a4,60(sp) +800002a2: 02f10f23 sb a5,62(sp) + Arr_2_Glob [8][7] = 10; +800002a6: 5b4d8713 addi a4,s11,1460 # 800035b4 <_stack_start+0xffffd0e4> +800002aa: 47a9 li a5,10 + printf ("\n"); +800002ac: 4529 li a0,10 + Arr_2_Glob [8][7] = 10; +800002ae: 64f72e23 sw a5,1628(a4) + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +800002b2: d072 sw t3,32(sp) +800002b4: d21a sw t1,36(sp) +800002b6: d446 sw a7,40(sp) +800002b8: d642 sw a6,44(sp) +800002ba: d82e sw a1,48(sp) +800002bc: da32 sw a2,52(sp) +800002be: dc36 sw a3,56(sp) + printf ("\n"); +800002c0: 7b8000ef jal ra,80000a78 + printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n"); +800002c4: 80003537 lui a0,0x80003 +800002c8: d0450513 addi a0,a0,-764 # 80002d04 <_stack_start+0xffffc834> +800002cc: 786000ef jal ra,80000a52 + printf ("\n"); +800002d0: 4529 li a0,10 +800002d2: 7a6000ef jal ra,80000a78 + if (Reg) +800002d6: 8301a783 lw a5,-2000(gp) # 800034d0 +800002da: 4c078663 beqz a5,800007a6 + printf ("Program compiled with 'register' attribute\n"); +800002de: 80003537 lui a0,0x80003 +800002e2: d3450513 addi a0,a0,-716 # 80002d34 <_stack_start+0xffffc864> +800002e6: 76c000ef jal ra,80000a52 + printf ("\n"); +800002ea: 4529 li a0,10 +800002ec: 78c000ef jal ra,80000a78 + printf ("Please give the number of runs through the benchmark: "); +800002f0: 80003537 lui a0,0x80003 +800002f4: d9050513 addi a0,a0,-624 # 80002d90 <_stack_start+0xffffc8c0> +800002f8: 6b4000ef jal ra,800009ac + printf ("\n"); +800002fc: 4529 li a0,10 +800002fe: 77a000ef jal ra,80000a78 + printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs); +80000302: 80003537 lui a0,0x80003 +80000306: 0c800593 li a1,200 +8000030a: dc850513 addi a0,a0,-568 # 80002dc8 <_stack_start+0xffffc8f8> +8000030e: 69e000ef jal ra,800009ac + Begin_Time = clock(); +80000312: 770000ef jal ra,80000a82 +80000316: 80003437 lui s0,0x80003 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +8000031a: 26c42783 lw a5,620(s0) # 8000326c <_stack_start+0xffffcd9c> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000031e: 80003d37 lui s10,0x80003 +80000322: 28cd2b83 lw s7,652(s10) # 8000328c <_stack_start+0xffffcdbc> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000326: c43e sw a5,8(sp) + Begin_Time = clock(); +80000328: 82a1a623 sw a0,-2004(gp) # 800034cc + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +8000032c: 4985 li s3,1 +8000032e: 26c40413 addi s0,s0,620 + Int_1_Loc = 2; +80000332: 4489 li s1,2 + Proc_5(); +80000334: 3de9 jal 8000020e + Proc_4(); +80000336: 3d65 jal 800001ee + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000338: 01e44783 lbu a5,30(s0) +8000033c: 4850 lw a2,20(s0) +8000033e: 00442e03 lw t3,4(s0) +80000342: 00842303 lw t1,8(s0) +80000346: 00c42883 lw a7,12(s0) +8000034a: 01042803 lw a6,16(s0) +8000034e: 4c14 lw a3,24(s0) +80000350: 01c45703 lhu a4,28(s0) +80000354: 4ea2 lw t4,8(sp) +80000356: 04f10f23 sb a5,94(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000035a: 008c addi a1,sp,64 + Enum_Loc = Ident_2; +8000035c: 4785 li a5,1 + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000035e: 1008 addi a0,sp,32 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000360: cab2 sw a2,84(sp) + Enum_Loc = Ident_2; +80000362: ce3e sw a5,28(sp) + Int_1_Loc = 2; +80000364: ca26 sw s1,20(sp) + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000366: c0f6 sw t4,64(sp) +80000368: c2f2 sw t3,68(sp) +8000036a: c49a sw t1,72(sp) +8000036c: c6c6 sw a7,76(sp) +8000036e: c8c2 sw a6,80(sp) +80000370: ccb6 sw a3,88(sp) +80000372: 04e11e23 sh a4,92(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +80000376: 21dd jal 8000085c + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000378: 4652 lw a2,20(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000037a: 00153513 seqz a0,a0 +8000037e: 82a1ac23 sw a0,-1992(gp) # 800034d8 + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000382: 02c4c063 blt s1,a2,800003a2 + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +80000386: 00261793 slli a5,a2,0x2 +8000038a: 97b2 add a5,a5,a2 +8000038c: 17f5 addi a5,a5,-3 + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +8000038e: 8532 mv a0,a2 +80000390: 458d li a1,3 +80000392: 0830 addi a2,sp,24 + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +80000394: cc3e sw a5,24(sp) + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +80000396: 2189 jal 800007d8 + Int_1_Loc += 1; +80000398: 4652 lw a2,20(sp) +8000039a: 0605 addi a2,a2,1 +8000039c: ca32 sw a2,20(sp) + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +8000039e: fec4d4e3 ble a2,s1,80000386 + Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc); +800003a2: 46e2 lw a3,24(sp) +800003a4: 84c18513 addi a0,gp,-1972 # 800034ec +800003a8: 5b4d8593 addi a1,s11,1460 +800003ac: 2915 jal 800007e0 + Proc_1 (Ptr_Glob); +800003ae: 8441a503 lw a0,-1980(gp) # 800034e4 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003b2: 04100a93 li s5,65 + Int_2_Loc = 3; +800003b6: 4a0d li s4,3 + Proc_1 (Ptr_Glob); +800003b8: 33b1 jal 80000104 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003ba: 8341c703 lbu a4,-1996(gp) # 800034d4 +800003be: 04000793 li a5,64 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +800003c2: 28cd0c93 addi s9,s10,652 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003c6: 02e7f163 bleu a4,a5,800003e8 + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +800003ca: 8556 mv a0,s5 +800003cc: 04300593 li a1,67 +800003d0: 2995 jal 80000844 +800003d2: 47f2 lw a5,28(sp) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003d4: 001a8713 addi a4,s5,1 + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +800003d8: 36f50e63 beq a0,a5,80000754 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003dc: 8341c783 lbu a5,-1996(gp) # 800034d4 +800003e0: 0ff77a93 andi s5,a4,255 +800003e4: ff57f3e3 bleu s5,a5,800003ca + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003e8: 45d2 lw a1,20(sp) +800003ea: 8552 mv a0,s4 + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +800003ec: 0985 addi s3,s3,1 + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003ee: 7ba020ef jal ra,80002ba8 <__mulsi3> + Int_1_Loc = Int_2_Loc / Int_3_Loc; +800003f2: 4ae2 lw s5,24(sp) + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003f4: c62a sw a0,12(sp) + Int_1_Loc = Int_2_Loc / Int_3_Loc; +800003f6: 85d6 mv a1,s5 +800003f8: 7d4020ef jal ra,80002bcc <__divsi3> +800003fc: 8a2a mv s4,a0 + Proc_2 (&Int_1_Loc); +800003fe: 0848 addi a0,sp,20 + Int_1_Loc = Int_2_Loc / Int_3_Loc; +80000400: ca52 sw s4,20(sp) + Proc_2 (&Int_1_Loc); +80000402: 31f1 jal 800000ce + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +80000404: 0c900793 li a5,201 +80000408: f2f996e3 bne s3,a5,80000334 + End_Time = clock(); +8000040c: 676000ef jal ra,80000a82 +80000410: 82a1a423 sw a0,-2008(gp) # 800034c8 + printf ("Execution ends\n"); +80000414: 80003537 lui a0,0x80003 +80000418: df850513 addi a0,a0,-520 # 80002df8 <_stack_start+0xffffc928> +8000041c: 636000ef jal ra,80000a52 + printf ("\n"); +80000420: 4529 li a0,10 +80000422: 656000ef jal ra,80000a78 + printf ("Final values of the variables used in the benchmark:\n"); +80000426: 80003537 lui a0,0x80003 +8000042a: e0850513 addi a0,a0,-504 # 80002e08 <_stack_start+0xffffc938> +8000042e: 624000ef jal ra,80000a52 + printf ("\n"); +80000432: 4529 li a0,10 +80000434: 644000ef jal ra,80000a78 + printf ("Int_Glob: %d\n", Int_Glob); +80000438: 83c1a583 lw a1,-1988(gp) # 800034dc +8000043c: 80003537 lui a0,0x80003 +80000440: e4050513 addi a0,a0,-448 # 80002e40 <_stack_start+0xffffc970> + printf (" should be: %d\n", 5); +80000444: 80003437 lui s0,0x80003 + printf ("Int_Glob: %d\n", Int_Glob); +80000448: 564000ef jal ra,800009ac + printf (" should be: %d\n", 5); +8000044c: 4595 li a1,5 +8000044e: e5c40513 addi a0,s0,-420 # 80002e5c <_stack_start+0xffffc98c> +80000452: 55a000ef jal ra,800009ac + printf ("Bool_Glob: %d\n", Bool_Glob); +80000456: 8381a583 lw a1,-1992(gp) # 800034d8 +8000045a: 80003537 lui a0,0x80003 +8000045e: e7850513 addi a0,a0,-392 # 80002e78 <_stack_start+0xffffc9a8> +80000462: 54a000ef jal ra,800009ac + printf (" should be: %d\n", 1); +80000466: 4585 li a1,1 +80000468: e5c40513 addi a0,s0,-420 +8000046c: 540000ef jal ra,800009ac + printf ("Ch_1_Glob: %c\n", Ch_1_Glob); +80000470: 8351c583 lbu a1,-1995(gp) # 800034d5 +80000474: 80003537 lui a0,0x80003 +80000478: e9450513 addi a0,a0,-364 # 80002e94 <_stack_start+0xffffc9c4> +8000047c: 2b05 jal 800009ac + printf (" should be: %c\n", 'A'); +8000047e: 800034b7 lui s1,0x80003 +80000482: 04100593 li a1,65 +80000486: eb048513 addi a0,s1,-336 # 80002eb0 <_stack_start+0xffffc9e0> +8000048a: 230d jal 800009ac + printf ("Ch_2_Glob: %c\n", Ch_2_Glob); +8000048c: 8341c583 lbu a1,-1996(gp) # 800034d4 +80000490: 80003537 lui a0,0x80003 +80000494: ecc50513 addi a0,a0,-308 # 80002ecc <_stack_start+0xffffc9fc> +80000498: 2b11 jal 800009ac + printf (" should be: %c\n", 'B'); +8000049a: 04200593 li a1,66 +8000049e: eb048513 addi a0,s1,-336 +800004a2: 2329 jal 800009ac + printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]); +800004a4: 84c18793 addi a5,gp,-1972 # 800034ec +800004a8: 538c lw a1,32(a5) +800004aa: 80003537 lui a0,0x80003 +800004ae: ee850513 addi a0,a0,-280 # 80002ee8 <_stack_start+0xffffca18> +800004b2: 29ed jal 800009ac + printf (" should be: %d\n", 7); +800004b4: 459d li a1,7 +800004b6: e5c40513 addi a0,s0,-420 +800004ba: 29cd jal 800009ac + printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]); +800004bc: 800037b7 lui a5,0x80003 +800004c0: 5b478793 addi a5,a5,1460 # 800035b4 <_stack_start+0xffffd0e4> +800004c4: 65c7a583 lw a1,1628(a5) +800004c8: 80003537 lui a0,0x80003 +800004cc: f0450513 addi a0,a0,-252 # 80002f04 <_stack_start+0xffffca34> +800004d0: 29f1 jal 800009ac + printf (" should be: Number_Of_Runs + 10\n"); +800004d2: 80003537 lui a0,0x80003 +800004d6: f2050513 addi a0,a0,-224 # 80002f20 <_stack_start+0xffffca50> +800004da: 578000ef jal ra,80000a52 + printf ("Ptr_Glob->\n"); +800004de: 80003537 lui a0,0x80003 +800004e2: f4c50513 addi a0,a0,-180 # 80002f4c <_stack_start+0xffffca7c> +800004e6: 56c000ef jal ra,80000a52 + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +800004ea: 8441a783 lw a5,-1980(gp) # 800034e4 +800004ee: 80003db7 lui s11,0x80003 +800004f2: f58d8513 addi a0,s11,-168 # 80002f58 <_stack_start+0xffffca88> +800004f6: 438c lw a1,0(a5) + printf (" Discr: %d\n", Ptr_Glob->Discr); +800004f8: 80003cb7 lui s9,0x80003 + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +800004fc: 80003bb7 lui s7,0x80003 + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +80000500: 2175 jal 800009ac + printf (" should be: (implementation-dependent)\n"); +80000502: 80003537 lui a0,0x80003 +80000506: f7450513 addi a0,a0,-140 # 80002f74 <_stack_start+0xffffcaa4> +8000050a: 548000ef jal ra,80000a52 + printf (" Discr: %d\n", Ptr_Glob->Discr); +8000050e: 8441a783 lw a5,-1980(gp) # 800034e4 +80000512: fa4c8513 addi a0,s9,-92 # 80002fa4 <_stack_start+0xffffcad4> + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +80000516: 80003b37 lui s6,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +8000051a: 43cc lw a1,4(a5) + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +8000051c: 800039b7 lui s3,0x80003 + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000520: 80003937 lui s2,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +80000524: 2161 jal 800009ac + printf (" should be: %d\n", 0); +80000526: 4581 li a1,0 +80000528: e5c40513 addi a0,s0,-420 +8000052c: 2141 jal 800009ac + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +8000052e: 8441a783 lw a5,-1980(gp) # 800034e4 +80000532: fc0b8513 addi a0,s7,-64 # 80002fc0 <_stack_start+0xffffcaf0> +80000536: 478c lw a1,8(a5) +80000538: 2995 jal 800009ac + printf (" should be: %d\n", 2); +8000053a: 4589 li a1,2 +8000053c: e5c40513 addi a0,s0,-420 +80000540: 21b5 jal 800009ac + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +80000542: 8441a783 lw a5,-1980(gp) # 800034e4 +80000546: fdcb0513 addi a0,s6,-36 # 80002fdc <_stack_start+0xffffcb0c> +8000054a: 47cc lw a1,12(a5) +8000054c: 2185 jal 800009ac + printf (" should be: %d\n", 17); +8000054e: 45c5 li a1,17 +80000550: e5c40513 addi a0,s0,-420 +80000554: 29a1 jal 800009ac + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +80000556: 8441a583 lw a1,-1980(gp) # 800034e4 +8000055a: ff898513 addi a0,s3,-8 # 80002ff8 <_stack_start+0xffffcb28> +8000055e: 05c1 addi a1,a1,16 +80000560: 21b1 jal 800009ac + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000562: 01490513 addi a0,s2,20 # 80003014 <_stack_start+0xffffcb44> +80000566: 21f5 jal 80000a52 + printf ("Next_Ptr_Glob->\n"); +80000568: 80003537 lui a0,0x80003 +8000056c: 04850513 addi a0,a0,72 # 80003048 <_stack_start+0xffffcb78> +80000570: 21cd jal 80000a52 + printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp); +80000572: 8401a783 lw a5,-1984(gp) # 800034e0 +80000576: f58d8513 addi a0,s11,-168 +8000057a: 438c lw a1,0(a5) +8000057c: 2905 jal 800009ac + printf (" should be: (implementation-dependent), same as above\n"); +8000057e: 80003537 lui a0,0x80003 +80000582: 05850513 addi a0,a0,88 # 80003058 <_stack_start+0xffffcb88> +80000586: 21f1 jal 80000a52 + printf (" Discr: %d\n", Next_Ptr_Glob->Discr); +80000588: 8401a783 lw a5,-1984(gp) # 800034e0 +8000058c: fa4c8513 addi a0,s9,-92 +80000590: 43cc lw a1,4(a5) +80000592: 2929 jal 800009ac + printf (" should be: %d\n", 0); +80000594: 4581 li a1,0 +80000596: e5c40513 addi a0,s0,-420 +8000059a: 2909 jal 800009ac + printf (" Enum_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp); +8000059c: 8401a783 lw a5,-1984(gp) # 800034e0 +800005a0: fc0b8513 addi a0,s7,-64 +800005a4: 478c lw a1,8(a5) +800005a6: 2119 jal 800009ac + printf (" should be: %d\n", 1); +800005a8: 4585 li a1,1 +800005aa: e5c40513 addi a0,s0,-420 +800005ae: 2efd jal 800009ac + printf (" Int_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp); +800005b0: 8401a783 lw a5,-1984(gp) # 800034e0 +800005b4: fdcb0513 addi a0,s6,-36 +800005b8: 47cc lw a1,12(a5) +800005ba: 2ecd jal 800009ac + printf (" should be: %d\n", 18); +800005bc: 45c9 li a1,18 +800005be: e5c40513 addi a0,s0,-420 +800005c2: 26ed jal 800009ac + printf (" Str_Comp: %s\n", +800005c4: 8401a583 lw a1,-1984(gp) # 800034e0 +800005c8: ff898513 addi a0,s3,-8 +800005cc: 05c1 addi a1,a1,16 +800005ce: 2ef9 jal 800009ac + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +800005d0: 01490513 addi a0,s2,20 +800005d4: 29bd jal 80000a52 + printf ("Int_1_Loc: %d\n", Int_1_Loc); +800005d6: 45d2 lw a1,20(sp) +800005d8: 80003537 lui a0,0x80003 +800005dc: 09850513 addi a0,a0,152 # 80003098 <_stack_start+0xffffcbc8> +800005e0: 26f1 jal 800009ac + printf (" should be: %d\n", 5); +800005e2: 4595 li a1,5 +800005e4: e5c40513 addi a0,s0,-420 +800005e8: 26d1 jal 800009ac + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +800005ea: 47b2 lw a5,12(sp) + printf ("Int_2_Loc: %d\n", Int_2_Loc); +800005ec: 80003537 lui a0,0x80003 +800005f0: 0b450513 addi a0,a0,180 # 800030b4 <_stack_start+0xffffcbe4> + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +800005f4: 41578ab3 sub s5,a5,s5 +800005f8: 003a9793 slli a5,s5,0x3 +800005fc: 41578ab3 sub s5,a5,s5 + printf ("Int_2_Loc: %d\n", Int_2_Loc); +80000600: 414a85b3 sub a1,s5,s4 +80000604: 2665 jal 800009ac + printf (" should be: %d\n", 13); +80000606: 45b5 li a1,13 +80000608: e5c40513 addi a0,s0,-420 +8000060c: 2645 jal 800009ac + printf ("Int_3_Loc: %d\n", Int_3_Loc); +8000060e: 45e2 lw a1,24(sp) +80000610: 80003537 lui a0,0x80003 +80000614: 0d050513 addi a0,a0,208 # 800030d0 <_stack_start+0xffffcc00> +80000618: 2e51 jal 800009ac + printf (" should be: %d\n", 7); +8000061a: 459d li a1,7 +8000061c: e5c40513 addi a0,s0,-420 +80000620: 2671 jal 800009ac + printf ("Enum_Loc: %d\n", Enum_Loc); +80000622: 45f2 lw a1,28(sp) +80000624: 80003537 lui a0,0x80003 +80000628: 0ec50513 addi a0,a0,236 # 800030ec <_stack_start+0xffffcc1c> +8000062c: 2641 jal 800009ac + printf (" should be: %d\n", 1); +8000062e: 4585 li a1,1 +80000630: e5c40513 addi a0,s0,-420 +80000634: 2ea5 jal 800009ac + printf ("Str_1_Loc: %s\n", Str_1_Loc); +80000636: 80003537 lui a0,0x80003 +8000063a: 100c addi a1,sp,32 +8000063c: 10850513 addi a0,a0,264 # 80003108 <_stack_start+0xffffcc38> +80000640: 26b5 jal 800009ac + printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n"); +80000642: 80003537 lui a0,0x80003 +80000646: 12450513 addi a0,a0,292 # 80003124 <_stack_start+0xffffcc54> +8000064a: 2121 jal 80000a52 + printf ("Str_2_Loc: %s\n", Str_2_Loc); +8000064c: 80003537 lui a0,0x80003 +80000650: 008c addi a1,sp,64 +80000652: 15850513 addi a0,a0,344 # 80003158 <_stack_start+0xffffcc88> +80000656: 2e99 jal 800009ac + printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n"); +80000658: 80003537 lui a0,0x80003 +8000065c: 17450513 addi a0,a0,372 # 80003174 <_stack_start+0xffffcca4> +80000660: 2ecd jal 80000a52 + printf ("\n"); +80000662: 4529 li a0,10 +80000664: 2911 jal 80000a78 + User_Time = End_Time - Begin_Time; +80000666: 82c1a703 lw a4,-2004(gp) # 800034cc +8000066a: 8281a583 lw a1,-2008(gp) # 800034c8 + if (User_Time < Too_Small_Time) +8000066e: 1f300793 li a5,499 + User_Time = End_Time - Begin_Time; +80000672: 8d99 sub a1,a1,a4 +80000674: 82b1a223 sw a1,-2012(gp) # 800034c4 + if (User_Time < Too_Small_Time) +80000678: 12b7df63 ble a1,a5,800007b6 + printf ("Clock cycles=%d \n", User_Time); +8000067c: 80003537 lui a0,0x80003 +80000680: 20050513 addi a0,a0,512 # 80003200 <_stack_start+0xffffcd30> +80000684: 2625 jal 800009ac + Microseconds = (float) User_Time * Mic_secs_Per_Second +80000686: 8241a503 lw a0,-2012(gp) # 800034c4 +8000068a: 156020ef jal ra,800027e0 <__floatsisf> +8000068e: 842a mv s0,a0 +80000690: 274020ef jal ra,80002904 <__extendsfdf2> +80000694: 800037b7 lui a5,0x80003 +80000698: 4a07a603 lw a2,1184(a5) # 800034a0 <_stack_start+0xffffcfd0> +8000069c: 4a47a683 lw a3,1188(a5) +800006a0: 661000ef jal ra,80001500 <__muldf3> + / ((float) CORE_HZ * ((float) Number_Of_Runs)); +800006a4: 800037b7 lui a5,0x80003 +800006a8: 4a87a603 lw a2,1192(a5) # 800034a8 <_stack_start+0xffffcfd8> +800006ac: 4ac7a683 lw a3,1196(a5) +800006b0: 640000ef jal ra,80000cf0 <__divdf3> +800006b4: 35c020ef jal ra,80002a10 <__truncdfsf2> +800006b8: 82a1a023 sw a0,-2016(gp) # 800034c0 + / (float) User_Time; +800006bc: 800037b7 lui a5,0x80003 +800006c0: 4b07a503 lw a0,1200(a5) # 800034b0 <_stack_start+0xffffcfe0> +800006c4: 85a2 mv a1,s0 +800006c6: 52a010ef jal ra,80001bf0 <__divsf3> + Dhrystones_Per_Second = ((float) CORE_HZ * (float) Number_Of_Runs) +800006ca: 80a1ae23 sw a0,-2020(gp) # 800034bc + printf ("DMIPS per Mhz: "); +800006ce: 80003537 lui a0,0x80003 +800006d2: 21450513 addi a0,a0,532 # 80003214 <_stack_start+0xffffcd44> +800006d6: 2cd9 jal 800009ac + float dmips = (1e6f/1757.0f) * Number_Of_Runs / User_Time; +800006d8: 8241a503 lw a0,-2012(gp) # 800034c4 +800006dc: 104020ef jal ra,800027e0 <__floatsisf> +800006e0: 800037b7 lui a5,0x80003 +800006e4: 85aa mv a1,a0 +800006e6: 4b47a503 lw a0,1204(a5) # 800034b4 <_stack_start+0xffffcfe4> +800006ea: 506010ef jal ra,80001bf0 <__divsf3> +800006ee: 842a mv s0,a0 + int dmipsNatural = dmips; +800006f0: 080020ef jal ra,80002770 <__fixsfsi> +800006f4: 84aa mv s1,a0 + int dmipsReal = (dmips - dmipsNatural)*100.0f; +800006f6: 0ea020ef jal ra,800027e0 <__floatsisf> +800006fa: 85aa mv a1,a0 +800006fc: 8522 mv a0,s0 +800006fe: 3fb010ef jal ra,800022f8 <__subsf3> +80000702: 800037b7 lui a5,0x80003 +80000706: 4b87a583 lw a1,1208(a5) # 800034b8 <_stack_start+0xffffcfe8> +8000070a: 07f010ef jal ra,80001f88 <__mulsf3> +8000070e: 062020ef jal ra,80002770 <__fixsfsi> +80000712: 842a mv s0,a0 + printf ("%d.", dmipsNatural); +80000714: 80003537 lui a0,0x80003 +80000718: 85a6 mv a1,s1 +8000071a: 24450513 addi a0,a0,580 # 80003244 <_stack_start+0xffffcd74> +8000071e: 2479 jal 800009ac + if(dmipsReal < 10) printf("0"); +80000720: 47a5 li a5,9 +80000722: 0a87d763 ble s0,a5,800007d0 + printf ("%d", dmipsReal); +80000726: 80003537 lui a0,0x80003 +8000072a: 85a2 mv a1,s0 +8000072c: 24850513 addi a0,a0,584 # 80003248 <_stack_start+0xffffcd78> +80000730: 2cb5 jal 800009ac + printf ("\n"); +80000732: 4529 li a0,10 +80000734: 2691 jal 80000a78 +} +80000736: 40fa lw ra,156(sp) +80000738: 446a lw s0,152(sp) +8000073a: 44da lw s1,148(sp) +8000073c: 494a lw s2,144(sp) +8000073e: 49ba lw s3,140(sp) +80000740: 4a2a lw s4,136(sp) +80000742: 4a9a lw s5,132(sp) +80000744: 4b0a lw s6,128(sp) +80000746: 5bf6 lw s7,124(sp) +80000748: 5c66 lw s8,120(sp) +8000074a: 5cd6 lw s9,116(sp) +8000074c: 5d46 lw s10,112(sp) +8000074e: 5db6 lw s11,108(sp) +80000750: 610d addi sp,sp,160 +80000752: 8082 ret + Proc_6 (Ident_1, &Enum_Loc); +80000754: 086c addi a1,sp,28 +80000756: 4501 li a0,0 +80000758: 2291 jal 8000089c + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000075a: 004cae03 lw t3,4(s9) +8000075e: 008ca303 lw t1,8(s9) +80000762: 00cca883 lw a7,12(s9) +80000766: 010ca803 lw a6,16(s9) +8000076a: 014ca503 lw a0,20(s9) +8000076e: 018ca583 lw a1,24(s9) +80000772: 01ccd603 lhu a2,28(s9) +80000776: 01ecc703 lbu a4,30(s9) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000077a: 8341c783 lbu a5,-1996(gp) # 800034d4 +8000077e: 0a85 addi s5,s5,1 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +80000780: c0de sw s7,64(sp) +80000782: c2f2 sw t3,68(sp) +80000784: c49a sw t1,72(sp) +80000786: c6c6 sw a7,76(sp) +80000788: c8c2 sw a6,80(sp) +8000078a: caaa sw a0,84(sp) +8000078c: ccae sw a1,88(sp) +8000078e: 04c11e23 sh a2,92(sp) +80000792: 04e10f23 sb a4,94(sp) + Int_Glob = Run_Index; +80000796: 8331ae23 sw s3,-1988(gp) # 800034dc + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000079a: 0ffafa93 andi s5,s5,255 +8000079e: 8a4e mv s4,s3 +800007a0: c357f5e3 bleu s5,a5,800003ca +800007a4: b191 j 800003e8 + printf ("Program compiled without 'register' attribute\n"); +800007a6: 80003537 lui a0,0x80003 +800007aa: d6050513 addi a0,a0,-672 # 80002d60 <_stack_start+0xffffc890> +800007ae: 2455 jal 80000a52 + printf ("\n"); +800007b0: 4529 li a0,10 +800007b2: 24d9 jal 80000a78 +800007b4: be35 j 800002f0 + printf ("Measured time too small to obtain meaningful results\n"); +800007b6: 80003537 lui a0,0x80003 +800007ba: 1a850513 addi a0,a0,424 # 800031a8 <_stack_start+0xffffccd8> +800007be: 2c51 jal 80000a52 + printf ("Please increase number of runs\n"); +800007c0: 80003537 lui a0,0x80003 +800007c4: 1e050513 addi a0,a0,480 # 800031e0 <_stack_start+0xffffcd10> +800007c8: 2469 jal 80000a52 + printf ("\n"); +800007ca: 4529 li a0,10 +800007cc: 2475 jal 80000a78 +800007ce: b7a5 j 80000736 + if(dmipsReal < 10) printf("0"); +800007d0: 03000513 li a0,48 +800007d4: 2455 jal 80000a78 +800007d6: bf81 j 80000726 + +800007d8 : +One_Fifty Int_2_Par_Val; +One_Fifty *Int_Par_Ref; +{ + One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 2; +800007d8: 0509 addi a0,a0,2 + *Int_Par_Ref = Int_2_Par_Val + Int_Loc; +800007da: 95aa add a1,a1,a0 +800007dc: c20c sw a1,0(a2) +} /* Proc_7 */ +800007de: 8082 ret + +800007e0 : + /* Int_Par_Val_2 == 7 */ +Arr_1_Dim Arr_1_Par_Ref; +Arr_2_Dim Arr_2_Par_Ref; +int Int_1_Par_Val; +int Int_2_Par_Val; +{ +800007e0: 1101 addi sp,sp,-32 +800007e2: c64e sw s3,12(sp) + REG One_Fifty Int_Index; + REG One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 5; +800007e4: 00560993 addi s3,a2,5 +{ +800007e8: ca26 sw s1,20(sp) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +800007ea: 00299493 slli s1,s3,0x2 +{ +800007ee: cc22 sw s0,24(sp) +800007f0: c84a sw s2,16(sp) +800007f2: ce06 sw ra,28(sp) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +800007f4: 94aa add s1,s1,a0 +{ +800007f6: 8932 mv s2,a2 +800007f8: 842e mv s0,a1 + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; + Arr_1_Par_Ref [Int_Loc+30] = Int_Loc; +800007fa: 0734ac23 sw s3,120(s1) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +800007fe: c094 sw a3,0(s1) + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; +80000800: c0d4 sw a3,4(s1) + for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +80000802: 854e mv a0,s3 +80000804: 0c800593 li a1,200 +80000808: 3a0020ef jal ra,80002ba8 <__mulsi3> +8000080c: 090a slli s2,s2,0x2 +8000080e: 012507b3 add a5,a0,s2 +80000812: 97a2 add a5,a5,s0 + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +80000814: 4b98 lw a4,16(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +80000816: 0137aa23 sw s3,20(a5) +8000081a: 0137ac23 sw s3,24(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +8000081e: 0705 addi a4,a4,1 +80000820: cb98 sw a4,16(a5) + Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc]; +80000822: 409c lw a5,0(s1) +80000824: 942a add s0,s0,a0 +80000826: 944a add s0,s0,s2 +80000828: 6605 lui a2,0x1 +8000082a: 9432 add s0,s0,a2 +8000082c: faf42a23 sw a5,-76(s0) + Int_Glob = 5; +} /* Proc_8 */ +80000830: 40f2 lw ra,28(sp) +80000832: 4462 lw s0,24(sp) + Int_Glob = 5; +80000834: 4715 li a4,5 +80000836: 82e1ae23 sw a4,-1988(gp) # 800034dc +} /* Proc_8 */ +8000083a: 44d2 lw s1,20(sp) +8000083c: 4942 lw s2,16(sp) +8000083e: 49b2 lw s3,12(sp) +80000840: 6105 addi sp,sp,32 +80000842: 8082 ret + +80000844 : + /* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */ + /* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */ + +Capital_Letter Ch_1_Par_Val; +Capital_Letter Ch_2_Par_Val; +{ +80000844: 0ff57513 andi a0,a0,255 +80000848: 0ff5f593 andi a1,a1,255 + Capital_Letter Ch_1_Loc; + Capital_Letter Ch_2_Loc; + + Ch_1_Loc = Ch_1_Par_Val; + Ch_2_Loc = Ch_1_Loc; + if (Ch_2_Loc != Ch_2_Par_Val) +8000084c: 00b50463 beq a0,a1,80000854 + /* then, executed */ + return (Ident_1); +80000850: 4501 li a0,0 + else /* not executed */ + { + Ch_1_Glob = Ch_1_Loc; + return (Ident_2); + } +} /* Func_1 */ +80000852: 8082 ret + Ch_1_Glob = Ch_1_Loc; +80000854: 82a18aa3 sb a0,-1995(gp) # 800034d5 + return (Ident_2); +80000858: 4505 li a0,1 +8000085a: 8082 ret + +8000085c : + /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */ + /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */ + +Str_30 Str_1_Par_Ref; +Str_30 Str_2_Par_Ref; +{ +8000085c: 1141 addi sp,sp,-16 +8000085e: c422 sw s0,8(sp) +80000860: c226 sw s1,4(sp) +80000862: c606 sw ra,12(sp) +80000864: 842a mv s0,a0 +80000866: 84ae mv s1,a1 + REG One_Thirty Int_Loc; + Capital_Letter Ch_Loc; + + Int_Loc = 2; + while (Int_Loc <= 2) /* loop body executed once */ + if (Func_1 (Str_1_Par_Ref[Int_Loc], +80000868: 0034c583 lbu a1,3(s1) +8000086c: 00244503 lbu a0,2(s0) +80000870: 3fd1 jal 80000844 +80000872: f97d bnez a0,80000868 + if (Ch_Loc == 'R') + /* then, not executed */ + return (true); + else /* executed */ + { + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +80000874: 85a6 mv a1,s1 +80000876: 8522 mv a0,s0 +80000878: 2cf5 jal 80000b74 + Int_Loc += 7; + Int_Glob = Int_Loc; + return (true); + } + else /* executed */ + return (false); +8000087a: 4781 li a5,0 + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +8000087c: 00a05663 blez a0,80000888 + Int_Glob = Int_Loc; +80000880: 4729 li a4,10 +80000882: 82e1ae23 sw a4,-1988(gp) # 800034dc + return (true); +80000886: 4785 li a5,1 + } /* if Ch_Loc */ +} /* Func_2 */ +80000888: 40b2 lw ra,12(sp) +8000088a: 4422 lw s0,8(sp) +8000088c: 4492 lw s1,4(sp) +8000088e: 853e mv a0,a5 +80000890: 0141 addi sp,sp,16 +80000892: 8082 ret + +80000894 : +Enumeration Enum_Par_Val; +{ + Enumeration Enum_Loc; + + Enum_Loc = Enum_Par_Val; + if (Enum_Loc == Ident_3) +80000894: 1579 addi a0,a0,-2 + /* then, executed */ + return (true); + else /* not executed */ + return (false); +} /* Func_3 */ +80000896: 00153513 seqz a0,a0 +8000089a: 8082 ret + +8000089c : +{ +8000089c: 1141 addi sp,sp,-16 +8000089e: c422 sw s0,8(sp) +800008a0: c226 sw s1,4(sp) +800008a2: c606 sw ra,12(sp) +800008a4: 842a mv s0,a0 +800008a6: 84ae mv s1,a1 + if (! Func_3 (Enum_Val_Par)) +800008a8: 37f5 jal 80000894 +800008aa: c115 beqz a0,800008ce + *Enum_Ref_Par = Enum_Val_Par; +800008ac: c080 sw s0,0(s1) + switch (Enum_Val_Par) +800008ae: 4785 li a5,1 +800008b0: 02f40463 beq s0,a5,800008d8 +800008b4: c805 beqz s0,800008e4 +800008b6: 4709 li a4,2 +800008b8: 02e40d63 beq s0,a4,800008f2 +800008bc: 4791 li a5,4 +800008be: 00f41363 bne s0,a5,800008c4 + *Enum_Ref_Par = Ident_3; +800008c2: c098 sw a4,0(s1) +} /* Proc_6 */ +800008c4: 40b2 lw ra,12(sp) +800008c6: 4422 lw s0,8(sp) +800008c8: 4492 lw s1,4(sp) +800008ca: 0141 addi sp,sp,16 +800008cc: 8082 ret + *Enum_Ref_Par = Ident_4; +800008ce: 478d li a5,3 +800008d0: c09c sw a5,0(s1) + switch (Enum_Val_Par) +800008d2: 4785 li a5,1 +800008d4: fef410e3 bne s0,a5,800008b4 + if (Int_Glob > 100) +800008d8: 83c1a703 lw a4,-1988(gp) # 800034dc +800008dc: 06400793 li a5,100 +800008e0: 00e7df63 ble a4,a5,800008fe +} /* Proc_6 */ +800008e4: 40b2 lw ra,12(sp) +800008e6: 4422 lw s0,8(sp) + *Enum_Ref_Par = Ident_1; +800008e8: 0004a023 sw zero,0(s1) +} /* Proc_6 */ +800008ec: 4492 lw s1,4(sp) +800008ee: 0141 addi sp,sp,16 +800008f0: 8082 ret +800008f2: 40b2 lw ra,12(sp) +800008f4: 4422 lw s0,8(sp) + *Enum_Ref_Par = Ident_2; +800008f6: c09c sw a5,0(s1) +} /* Proc_6 */ +800008f8: 4492 lw s1,4(sp) +800008fa: 0141 addi sp,sp,16 +800008fc: 8082 ret +800008fe: 40b2 lw ra,12(sp) +80000900: 4422 lw s0,8(sp) + else *Enum_Ref_Par = Ident_4; +80000902: 478d li a5,3 +80000904: c09c sw a5,0(s1) +} /* Proc_6 */ +80000906: 4492 lw s1,4(sp) +80000908: 0141 addi sp,sp,16 +8000090a: 8082 ret + +8000090c : +{ + putchar(c); +} + +static void printf_s(char *p) +{ +8000090c: 1141 addi sp,sp,-16 +8000090e: c422 sw s0,8(sp) +80000910: c606 sw ra,12(sp) +80000912: 842a mv s0,a0 + while (*p) +80000914: 00054503 lbu a0,0(a0) +80000918: c511 beqz a0,80000924 + putchar(*(p++)); +8000091a: 0405 addi s0,s0,1 +8000091c: 2ab1 jal 80000a78 + while (*p) +8000091e: 00044503 lbu a0,0(s0) +80000922: fd65 bnez a0,8000091a +} +80000924: 40b2 lw ra,12(sp) +80000926: 4422 lw s0,8(sp) +80000928: 0141 addi sp,sp,16 +8000092a: 8082 ret + +8000092c : + putchar(c); +8000092c: a2b1 j 80000a78 + +8000092e : + +static void printf_d(int val) +{ +8000092e: 7179 addi sp,sp,-48 +80000930: d226 sw s1,36(sp) +80000932: d606 sw ra,44(sp) +80000934: d422 sw s0,40(sp) +80000936: d04a sw s2,32(sp) +80000938: 84aa mv s1,a0 + char buffer[32]; + char *p = buffer; + if (val < 0) { +8000093a: 04054263 bltz a0,8000097e +{ +8000093e: 890a mv s2,sp +80000940: 844a mv s0,s2 +80000942: a829 j 8000095c + printf_c('-'); + val = -val; + } + while (val || p == buffer) { + *(p++) = '0' + val % 10; +80000944: 30c020ef jal ra,80002c50 <__modsi3> +80000948: 03050793 addi a5,a0,48 +8000094c: 0405 addi s0,s0,1 + val = val / 10; +8000094e: 8526 mv a0,s1 +80000950: 45a9 li a1,10 + *(p++) = '0' + val % 10; +80000952: fef40fa3 sb a5,-1(s0) + val = val / 10; +80000956: 276020ef jal ra,80002bcc <__divsi3> +8000095a: 84aa mv s1,a0 + *(p++) = '0' + val % 10; +8000095c: 45a9 li a1,10 +8000095e: 8526 mv a0,s1 + while (val || p == buffer) { +80000960: f0f5 bnez s1,80000944 +80000962: ff2401e3 beq s0,s2,80000944 + } + while (p != buffer) + printf_c(*(--p)); +80000966: 147d addi s0,s0,-1 +80000968: 00044503 lbu a0,0(s0) +8000096c: 37c1 jal 8000092c + while (p != buffer) +8000096e: ff241ce3 bne s0,s2,80000966 +} +80000972: 50b2 lw ra,44(sp) +80000974: 5422 lw s0,40(sp) +80000976: 5492 lw s1,36(sp) +80000978: 5902 lw s2,32(sp) +8000097a: 6145 addi sp,sp,48 +8000097c: 8082 ret + printf_c('-'); +8000097e: 02d00513 li a0,45 +80000982: 376d jal 8000092c + val = -val; +80000984: 409004b3 neg s1,s1 +80000988: bf5d j 8000093e + +8000098a : + char *p = heap_memory + heap_memory_used; +8000098a: 8481a703 lw a4,-1976(gp) # 800034e8 + heap_memory_used += size; +8000098e: 00a707b3 add a5,a4,a0 + char *p = heap_memory + heap_memory_used; +80000992: 80006537 lui a0,0x80006 + heap_memory_used += size; +80000996: 84f1a423 sw a5,-1976(gp) # 800034e8 + char *p = heap_memory + heap_memory_used; +8000099a: cc450513 addi a0,a0,-828 # 80005cc4 <_stack_start+0xfffff7f4> + if (heap_memory_used > 1024) +8000099e: 40000693 li a3,1024 + char *p = heap_memory + heap_memory_used; +800009a2: 953a add a0,a0,a4 + if (heap_memory_used > 1024) +800009a4: 00f6d363 ble a5,a3,800009aa + asm volatile ("ebreak"); +800009a8: 9002 ebreak +} +800009aa: 8082 ret + +800009ac : + +int printf(const char *format, ...) +{ +800009ac: 715d addi sp,sp,-80 +800009ae: cc52 sw s4,24(sp) +800009b0: d606 sw ra,44(sp) +800009b2: d422 sw s0,40(sp) +800009b4: d226 sw s1,36(sp) +800009b6: d04a sw s2,32(sp) +800009b8: ce4e sw s3,28(sp) +800009ba: ca56 sw s5,20(sp) +800009bc: 8a2a mv s4,a0 + int i; + va_list ap; + + va_start(ap, format); + + for (i = 0; format[i]; i++) +800009be: 00054503 lbu a0,0(a0) +{ +800009c2: c2be sw a5,68(sp) + va_start(ap, format); +800009c4: 185c addi a5,sp,52 +{ +800009c6: da2e sw a1,52(sp) +800009c8: dc32 sw a2,56(sp) +800009ca: de36 sw a3,60(sp) +800009cc: c0ba sw a4,64(sp) +800009ce: c4c2 sw a6,72(sp) +800009d0: c6c6 sw a7,76(sp) + va_start(ap, format); +800009d2: c63e sw a5,12(sp) + for (i = 0; format[i]; i++) +800009d4: c11d beqz a0,800009fa +800009d6: 4401 li s0,0 + if (format[i] == '%') { +800009d8: 02500a93 li s5,37 + while (format[++i]) { + if (format[i] == 'c') { +800009dc: 06300493 li s1,99 + printf_c(va_arg(ap,int)); + break; + } + if (format[i] == 's') { +800009e0: 07300913 li s2,115 + printf_s(va_arg(ap,char*)); + break; + } + if (format[i] == 'd') { +800009e4: 06400993 li s3,100 + if (format[i] == '%') { +800009e8: 03550263 beq a0,s5,80000a0c + printf_d(va_arg(ap,int)); + break; + } + } + } else + printf_c(format[i]); +800009ec: 3781 jal 8000092c + for (i = 0; format[i]; i++) +800009ee: 0405 addi s0,s0,1 +800009f0: 008a07b3 add a5,s4,s0 +800009f4: 0007c503 lbu a0,0(a5) +800009f8: f965 bnez a0,800009e8 + + va_end(ap); +} +800009fa: 50b2 lw ra,44(sp) +800009fc: 5422 lw s0,40(sp) +800009fe: 5492 lw s1,36(sp) +80000a00: 5902 lw s2,32(sp) +80000a02: 49f2 lw s3,28(sp) +80000a04: 4a62 lw s4,24(sp) +80000a06: 4ad2 lw s5,20(sp) +80000a08: 6161 addi sp,sp,80 +80000a0a: 8082 ret +80000a0c: 00140693 addi a3,s0,1 +80000a10: 00da0733 add a4,s4,a3 +80000a14: a031 j 80000a20 + if (format[i] == 's') { +80000a16: 03278263 beq a5,s2,80000a3a + if (format[i] == 'd') { +80000a1a: 03378663 beq a5,s3,80000a46 +80000a1e: 0685 addi a3,a3,1 + while (format[++i]) { +80000a20: 00074783 lbu a5,0(a4) +80000a24: 8436 mv s0,a3 +80000a26: 0705 addi a4,a4,1 +80000a28: d3f9 beqz a5,800009ee + if (format[i] == 'c') { +80000a2a: fe9796e3 bne a5,s1,80000a16 + printf_c(va_arg(ap,int)); +80000a2e: 47b2 lw a5,12(sp) +80000a30: 4388 lw a0,0(a5) +80000a32: 0791 addi a5,a5,4 +80000a34: c63e sw a5,12(sp) +80000a36: 3ddd jal 8000092c + break; +80000a38: bf5d j 800009ee + printf_s(va_arg(ap,char*)); +80000a3a: 47b2 lw a5,12(sp) +80000a3c: 4388 lw a0,0(a5) +80000a3e: 0791 addi a5,a5,4 +80000a40: c63e sw a5,12(sp) +80000a42: 35e9 jal 8000090c + break; +80000a44: b76d j 800009ee + printf_d(va_arg(ap,int)); +80000a46: 47b2 lw a5,12(sp) +80000a48: 4388 lw a0,0(a5) +80000a4a: 0791 addi a5,a5,4 +80000a4c: c63e sw a5,12(sp) +80000a4e: 35c5 jal 8000092e + break; +80000a50: bf79 j 800009ee + +80000a52 : + + +int puts(char *s){ +80000a52: 1141 addi sp,sp,-16 +80000a54: c422 sw s0,8(sp) +80000a56: c606 sw ra,12(sp) +80000a58: 842a mv s0,a0 + while (*s) { +80000a5a: 00054503 lbu a0,0(a0) +80000a5e: c511 beqz a0,80000a6a + putchar(*s); + s++; +80000a60: 0405 addi s0,s0,1 + putchar(*s); +80000a62: 2819 jal 80000a78 + while (*s) { +80000a64: 00044503 lbu a0,0(s0) +80000a68: fd65 bnez a0,80000a60 + } + putchar('\n'); +80000a6a: 4529 li a0,10 +80000a6c: 2031 jal 80000a78 + return 0; +} +80000a6e: 40b2 lw ra,12(sp) +80000a70: 4422 lw s0,8(sp) +80000a72: 4501 li a0,0 +80000a74: 0141 addi sp,sp,16 +80000a76: 8082 ret + +80000a78 : + +void putchar(char c){ + TEST_COM_BASE[0] = c; +80000a78: f01007b7 lui a5,0xf0100 +80000a7c: f0a7a023 sw a0,-256(a5) # f00fff00 <_stack_start+0x700f9a30> +} +80000a80: 8082 ret + +80000a82 : + +#include +clock_t clock(){ + return TEST_COM_BASE[4]; +80000a82: f01007b7 lui a5,0xf0100 +80000a86: f107a503 lw a0,-240(a5) # f00fff10 <_stack_start+0x700f9a40> +} +80000a8a: 8082 ret + +80000a8c : +80000a8c: 00a5c7b3 xor a5,a1,a0 +80000a90: 0037f793 andi a5,a5,3 +80000a94: 00c50733 add a4,a0,a2 +80000a98: 00079663 bnez a5,80000aa4 +80000a9c: 00300793 li a5,3 +80000aa0: 02c7e463 bltu a5,a2,80000ac8 +80000aa4: 00050793 mv a5,a0 +80000aa8: 00e56c63 bltu a0,a4,80000ac0 +80000aac: 00008067 ret +80000ab0: 0005c683 lbu a3,0(a1) +80000ab4: 00178793 addi a5,a5,1 +80000ab8: 00158593 addi a1,a1,1 +80000abc: fed78fa3 sb a3,-1(a5) +80000ac0: fee7e8e3 bltu a5,a4,80000ab0 +80000ac4: 00008067 ret +80000ac8: 00357793 andi a5,a0,3 +80000acc: 08079263 bnez a5,80000b50 +80000ad0: 00050793 mv a5,a0 +80000ad4: ffc77693 andi a3,a4,-4 +80000ad8: fe068613 addi a2,a3,-32 +80000adc: 08c7f663 bleu a2,a5,80000b68 +80000ae0: 0005a383 lw t2,0(a1) +80000ae4: 0045a283 lw t0,4(a1) +80000ae8: 0085af83 lw t6,8(a1) +80000aec: 00c5af03 lw t5,12(a1) +80000af0: 0105ae83 lw t4,16(a1) +80000af4: 0145ae03 lw t3,20(a1) +80000af8: 0185a303 lw t1,24(a1) +80000afc: 01c5a883 lw a7,28(a1) +80000b00: 02458593 addi a1,a1,36 +80000b04: 02478793 addi a5,a5,36 +80000b08: ffc5a803 lw a6,-4(a1) +80000b0c: fc77ae23 sw t2,-36(a5) +80000b10: fe57a023 sw t0,-32(a5) +80000b14: fff7a223 sw t6,-28(a5) +80000b18: ffe7a423 sw t5,-24(a5) +80000b1c: ffd7a623 sw t4,-20(a5) +80000b20: ffc7a823 sw t3,-16(a5) +80000b24: fe67aa23 sw t1,-12(a5) +80000b28: ff17ac23 sw a7,-8(a5) +80000b2c: ff07ae23 sw a6,-4(a5) +80000b30: fadff06f j 80000adc +80000b34: 0005c683 lbu a3,0(a1) +80000b38: 00178793 addi a5,a5,1 +80000b3c: 00158593 addi a1,a1,1 +80000b40: fed78fa3 sb a3,-1(a5) +80000b44: 0037f693 andi a3,a5,3 +80000b48: fe0696e3 bnez a3,80000b34 +80000b4c: f89ff06f j 80000ad4 +80000b50: 00050793 mv a5,a0 +80000b54: ff1ff06f j 80000b44 +80000b58: 0005a603 lw a2,0(a1) +80000b5c: 00478793 addi a5,a5,4 +80000b60: 00458593 addi a1,a1,4 +80000b64: fec7ae23 sw a2,-4(a5) +80000b68: fed7e8e3 bltu a5,a3,80000b58 +80000b6c: f4e7eae3 bltu a5,a4,80000ac0 +80000b70: 00008067 ret + +80000b74 : +80000b74: 00b56733 or a4,a0,a1 +80000b78: fff00393 li t2,-1 +80000b7c: 00377713 andi a4,a4,3 +80000b80: 10071063 bnez a4,80000c80 +80000b84: 7f7f87b7 lui a5,0x7f7f8 +80000b88: f7f78793 addi a5,a5,-129 # 7f7f7f7f <_stack_size+0x7f7f7b7f> +80000b8c: 00052603 lw a2,0(a0) +80000b90: 0005a683 lw a3,0(a1) +80000b94: 00f672b3 and t0,a2,a5 +80000b98: 00f66333 or t1,a2,a5 +80000b9c: 00f282b3 add t0,t0,a5 +80000ba0: 0062e2b3 or t0,t0,t1 +80000ba4: 10729263 bne t0,t2,80000ca8 +80000ba8: 08d61663 bne a2,a3,80000c34 +80000bac: 00452603 lw a2,4(a0) +80000bb0: 0045a683 lw a3,4(a1) +80000bb4: 00f672b3 and t0,a2,a5 +80000bb8: 00f66333 or t1,a2,a5 +80000bbc: 00f282b3 add t0,t0,a5 +80000bc0: 0062e2b3 or t0,t0,t1 +80000bc4: 0c729e63 bne t0,t2,80000ca0 +80000bc8: 06d61663 bne a2,a3,80000c34 +80000bcc: 00852603 lw a2,8(a0) +80000bd0: 0085a683 lw a3,8(a1) +80000bd4: 00f672b3 and t0,a2,a5 +80000bd8: 00f66333 or t1,a2,a5 +80000bdc: 00f282b3 add t0,t0,a5 +80000be0: 0062e2b3 or t0,t0,t1 +80000be4: 0c729863 bne t0,t2,80000cb4 +80000be8: 04d61663 bne a2,a3,80000c34 +80000bec: 00c52603 lw a2,12(a0) +80000bf0: 00c5a683 lw a3,12(a1) +80000bf4: 00f672b3 and t0,a2,a5 +80000bf8: 00f66333 or t1,a2,a5 +80000bfc: 00f282b3 add t0,t0,a5 +80000c00: 0062e2b3 or t0,t0,t1 +80000c04: 0c729263 bne t0,t2,80000cc8 +80000c08: 02d61663 bne a2,a3,80000c34 +80000c0c: 01052603 lw a2,16(a0) +80000c10: 0105a683 lw a3,16(a1) +80000c14: 00f672b3 and t0,a2,a5 +80000c18: 00f66333 or t1,a2,a5 +80000c1c: 00f282b3 add t0,t0,a5 +80000c20: 0062e2b3 or t0,t0,t1 +80000c24: 0a729c63 bne t0,t2,80000cdc +80000c28: 01450513 addi a0,a0,20 +80000c2c: 01458593 addi a1,a1,20 +80000c30: f4d60ee3 beq a2,a3,80000b8c +80000c34: 01061713 slli a4,a2,0x10 +80000c38: 01069793 slli a5,a3,0x10 +80000c3c: 00f71e63 bne a4,a5,80000c58 +80000c40: 01065713 srli a4,a2,0x10 +80000c44: 0106d793 srli a5,a3,0x10 +80000c48: 40f70533 sub a0,a4,a5 +80000c4c: 0ff57593 andi a1,a0,255 +80000c50: 02059063 bnez a1,80000c70 +80000c54: 00008067 ret +80000c58: 01075713 srli a4,a4,0x10 +80000c5c: 0107d793 srli a5,a5,0x10 +80000c60: 40f70533 sub a0,a4,a5 +80000c64: 0ff57593 andi a1,a0,255 +80000c68: 00059463 bnez a1,80000c70 +80000c6c: 00008067 ret +80000c70: 0ff77713 andi a4,a4,255 +80000c74: 0ff7f793 andi a5,a5,255 +80000c78: 40f70533 sub a0,a4,a5 +80000c7c: 00008067 ret +80000c80: 00054603 lbu a2,0(a0) +80000c84: 0005c683 lbu a3,0(a1) +80000c88: 00150513 addi a0,a0,1 +80000c8c: 00158593 addi a1,a1,1 +80000c90: 00d61463 bne a2,a3,80000c98 +80000c94: fe0616e3 bnez a2,80000c80 +80000c98: 40d60533 sub a0,a2,a3 +80000c9c: 00008067 ret +80000ca0: 00450513 addi a0,a0,4 +80000ca4: 00458593 addi a1,a1,4 +80000ca8: fcd61ce3 bne a2,a3,80000c80 +80000cac: 00000513 li a0,0 +80000cb0: 00008067 ret +80000cb4: 00850513 addi a0,a0,8 +80000cb8: 00858593 addi a1,a1,8 +80000cbc: fcd612e3 bne a2,a3,80000c80 +80000cc0: 00000513 li a0,0 +80000cc4: 00008067 ret +80000cc8: 00c50513 addi a0,a0,12 +80000ccc: 00c58593 addi a1,a1,12 +80000cd0: fad618e3 bne a2,a3,80000c80 +80000cd4: 00000513 li a0,0 +80000cd8: 00008067 ret +80000cdc: 01050513 addi a0,a0,16 +80000ce0: 01058593 addi a1,a1,16 +80000ce4: f8d61ee3 bne a2,a3,80000c80 +80000ce8: 00000513 li a0,0 +80000cec: 00008067 ret + +80000cf0 <__divdf3>: +80000cf0: fb010113 addi sp,sp,-80 +80000cf4: 04812423 sw s0,72(sp) +80000cf8: 03412c23 sw s4,56(sp) +80000cfc: 00100437 lui s0,0x100 +80000d00: 0145da13 srli s4,a1,0x14 +80000d04: 05212023 sw s2,64(sp) +80000d08: 03312e23 sw s3,60(sp) +80000d0c: 03512a23 sw s5,52(sp) +80000d10: 03812423 sw s8,40(sp) +80000d14: fff40413 addi s0,s0,-1 # fffff <_stack_size+0xffbff> +80000d18: 04112623 sw ra,76(sp) +80000d1c: 04912223 sw s1,68(sp) +80000d20: 03612823 sw s6,48(sp) +80000d24: 03712623 sw s7,44(sp) +80000d28: 03912223 sw s9,36(sp) +80000d2c: 03a12023 sw s10,32(sp) +80000d30: 01b12e23 sw s11,28(sp) +80000d34: 7ffa7a13 andi s4,s4,2047 +80000d38: 00050913 mv s2,a0 +80000d3c: 00060c13 mv s8,a2 +80000d40: 00068a93 mv s5,a3 +80000d44: 00b47433 and s0,s0,a1 +80000d48: 01f5d993 srli s3,a1,0x1f +80000d4c: 0a0a0663 beqz s4,80000df8 <__divdf3+0x108> +80000d50: 7ff00793 li a5,2047 +80000d54: 10fa0463 beq s4,a5,80000e5c <__divdf3+0x16c> +80000d58: 00341413 slli s0,s0,0x3 +80000d5c: 008007b7 lui a5,0x800 +80000d60: 00f46433 or s0,s0,a5 +80000d64: 01d55b13 srli s6,a0,0x1d +80000d68: 008b6b33 or s6,s6,s0 +80000d6c: 00351493 slli s1,a0,0x3 +80000d70: c01a0a13 addi s4,s4,-1023 +80000d74: 00000b93 li s7,0 +80000d78: 014ad513 srli a0,s5,0x14 +80000d7c: 00100937 lui s2,0x100 +80000d80: fff90913 addi s2,s2,-1 # fffff <_stack_size+0xffbff> +80000d84: 7ff57513 andi a0,a0,2047 +80000d88: 01597933 and s2,s2,s5 +80000d8c: 000c0593 mv a1,s8 +80000d90: 01fada93 srli s5,s5,0x1f +80000d94: 10050263 beqz a0,80000e98 <__divdf3+0x1a8> +80000d98: 7ff00793 li a5,2047 +80000d9c: 16f50263 beq a0,a5,80000f00 <__divdf3+0x210> +80000da0: 00800437 lui s0,0x800 +80000da4: 00391913 slli s2,s2,0x3 +80000da8: 00896933 or s2,s2,s0 +80000dac: 01dc5413 srli s0,s8,0x1d +80000db0: 01246433 or s0,s0,s2 +80000db4: 003c1593 slli a1,s8,0x3 +80000db8: c0150513 addi a0,a0,-1023 +80000dbc: 00000793 li a5,0 +80000dc0: 002b9713 slli a4,s7,0x2 +80000dc4: 00f76733 or a4,a4,a5 +80000dc8: fff70713 addi a4,a4,-1 +80000dcc: 00e00693 li a3,14 +80000dd0: 0159c933 xor s2,s3,s5 +80000dd4: 40aa0a33 sub s4,s4,a0 +80000dd8: 16e6e063 bltu a3,a4,80000f38 <__divdf3+0x248> +80000ddc: 00002697 auipc a3,0x2 +80000de0: 4d068693 addi a3,a3,1232 # 800032ac +80000de4: 00271713 slli a4,a4,0x2 +80000de8: 00d70733 add a4,a4,a3 +80000dec: 00072703 lw a4,0(a4) +80000df0: 00d70733 add a4,a4,a3 +80000df4: 00070067 jr a4 +80000df8: 00a46b33 or s6,s0,a0 +80000dfc: 060b0e63 beqz s6,80000e78 <__divdf3+0x188> +80000e00: 04040063 beqz s0,80000e40 <__divdf3+0x150> +80000e04: 00040513 mv a0,s0 +80000e08: 679010ef jal ra,80002c80 <__clzsi2> +80000e0c: ff550793 addi a5,a0,-11 +80000e10: 01c00713 li a4,28 +80000e14: 02f74c63 blt a4,a5,80000e4c <__divdf3+0x15c> +80000e18: 01d00b13 li s6,29 +80000e1c: ff850493 addi s1,a0,-8 +80000e20: 40fb0b33 sub s6,s6,a5 +80000e24: 00941433 sll s0,s0,s1 +80000e28: 01695b33 srl s6,s2,s6 +80000e2c: 008b6b33 or s6,s6,s0 +80000e30: 009914b3 sll s1,s2,s1 +80000e34: c0d00a13 li s4,-1011 +80000e38: 40aa0a33 sub s4,s4,a0 +80000e3c: f39ff06f j 80000d74 <__divdf3+0x84> +80000e40: 641010ef jal ra,80002c80 <__clzsi2> +80000e44: 02050513 addi a0,a0,32 +80000e48: fc5ff06f j 80000e0c <__divdf3+0x11c> +80000e4c: fd850413 addi s0,a0,-40 +80000e50: 00891b33 sll s6,s2,s0 +80000e54: 00000493 li s1,0 +80000e58: fddff06f j 80000e34 <__divdf3+0x144> +80000e5c: 00a46b33 or s6,s0,a0 +80000e60: 020b0463 beqz s6,80000e88 <__divdf3+0x198> +80000e64: 00050493 mv s1,a0 +80000e68: 00040b13 mv s6,s0 +80000e6c: 7ff00a13 li s4,2047 +80000e70: 00300b93 li s7,3 +80000e74: f05ff06f j 80000d78 <__divdf3+0x88> +80000e78: 00000493 li s1,0 +80000e7c: 00000a13 li s4,0 +80000e80: 00100b93 li s7,1 +80000e84: ef5ff06f j 80000d78 <__divdf3+0x88> +80000e88: 00000493 li s1,0 +80000e8c: 7ff00a13 li s4,2047 +80000e90: 00200b93 li s7,2 +80000e94: ee5ff06f j 80000d78 <__divdf3+0x88> +80000e98: 01896433 or s0,s2,s8 +80000e9c: 06040e63 beqz s0,80000f18 <__divdf3+0x228> +80000ea0: 04090063 beqz s2,80000ee0 <__divdf3+0x1f0> +80000ea4: 00090513 mv a0,s2 +80000ea8: 5d9010ef jal ra,80002c80 <__clzsi2> +80000eac: ff550793 addi a5,a0,-11 +80000eb0: 01c00713 li a4,28 +80000eb4: 02f74e63 blt a4,a5,80000ef0 <__divdf3+0x200> +80000eb8: 01d00413 li s0,29 +80000ebc: ff850593 addi a1,a0,-8 +80000ec0: 40f40433 sub s0,s0,a5 +80000ec4: 00b91933 sll s2,s2,a1 +80000ec8: 008c5433 srl s0,s8,s0 +80000ecc: 01246433 or s0,s0,s2 +80000ed0: 00bc15b3 sll a1,s8,a1 +80000ed4: c0d00713 li a4,-1011 +80000ed8: 40a70533 sub a0,a4,a0 +80000edc: ee1ff06f j 80000dbc <__divdf3+0xcc> +80000ee0: 000c0513 mv a0,s8 +80000ee4: 59d010ef jal ra,80002c80 <__clzsi2> +80000ee8: 02050513 addi a0,a0,32 +80000eec: fc1ff06f j 80000eac <__divdf3+0x1bc> +80000ef0: fd850413 addi s0,a0,-40 +80000ef4: 008c1433 sll s0,s8,s0 +80000ef8: 00000593 li a1,0 +80000efc: fd9ff06f j 80000ed4 <__divdf3+0x1e4> +80000f00: 01896433 or s0,s2,s8 +80000f04: 02040263 beqz s0,80000f28 <__divdf3+0x238> +80000f08: 00090413 mv s0,s2 +80000f0c: 7ff00513 li a0,2047 +80000f10: 00300793 li a5,3 +80000f14: eadff06f j 80000dc0 <__divdf3+0xd0> +80000f18: 00000593 li a1,0 +80000f1c: 00000513 li a0,0 +80000f20: 00100793 li a5,1 +80000f24: e9dff06f j 80000dc0 <__divdf3+0xd0> +80000f28: 00000593 li a1,0 +80000f2c: 7ff00513 li a0,2047 +80000f30: 00200793 li a5,2 +80000f34: e8dff06f j 80000dc0 <__divdf3+0xd0> +80000f38: 01646663 bltu s0,s6,80000f44 <__divdf3+0x254> +80000f3c: 488b1263 bne s6,s0,800013c0 <__divdf3+0x6d0> +80000f40: 48b4e063 bltu s1,a1,800013c0 <__divdf3+0x6d0> +80000f44: 01fb1693 slli a3,s6,0x1f +80000f48: 0014d713 srli a4,s1,0x1 +80000f4c: 01f49c13 slli s8,s1,0x1f +80000f50: 001b5b13 srli s6,s6,0x1 +80000f54: 00e6e4b3 or s1,a3,a4 +80000f58: 00841413 slli s0,s0,0x8 +80000f5c: 0185dc93 srli s9,a1,0x18 +80000f60: 008cecb3 or s9,s9,s0 +80000f64: 010cda93 srli s5,s9,0x10 +80000f68: 010c9793 slli a5,s9,0x10 +80000f6c: 0107d793 srli a5,a5,0x10 +80000f70: 00859d13 slli s10,a1,0x8 +80000f74: 000b0513 mv a0,s6 +80000f78: 000a8593 mv a1,s5 +80000f7c: 00f12223 sw a5,4(sp) +80000f80: 455010ef jal ra,80002bd4 <__udivsi3> +80000f84: 00050593 mv a1,a0 +80000f88: 00050b93 mv s7,a0 +80000f8c: 010c9513 slli a0,s9,0x10 +80000f90: 01055513 srli a0,a0,0x10 +80000f94: 415010ef jal ra,80002ba8 <__mulsi3> +80000f98: 00050413 mv s0,a0 +80000f9c: 000a8593 mv a1,s5 +80000fa0: 000b0513 mv a0,s6 +80000fa4: 479010ef jal ra,80002c1c <__umodsi3> +80000fa8: 01051513 slli a0,a0,0x10 +80000fac: 0104d713 srli a4,s1,0x10 +80000fb0: 00a76533 or a0,a4,a0 +80000fb4: 000b8993 mv s3,s7 +80000fb8: 00857e63 bleu s0,a0,80000fd4 <__divdf3+0x2e4> +80000fbc: 01950533 add a0,a0,s9 +80000fc0: fffb8993 addi s3,s7,-1 +80000fc4: 01956863 bltu a0,s9,80000fd4 <__divdf3+0x2e4> +80000fc8: 00857663 bleu s0,a0,80000fd4 <__divdf3+0x2e4> +80000fcc: ffeb8993 addi s3,s7,-2 +80000fd0: 01950533 add a0,a0,s9 +80000fd4: 40850433 sub s0,a0,s0 +80000fd8: 000a8593 mv a1,s5 +80000fdc: 00040513 mv a0,s0 +80000fe0: 3f5010ef jal ra,80002bd4 <__udivsi3> +80000fe4: 00050593 mv a1,a0 +80000fe8: 00050b93 mv s7,a0 +80000fec: 010c9513 slli a0,s9,0x10 +80000ff0: 01055513 srli a0,a0,0x10 +80000ff4: 3b5010ef jal ra,80002ba8 <__mulsi3> +80000ff8: 00050b13 mv s6,a0 +80000ffc: 000a8593 mv a1,s5 +80001000: 00040513 mv a0,s0 +80001004: 419010ef jal ra,80002c1c <__umodsi3> +80001008: 01049d93 slli s11,s1,0x10 +8000100c: 01051513 slli a0,a0,0x10 +80001010: 010ddd93 srli s11,s11,0x10 +80001014: 00adedb3 or s11,s11,a0 +80001018: 000b8713 mv a4,s7 +8000101c: 016dfe63 bleu s6,s11,80001038 <__divdf3+0x348> +80001020: 019d8db3 add s11,s11,s9 +80001024: fffb8713 addi a4,s7,-1 +80001028: 019de863 bltu s11,s9,80001038 <__divdf3+0x348> +8000102c: 016df663 bleu s6,s11,80001038 <__divdf3+0x348> +80001030: ffeb8713 addi a4,s7,-2 +80001034: 019d8db3 add s11,s11,s9 +80001038: 01099693 slli a3,s3,0x10 +8000103c: 000104b7 lui s1,0x10 +80001040: 00e6e6b3 or a3,a3,a4 +80001044: 416d8db3 sub s11,s11,s6 +80001048: fff48b13 addi s6,s1,-1 # ffff <_stack_size+0xfbff> +8000104c: 0166f733 and a4,a3,s6 +80001050: 016d7b33 and s6,s10,s6 +80001054: 00070513 mv a0,a4 +80001058: 000b0593 mv a1,s6 +8000105c: 0106d413 srli s0,a3,0x10 +80001060: 00d12623 sw a3,12(sp) +80001064: 00e12423 sw a4,8(sp) +80001068: 341010ef jal ra,80002ba8 <__mulsi3> +8000106c: 00a12223 sw a0,4(sp) +80001070: 000b0593 mv a1,s6 +80001074: 00040513 mv a0,s0 +80001078: 331010ef jal ra,80002ba8 <__mulsi3> +8000107c: 010d5b93 srli s7,s10,0x10 +80001080: 00050993 mv s3,a0 +80001084: 000b8593 mv a1,s7 +80001088: 00040513 mv a0,s0 +8000108c: 31d010ef jal ra,80002ba8 <__mulsi3> +80001090: 00812703 lw a4,8(sp) +80001094: 00050413 mv s0,a0 +80001098: 000b8513 mv a0,s7 +8000109c: 00070593 mv a1,a4 +800010a0: 309010ef jal ra,80002ba8 <__mulsi3> +800010a4: 00412603 lw a2,4(sp) +800010a8: 01350533 add a0,a0,s3 +800010ac: 00c12683 lw a3,12(sp) +800010b0: 01065713 srli a4,a2,0x10 +800010b4: 00a70733 add a4,a4,a0 +800010b8: 01377463 bleu s3,a4,800010c0 <__divdf3+0x3d0> +800010bc: 00940433 add s0,s0,s1 +800010c0: 00010537 lui a0,0x10 +800010c4: fff50513 addi a0,a0,-1 # ffff <_stack_size+0xfbff> +800010c8: 01075493 srli s1,a4,0x10 +800010cc: 00a779b3 and s3,a4,a0 +800010d0: 01099993 slli s3,s3,0x10 +800010d4: 00a67633 and a2,a2,a0 +800010d8: 008484b3 add s1,s1,s0 +800010dc: 00c989b3 add s3,s3,a2 +800010e0: 009de863 bltu s11,s1,800010f0 <__divdf3+0x400> +800010e4: 00068413 mv s0,a3 +800010e8: 049d9463 bne s11,s1,80001130 <__divdf3+0x440> +800010ec: 053c7263 bleu s3,s8,80001130 <__divdf3+0x440> +800010f0: 01ac0c33 add s8,s8,s10 +800010f4: 01ac3733 sltu a4,s8,s10 +800010f8: 01970733 add a4,a4,s9 +800010fc: 00ed8db3 add s11,s11,a4 +80001100: fff68413 addi s0,a3,-1 +80001104: 01bce663 bltu s9,s11,80001110 <__divdf3+0x420> +80001108: 03bc9463 bne s9,s11,80001130 <__divdf3+0x440> +8000110c: 03ac6263 bltu s8,s10,80001130 <__divdf3+0x440> +80001110: 009de663 bltu s11,s1,8000111c <__divdf3+0x42c> +80001114: 01b49e63 bne s1,s11,80001130 <__divdf3+0x440> +80001118: 013c7c63 bleu s3,s8,80001130 <__divdf3+0x440> +8000111c: 01ac0c33 add s8,s8,s10 +80001120: 01ac3733 sltu a4,s8,s10 +80001124: 01970733 add a4,a4,s9 +80001128: ffe68413 addi s0,a3,-2 +8000112c: 00ed8db3 add s11,s11,a4 +80001130: 413c09b3 sub s3,s8,s3 +80001134: 409d84b3 sub s1,s11,s1 +80001138: 013c37b3 sltu a5,s8,s3 +8000113c: 40f484b3 sub s1,s1,a5 +80001140: fff00593 li a1,-1 +80001144: 1a9c8863 beq s9,s1,800012f4 <__divdf3+0x604> +80001148: 000a8593 mv a1,s5 +8000114c: 00048513 mv a0,s1 +80001150: 285010ef jal ra,80002bd4 <__udivsi3> +80001154: 00050593 mv a1,a0 +80001158: 00a12423 sw a0,8(sp) +8000115c: 010c9513 slli a0,s9,0x10 +80001160: 01055513 srli a0,a0,0x10 +80001164: 245010ef jal ra,80002ba8 <__mulsi3> +80001168: 00a12223 sw a0,4(sp) +8000116c: 000a8593 mv a1,s5 +80001170: 00048513 mv a0,s1 +80001174: 2a9010ef jal ra,80002c1c <__umodsi3> +80001178: 00812683 lw a3,8(sp) +8000117c: 00412703 lw a4,4(sp) +80001180: 01051513 slli a0,a0,0x10 +80001184: 0109d793 srli a5,s3,0x10 +80001188: 00a7e533 or a0,a5,a0 +8000118c: 00068d93 mv s11,a3 +80001190: 00e57e63 bleu a4,a0,800011ac <__divdf3+0x4bc> +80001194: 01950533 add a0,a0,s9 +80001198: fff68d93 addi s11,a3,-1 +8000119c: 01956863 bltu a0,s9,800011ac <__divdf3+0x4bc> +800011a0: 00e57663 bleu a4,a0,800011ac <__divdf3+0x4bc> +800011a4: ffe68d93 addi s11,a3,-2 +800011a8: 01950533 add a0,a0,s9 +800011ac: 40e504b3 sub s1,a0,a4 +800011b0: 000a8593 mv a1,s5 +800011b4: 00048513 mv a0,s1 +800011b8: 21d010ef jal ra,80002bd4 <__udivsi3> +800011bc: 00050593 mv a1,a0 +800011c0: 00a12223 sw a0,4(sp) +800011c4: 010c9513 slli a0,s9,0x10 +800011c8: 01055513 srli a0,a0,0x10 +800011cc: 1dd010ef jal ra,80002ba8 <__mulsi3> +800011d0: 00050c13 mv s8,a0 +800011d4: 000a8593 mv a1,s5 +800011d8: 00048513 mv a0,s1 +800011dc: 241010ef jal ra,80002c1c <__umodsi3> +800011e0: 01099993 slli s3,s3,0x10 +800011e4: 00412703 lw a4,4(sp) +800011e8: 01051513 slli a0,a0,0x10 +800011ec: 0109d993 srli s3,s3,0x10 +800011f0: 00a9e533 or a0,s3,a0 +800011f4: 00070793 mv a5,a4 +800011f8: 01857e63 bleu s8,a0,80001214 <__divdf3+0x524> +800011fc: 01950533 add a0,a0,s9 +80001200: fff70793 addi a5,a4,-1 +80001204: 01956863 bltu a0,s9,80001214 <__divdf3+0x524> +80001208: 01857663 bleu s8,a0,80001214 <__divdf3+0x524> +8000120c: ffe70793 addi a5,a4,-2 +80001210: 01950533 add a0,a0,s9 +80001214: 010d9493 slli s1,s11,0x10 +80001218: 00f4e4b3 or s1,s1,a5 +8000121c: 01049793 slli a5,s1,0x10 +80001220: 0107d793 srli a5,a5,0x10 +80001224: 000b0593 mv a1,s6 +80001228: 418509b3 sub s3,a0,s8 +8000122c: 00078513 mv a0,a5 +80001230: 00f12223 sw a5,4(sp) +80001234: 0104dd93 srli s11,s1,0x10 +80001238: 171010ef jal ra,80002ba8 <__mulsi3> +8000123c: 000b0593 mv a1,s6 +80001240: 00050a93 mv s5,a0 +80001244: 000d8513 mv a0,s11 +80001248: 161010ef jal ra,80002ba8 <__mulsi3> +8000124c: 00050c13 mv s8,a0 +80001250: 000d8593 mv a1,s11 +80001254: 000b8513 mv a0,s7 +80001258: 151010ef jal ra,80002ba8 <__mulsi3> +8000125c: 00412783 lw a5,4(sp) +80001260: 00050b13 mv s6,a0 +80001264: 000b8513 mv a0,s7 +80001268: 00078593 mv a1,a5 +8000126c: 13d010ef jal ra,80002ba8 <__mulsi3> +80001270: 01850533 add a0,a0,s8 +80001274: 010ad793 srli a5,s5,0x10 +80001278: 00a78533 add a0,a5,a0 +8000127c: 01857663 bleu s8,a0,80001288 <__divdf3+0x598> +80001280: 000107b7 lui a5,0x10 +80001284: 00fb0b33 add s6,s6,a5 +80001288: 000106b7 lui a3,0x10 +8000128c: fff68693 addi a3,a3,-1 # ffff <_stack_size+0xfbff> +80001290: 01055793 srli a5,a0,0x10 +80001294: 00d57733 and a4,a0,a3 +80001298: 01071713 slli a4,a4,0x10 +8000129c: 00dafab3 and s5,s5,a3 +800012a0: 016787b3 add a5,a5,s6 +800012a4: 01570733 add a4,a4,s5 +800012a8: 00f9e863 bltu s3,a5,800012b8 <__divdf3+0x5c8> +800012ac: 00048593 mv a1,s1 +800012b0: 04f99063 bne s3,a5,800012f0 <__divdf3+0x600> +800012b4: 04070063 beqz a4,800012f4 <__divdf3+0x604> +800012b8: 013c8533 add a0,s9,s3 +800012bc: fff48593 addi a1,s1,-1 +800012c0: 03956463 bltu a0,s9,800012e8 <__divdf3+0x5f8> +800012c4: 00f56663 bltu a0,a5,800012d0 <__divdf3+0x5e0> +800012c8: 02f51463 bne a0,a5,800012f0 <__divdf3+0x600> +800012cc: 02ed7063 bleu a4,s10,800012ec <__divdf3+0x5fc> +800012d0: 001d1693 slli a3,s10,0x1 +800012d4: 01a6bd33 sltu s10,a3,s10 +800012d8: 019d0cb3 add s9,s10,s9 +800012dc: ffe48593 addi a1,s1,-2 +800012e0: 01950533 add a0,a0,s9 +800012e4: 00068d13 mv s10,a3 +800012e8: 00f51463 bne a0,a5,800012f0 <__divdf3+0x600> +800012ec: 01a70463 beq a4,s10,800012f4 <__divdf3+0x604> +800012f0: 0015e593 ori a1,a1,1 +800012f4: 3ffa0713 addi a4,s4,1023 +800012f8: 12e05263 blez a4,8000141c <__divdf3+0x72c> +800012fc: 0075f793 andi a5,a1,7 +80001300: 02078063 beqz a5,80001320 <__divdf3+0x630> +80001304: 00f5f793 andi a5,a1,15 +80001308: 00400693 li a3,4 +8000130c: 00d78a63 beq a5,a3,80001320 <__divdf3+0x630> +80001310: 00458693 addi a3,a1,4 +80001314: 00b6b5b3 sltu a1,a3,a1 +80001318: 00b40433 add s0,s0,a1 +8000131c: 00068593 mv a1,a3 +80001320: 00741793 slli a5,s0,0x7 +80001324: 0007da63 bgez a5,80001338 <__divdf3+0x648> +80001328: ff0007b7 lui a5,0xff000 +8000132c: fff78793 addi a5,a5,-1 # feffffff <_stack_start+0x7eff9b2f> +80001330: 00f47433 and s0,s0,a5 +80001334: 400a0713 addi a4,s4,1024 +80001338: 7fe00793 li a5,2046 +8000133c: 1ae7c263 blt a5,a4,800014e0 <__divdf3+0x7f0> +80001340: 01d41793 slli a5,s0,0x1d +80001344: 0035d593 srli a1,a1,0x3 +80001348: 00b7e7b3 or a5,a5,a1 +8000134c: 00345413 srli s0,s0,0x3 +80001350: 001006b7 lui a3,0x100 +80001354: fff68693 addi a3,a3,-1 # fffff <_stack_size+0xffbff> +80001358: 00d47433 and s0,s0,a3 +8000135c: 801006b7 lui a3,0x80100 +80001360: 7ff77713 andi a4,a4,2047 +80001364: fff68693 addi a3,a3,-1 # 800fffff <_stack_start+0xf9b2f> +80001368: 01471713 slli a4,a4,0x14 +8000136c: 00d47433 and s0,s0,a3 +80001370: 01f91913 slli s2,s2,0x1f +80001374: 00e46433 or s0,s0,a4 +80001378: 01246733 or a4,s0,s2 +8000137c: 04c12083 lw ra,76(sp) +80001380: 04812403 lw s0,72(sp) +80001384: 04412483 lw s1,68(sp) +80001388: 04012903 lw s2,64(sp) +8000138c: 03c12983 lw s3,60(sp) +80001390: 03812a03 lw s4,56(sp) +80001394: 03412a83 lw s5,52(sp) +80001398: 03012b03 lw s6,48(sp) +8000139c: 02c12b83 lw s7,44(sp) +800013a0: 02812c03 lw s8,40(sp) +800013a4: 02412c83 lw s9,36(sp) +800013a8: 02012d03 lw s10,32(sp) +800013ac: 01c12d83 lw s11,28(sp) +800013b0: 00078513 mv a0,a5 +800013b4: 00070593 mv a1,a4 +800013b8: 05010113 addi sp,sp,80 +800013bc: 00008067 ret +800013c0: fffa0a13 addi s4,s4,-1 +800013c4: 00000c13 li s8,0 +800013c8: b91ff06f j 80000f58 <__divdf3+0x268> +800013cc: 00098913 mv s2,s3 +800013d0: 000b0413 mv s0,s6 +800013d4: 00048593 mv a1,s1 +800013d8: 000b8793 mv a5,s7 +800013dc: 00200713 li a4,2 +800013e0: 10e78063 beq a5,a4,800014e0 <__divdf3+0x7f0> +800013e4: 00300713 li a4,3 +800013e8: 0ee78263 beq a5,a4,800014cc <__divdf3+0x7dc> +800013ec: 00100713 li a4,1 +800013f0: f0e792e3 bne a5,a4,800012f4 <__divdf3+0x604> +800013f4: 00000413 li s0,0 +800013f8: 00000793 li a5,0 +800013fc: 0940006f j 80001490 <__divdf3+0x7a0> +80001400: 000a8913 mv s2,s5 +80001404: fd9ff06f j 800013dc <__divdf3+0x6ec> +80001408: 00080437 lui s0,0x80 +8000140c: 00000593 li a1,0 +80001410: 00000913 li s2,0 +80001414: 00300793 li a5,3 +80001418: fc5ff06f j 800013dc <__divdf3+0x6ec> +8000141c: 00100693 li a3,1 +80001420: 40e686b3 sub a3,a3,a4 +80001424: 03800793 li a5,56 +80001428: fcd7c6e3 blt a5,a3,800013f4 <__divdf3+0x704> +8000142c: 01f00793 li a5,31 +80001430: 06d7c463 blt a5,a3,80001498 <__divdf3+0x7a8> +80001434: 41ea0a13 addi s4,s4,1054 +80001438: 014417b3 sll a5,s0,s4 +8000143c: 00d5d733 srl a4,a1,a3 +80001440: 01459a33 sll s4,a1,s4 +80001444: 00e7e7b3 or a5,a5,a4 +80001448: 01403a33 snez s4,s4 +8000144c: 0147e7b3 or a5,a5,s4 +80001450: 00d45433 srl s0,s0,a3 +80001454: 0077f713 andi a4,a5,7 +80001458: 02070063 beqz a4,80001478 <__divdf3+0x788> +8000145c: 00f7f713 andi a4,a5,15 +80001460: 00400693 li a3,4 +80001464: 00d70a63 beq a4,a3,80001478 <__divdf3+0x788> +80001468: 00478713 addi a4,a5,4 +8000146c: 00f737b3 sltu a5,a4,a5 +80001470: 00f40433 add s0,s0,a5 +80001474: 00070793 mv a5,a4 +80001478: 00841713 slli a4,s0,0x8 +8000147c: 06074a63 bltz a4,800014f0 <__divdf3+0x800> +80001480: 01d41713 slli a4,s0,0x1d +80001484: 0037d793 srli a5,a5,0x3 +80001488: 00f767b3 or a5,a4,a5 +8000148c: 00345413 srli s0,s0,0x3 +80001490: 00000713 li a4,0 +80001494: ebdff06f j 80001350 <__divdf3+0x660> +80001498: fe100793 li a5,-31 +8000149c: 40e787b3 sub a5,a5,a4 +800014a0: 02000713 li a4,32 +800014a4: 00f457b3 srl a5,s0,a5 +800014a8: 00000513 li a0,0 +800014ac: 00e68663 beq a3,a4,800014b8 <__divdf3+0x7c8> +800014b0: 43ea0a13 addi s4,s4,1086 +800014b4: 01441533 sll a0,s0,s4 +800014b8: 00b56a33 or s4,a0,a1 +800014bc: 01403a33 snez s4,s4 +800014c0: 0147e7b3 or a5,a5,s4 +800014c4: 00000413 li s0,0 +800014c8: f8dff06f j 80001454 <__divdf3+0x764> +800014cc: 00080437 lui s0,0x80 +800014d0: 00000793 li a5,0 +800014d4: 7ff00713 li a4,2047 +800014d8: 00000913 li s2,0 +800014dc: e75ff06f j 80001350 <__divdf3+0x660> +800014e0: 00000413 li s0,0 +800014e4: 00000793 li a5,0 +800014e8: 7ff00713 li a4,2047 +800014ec: e65ff06f j 80001350 <__divdf3+0x660> +800014f0: 00000413 li s0,0 +800014f4: 00000793 li a5,0 +800014f8: 00100713 li a4,1 +800014fc: e55ff06f j 80001350 <__divdf3+0x660> + +80001500 <__muldf3>: +80001500: fa010113 addi sp,sp,-96 +80001504: 04812c23 sw s0,88(sp) +80001508: 05312623 sw s3,76(sp) +8000150c: 00100437 lui s0,0x100 +80001510: 0145d993 srli s3,a1,0x14 +80001514: 04912a23 sw s1,84(sp) +80001518: 05612023 sw s6,64(sp) +8000151c: 03712e23 sw s7,60(sp) +80001520: 03812c23 sw s8,56(sp) +80001524: fff40413 addi s0,s0,-1 # fffff <_stack_size+0xffbff> +80001528: 04112e23 sw ra,92(sp) +8000152c: 05212823 sw s2,80(sp) +80001530: 05412423 sw s4,72(sp) +80001534: 05512223 sw s5,68(sp) +80001538: 03912a23 sw s9,52(sp) +8000153c: 03a12823 sw s10,48(sp) +80001540: 03b12623 sw s11,44(sp) +80001544: 7ff9f993 andi s3,s3,2047 +80001548: 00050493 mv s1,a0 +8000154c: 00060b93 mv s7,a2 +80001550: 00068c13 mv s8,a3 +80001554: 00b47433 and s0,s0,a1 +80001558: 01f5db13 srli s6,a1,0x1f +8000155c: 0a098863 beqz s3,8000160c <__muldf3+0x10c> +80001560: 7ff00793 li a5,2047 +80001564: 10f98663 beq s3,a5,80001670 <__muldf3+0x170> +80001568: 00800937 lui s2,0x800 +8000156c: 00341413 slli s0,s0,0x3 +80001570: 01246433 or s0,s0,s2 +80001574: 01d55913 srli s2,a0,0x1d +80001578: 00896933 or s2,s2,s0 +8000157c: 00351d13 slli s10,a0,0x3 +80001580: c0198993 addi s3,s3,-1023 +80001584: 00000c93 li s9,0 +80001588: 014c5513 srli a0,s8,0x14 +8000158c: 00100a37 lui s4,0x100 +80001590: fffa0a13 addi s4,s4,-1 # fffff <_stack_size+0xffbff> +80001594: 7ff57513 andi a0,a0,2047 +80001598: 018a7a33 and s4,s4,s8 +8000159c: 000b8493 mv s1,s7 +800015a0: 01fc5c13 srli s8,s8,0x1f +800015a4: 10050463 beqz a0,800016ac <__muldf3+0x1ac> +800015a8: 7ff00793 li a5,2047 +800015ac: 16f50463 beq a0,a5,80001714 <__muldf3+0x214> +800015b0: 00800437 lui s0,0x800 +800015b4: 003a1a13 slli s4,s4,0x3 +800015b8: 008a6a33 or s4,s4,s0 +800015bc: 01dbd413 srli s0,s7,0x1d +800015c0: 01446433 or s0,s0,s4 +800015c4: 003b9493 slli s1,s7,0x3 +800015c8: c0150513 addi a0,a0,-1023 +800015cc: 00000793 li a5,0 +800015d0: 002c9713 slli a4,s9,0x2 +800015d4: 00f76733 or a4,a4,a5 +800015d8: 00a989b3 add s3,s3,a0 +800015dc: fff70713 addi a4,a4,-1 +800015e0: 00e00693 li a3,14 +800015e4: 018b4bb3 xor s7,s6,s8 +800015e8: 00198a93 addi s5,s3,1 +800015ec: 16e6e063 bltu a3,a4,8000174c <__muldf3+0x24c> +800015f0: 00002697 auipc a3,0x2 +800015f4: cf868693 addi a3,a3,-776 # 800032e8 +800015f8: 00271713 slli a4,a4,0x2 +800015fc: 00d70733 add a4,a4,a3 +80001600: 00072703 lw a4,0(a4) +80001604: 00d70733 add a4,a4,a3 +80001608: 00070067 jr a4 +8000160c: 00a46933 or s2,s0,a0 +80001610: 06090e63 beqz s2,8000168c <__muldf3+0x18c> +80001614: 04040063 beqz s0,80001654 <__muldf3+0x154> +80001618: 00040513 mv a0,s0 +8000161c: 664010ef jal ra,80002c80 <__clzsi2> +80001620: ff550793 addi a5,a0,-11 +80001624: 01c00713 li a4,28 +80001628: 02f74c63 blt a4,a5,80001660 <__muldf3+0x160> +8000162c: 01d00913 li s2,29 +80001630: ff850d13 addi s10,a0,-8 +80001634: 40f90933 sub s2,s2,a5 +80001638: 01a41433 sll s0,s0,s10 +8000163c: 0124d933 srl s2,s1,s2 +80001640: 00896933 or s2,s2,s0 +80001644: 01a49d33 sll s10,s1,s10 +80001648: c0d00993 li s3,-1011 +8000164c: 40a989b3 sub s3,s3,a0 +80001650: f35ff06f j 80001584 <__muldf3+0x84> +80001654: 62c010ef jal ra,80002c80 <__clzsi2> +80001658: 02050513 addi a0,a0,32 +8000165c: fc5ff06f j 80001620 <__muldf3+0x120> +80001660: fd850913 addi s2,a0,-40 +80001664: 01249933 sll s2,s1,s2 +80001668: 00000d13 li s10,0 +8000166c: fddff06f j 80001648 <__muldf3+0x148> +80001670: 00a46933 or s2,s0,a0 +80001674: 02090463 beqz s2,8000169c <__muldf3+0x19c> +80001678: 00050d13 mv s10,a0 +8000167c: 00040913 mv s2,s0 +80001680: 7ff00993 li s3,2047 +80001684: 00300c93 li s9,3 +80001688: f01ff06f j 80001588 <__muldf3+0x88> +8000168c: 00000d13 li s10,0 +80001690: 00000993 li s3,0 +80001694: 00100c93 li s9,1 +80001698: ef1ff06f j 80001588 <__muldf3+0x88> +8000169c: 00000d13 li s10,0 +800016a0: 7ff00993 li s3,2047 +800016a4: 00200c93 li s9,2 +800016a8: ee1ff06f j 80001588 <__muldf3+0x88> +800016ac: 017a6433 or s0,s4,s7 +800016b0: 06040e63 beqz s0,8000172c <__muldf3+0x22c> +800016b4: 040a0063 beqz s4,800016f4 <__muldf3+0x1f4> +800016b8: 000a0513 mv a0,s4 +800016bc: 5c4010ef jal ra,80002c80 <__clzsi2> +800016c0: ff550793 addi a5,a0,-11 +800016c4: 01c00713 li a4,28 +800016c8: 02f74e63 blt a4,a5,80001704 <__muldf3+0x204> +800016cc: 01d00413 li s0,29 +800016d0: ff850493 addi s1,a0,-8 +800016d4: 40f40433 sub s0,s0,a5 +800016d8: 009a1a33 sll s4,s4,s1 +800016dc: 008bd433 srl s0,s7,s0 +800016e0: 01446433 or s0,s0,s4 +800016e4: 009b94b3 sll s1,s7,s1 +800016e8: c0d00793 li a5,-1011 +800016ec: 40a78533 sub a0,a5,a0 +800016f0: eddff06f j 800015cc <__muldf3+0xcc> +800016f4: 000b8513 mv a0,s7 +800016f8: 588010ef jal ra,80002c80 <__clzsi2> +800016fc: 02050513 addi a0,a0,32 +80001700: fc1ff06f j 800016c0 <__muldf3+0x1c0> +80001704: fd850413 addi s0,a0,-40 +80001708: 008b9433 sll s0,s7,s0 +8000170c: 00000493 li s1,0 +80001710: fd9ff06f j 800016e8 <__muldf3+0x1e8> +80001714: 017a6433 or s0,s4,s7 +80001718: 02040263 beqz s0,8000173c <__muldf3+0x23c> +8000171c: 000a0413 mv s0,s4 +80001720: 7ff00513 li a0,2047 +80001724: 00300793 li a5,3 +80001728: ea9ff06f j 800015d0 <__muldf3+0xd0> +8000172c: 00000493 li s1,0 +80001730: 00000513 li a0,0 +80001734: 00100793 li a5,1 +80001738: e99ff06f j 800015d0 <__muldf3+0xd0> +8000173c: 00000493 li s1,0 +80001740: 7ff00513 li a0,2047 +80001744: 00200793 li a5,2 +80001748: e89ff06f j 800015d0 <__muldf3+0xd0> +8000174c: 00010737 lui a4,0x10 +80001750: fff70a13 addi s4,a4,-1 # ffff <_stack_size+0xfbff> +80001754: 010d5c13 srli s8,s10,0x10 +80001758: 0104dd93 srli s11,s1,0x10 +8000175c: 014d7d33 and s10,s10,s4 +80001760: 0144f4b3 and s1,s1,s4 +80001764: 000d0593 mv a1,s10 +80001768: 00048513 mv a0,s1 +8000176c: 00e12823 sw a4,16(sp) +80001770: 438010ef jal ra,80002ba8 <__mulsi3> +80001774: 00050c93 mv s9,a0 +80001778: 00048593 mv a1,s1 +8000177c: 000c0513 mv a0,s8 +80001780: 428010ef jal ra,80002ba8 <__mulsi3> +80001784: 00a12623 sw a0,12(sp) +80001788: 000d8593 mv a1,s11 +8000178c: 000c0513 mv a0,s8 +80001790: 418010ef jal ra,80002ba8 <__mulsi3> +80001794: 00050b13 mv s6,a0 +80001798: 000d0593 mv a1,s10 +8000179c: 000d8513 mv a0,s11 +800017a0: 408010ef jal ra,80002ba8 <__mulsi3> +800017a4: 00c12683 lw a3,12(sp) +800017a8: 010cd793 srli a5,s9,0x10 +800017ac: 00d50533 add a0,a0,a3 +800017b0: 00a78533 add a0,a5,a0 +800017b4: 00d57663 bleu a3,a0,800017c0 <__muldf3+0x2c0> +800017b8: 01012703 lw a4,16(sp) +800017bc: 00eb0b33 add s6,s6,a4 +800017c0: 01055693 srli a3,a0,0x10 +800017c4: 01457533 and a0,a0,s4 +800017c8: 014cfcb3 and s9,s9,s4 +800017cc: 01051513 slli a0,a0,0x10 +800017d0: 019507b3 add a5,a0,s9 +800017d4: 01045c93 srli s9,s0,0x10 +800017d8: 01447433 and s0,s0,s4 +800017dc: 000d0593 mv a1,s10 +800017e0: 00040513 mv a0,s0 +800017e4: 00d12a23 sw a3,20(sp) +800017e8: 00f12623 sw a5,12(sp) +800017ec: 3bc010ef jal ra,80002ba8 <__mulsi3> +800017f0: 00a12823 sw a0,16(sp) +800017f4: 00040593 mv a1,s0 +800017f8: 000c0513 mv a0,s8 +800017fc: 3ac010ef jal ra,80002ba8 <__mulsi3> +80001800: 00050a13 mv s4,a0 +80001804: 000c8593 mv a1,s9 +80001808: 000c0513 mv a0,s8 +8000180c: 39c010ef jal ra,80002ba8 <__mulsi3> +80001810: 00050c13 mv s8,a0 +80001814: 000d0593 mv a1,s10 +80001818: 000c8513 mv a0,s9 +8000181c: 38c010ef jal ra,80002ba8 <__mulsi3> +80001820: 01012703 lw a4,16(sp) +80001824: 01450533 add a0,a0,s4 +80001828: 01412683 lw a3,20(sp) +8000182c: 01075793 srli a5,a4,0x10 +80001830: 00a78533 add a0,a5,a0 +80001834: 01457663 bleu s4,a0,80001840 <__muldf3+0x340> +80001838: 000107b7 lui a5,0x10 +8000183c: 00fc0c33 add s8,s8,a5 +80001840: 00010637 lui a2,0x10 +80001844: 01055793 srli a5,a0,0x10 +80001848: 01878c33 add s8,a5,s8 +8000184c: fff60793 addi a5,a2,-1 # ffff <_stack_size+0xfbff> +80001850: 00f57a33 and s4,a0,a5 +80001854: 00f77733 and a4,a4,a5 +80001858: 010a1a13 slli s4,s4,0x10 +8000185c: 01095d13 srli s10,s2,0x10 +80001860: 00ea0a33 add s4,s4,a4 +80001864: 00f97933 and s2,s2,a5 +80001868: 01468733 add a4,a3,s4 +8000186c: 00090593 mv a1,s2 +80001870: 00048513 mv a0,s1 +80001874: 00e12823 sw a4,16(sp) +80001878: 00c12e23 sw a2,28(sp) +8000187c: 32c010ef jal ra,80002ba8 <__mulsi3> +80001880: 00048593 mv a1,s1 +80001884: 00a12c23 sw a0,24(sp) +80001888: 000d0513 mv a0,s10 +8000188c: 31c010ef jal ra,80002ba8 <__mulsi3> +80001890: 00a12a23 sw a0,20(sp) +80001894: 000d0593 mv a1,s10 +80001898: 000d8513 mv a0,s11 +8000189c: 30c010ef jal ra,80002ba8 <__mulsi3> +800018a0: 00050493 mv s1,a0 +800018a4: 00090593 mv a1,s2 +800018a8: 000d8513 mv a0,s11 +800018ac: 2fc010ef jal ra,80002ba8 <__mulsi3> +800018b0: 01412683 lw a3,20(sp) +800018b4: 01812703 lw a4,24(sp) +800018b8: 00d50533 add a0,a0,a3 +800018bc: 01075793 srli a5,a4,0x10 +800018c0: 00a78533 add a0,a5,a0 +800018c4: 00d57663 bleu a3,a0,800018d0 <__muldf3+0x3d0> +800018c8: 01c12603 lw a2,28(sp) +800018cc: 00c484b3 add s1,s1,a2 +800018d0: 000106b7 lui a3,0x10 +800018d4: fff68793 addi a5,a3,-1 # ffff <_stack_size+0xfbff> +800018d8: 01055d93 srli s11,a0,0x10 +800018dc: 009d84b3 add s1,s11,s1 +800018e0: 00f57db3 and s11,a0,a5 +800018e4: 00f77733 and a4,a4,a5 +800018e8: 00090593 mv a1,s2 +800018ec: 00040513 mv a0,s0 +800018f0: 010d9d93 slli s11,s11,0x10 +800018f4: 00ed8db3 add s11,s11,a4 +800018f8: 00d12c23 sw a3,24(sp) +800018fc: 2ac010ef jal ra,80002ba8 <__mulsi3> +80001900: 00040593 mv a1,s0 +80001904: 00a12a23 sw a0,20(sp) +80001908: 000d0513 mv a0,s10 +8000190c: 29c010ef jal ra,80002ba8 <__mulsi3> +80001910: 000d0593 mv a1,s10 +80001914: 00050413 mv s0,a0 +80001918: 000c8513 mv a0,s9 +8000191c: 28c010ef jal ra,80002ba8 <__mulsi3> +80001920: 00050d13 mv s10,a0 +80001924: 00090593 mv a1,s2 +80001928: 000c8513 mv a0,s9 +8000192c: 27c010ef jal ra,80002ba8 <__mulsi3> +80001930: 01412703 lw a4,20(sp) +80001934: 00850533 add a0,a0,s0 +80001938: 01075793 srli a5,a4,0x10 +8000193c: 00a78533 add a0,a5,a0 +80001940: 00857663 bleu s0,a0,8000194c <__muldf3+0x44c> +80001944: 01812683 lw a3,24(sp) +80001948: 00dd0d33 add s10,s10,a3 +8000194c: 01012783 lw a5,16(sp) +80001950: 000106b7 lui a3,0x10 +80001954: fff68693 addi a3,a3,-1 # ffff <_stack_size+0xfbff> +80001958: 00fb0b33 add s6,s6,a5 +8000195c: 00d577b3 and a5,a0,a3 +80001960: 00d77733 and a4,a4,a3 +80001964: 01079793 slli a5,a5,0x10 +80001968: 00e787b3 add a5,a5,a4 +8000196c: 014b3a33 sltu s4,s6,s4 +80001970: 018787b3 add a5,a5,s8 +80001974: 01478433 add s0,a5,s4 +80001978: 01bb0b33 add s6,s6,s11 +8000197c: 00940733 add a4,s0,s1 +80001980: 01bb3db3 sltu s11,s6,s11 +80001984: 01b706b3 add a3,a4,s11 +80001988: 0187bc33 sltu s8,a5,s8 +8000198c: 01443433 sltu s0,s0,s4 +80001990: 01055793 srli a5,a0,0x10 +80001994: 00973733 sltu a4,a4,s1 +80001998: 008c6433 or s0,s8,s0 +8000199c: 01b6bdb3 sltu s11,a3,s11 +800019a0: 00f40433 add s0,s0,a5 +800019a4: 01b76db3 or s11,a4,s11 +800019a8: 01b40433 add s0,s0,s11 +800019ac: 01a40433 add s0,s0,s10 +800019b0: 0176d793 srli a5,a3,0x17 +800019b4: 00941413 slli s0,s0,0x9 +800019b8: 00f46433 or s0,s0,a5 +800019bc: 00c12783 lw a5,12(sp) +800019c0: 009b1493 slli s1,s6,0x9 +800019c4: 017b5b13 srli s6,s6,0x17 +800019c8: 00f4e4b3 or s1,s1,a5 +800019cc: 009034b3 snez s1,s1 +800019d0: 00969793 slli a5,a3,0x9 +800019d4: 0164e4b3 or s1,s1,s6 +800019d8: 00f4e4b3 or s1,s1,a5 +800019dc: 00741793 slli a5,s0,0x7 +800019e0: 1207d263 bgez a5,80001b04 <__muldf3+0x604> +800019e4: 0014d793 srli a5,s1,0x1 +800019e8: 0014f493 andi s1,s1,1 +800019ec: 0097e4b3 or s1,a5,s1 +800019f0: 01f41793 slli a5,s0,0x1f +800019f4: 00f4e4b3 or s1,s1,a5 +800019f8: 00145413 srli s0,s0,0x1 +800019fc: 3ffa8713 addi a4,s5,1023 +80001a00: 10e05663 blez a4,80001b0c <__muldf3+0x60c> +80001a04: 0074f793 andi a5,s1,7 +80001a08: 02078063 beqz a5,80001a28 <__muldf3+0x528> +80001a0c: 00f4f793 andi a5,s1,15 +80001a10: 00400693 li a3,4 +80001a14: 00d78a63 beq a5,a3,80001a28 <__muldf3+0x528> +80001a18: 00448793 addi a5,s1,4 +80001a1c: 0097b4b3 sltu s1,a5,s1 +80001a20: 00940433 add s0,s0,s1 +80001a24: 00078493 mv s1,a5 +80001a28: 00741793 slli a5,s0,0x7 +80001a2c: 0007da63 bgez a5,80001a40 <__muldf3+0x540> +80001a30: ff0007b7 lui a5,0xff000 +80001a34: fff78793 addi a5,a5,-1 # feffffff <_stack_start+0x7eff9b2f> +80001a38: 00f47433 and s0,s0,a5 +80001a3c: 400a8713 addi a4,s5,1024 +80001a40: 7fe00793 li a5,2046 +80001a44: 18e7c663 blt a5,a4,80001bd0 <__muldf3+0x6d0> +80001a48: 0034da93 srli s5,s1,0x3 +80001a4c: 01d41493 slli s1,s0,0x1d +80001a50: 0154e4b3 or s1,s1,s5 +80001a54: 00345413 srli s0,s0,0x3 +80001a58: 001007b7 lui a5,0x100 +80001a5c: fff78793 addi a5,a5,-1 # fffff <_stack_size+0xffbff> +80001a60: 00f47433 and s0,s0,a5 +80001a64: 7ff77793 andi a5,a4,2047 +80001a68: 80100737 lui a4,0x80100 +80001a6c: fff70713 addi a4,a4,-1 # 800fffff <_stack_start+0xf9b2f> +80001a70: 01479793 slli a5,a5,0x14 +80001a74: 00e47433 and s0,s0,a4 +80001a78: 01fb9b93 slli s7,s7,0x1f +80001a7c: 00f46433 or s0,s0,a5 +80001a80: 017467b3 or a5,s0,s7 +80001a84: 05c12083 lw ra,92(sp) +80001a88: 05812403 lw s0,88(sp) +80001a8c: 00048513 mv a0,s1 +80001a90: 05012903 lw s2,80(sp) +80001a94: 05412483 lw s1,84(sp) +80001a98: 04c12983 lw s3,76(sp) +80001a9c: 04812a03 lw s4,72(sp) +80001aa0: 04412a83 lw s5,68(sp) +80001aa4: 04012b03 lw s6,64(sp) +80001aa8: 03c12b83 lw s7,60(sp) +80001aac: 03812c03 lw s8,56(sp) +80001ab0: 03412c83 lw s9,52(sp) +80001ab4: 03012d03 lw s10,48(sp) +80001ab8: 02c12d83 lw s11,44(sp) +80001abc: 00078593 mv a1,a5 +80001ac0: 06010113 addi sp,sp,96 +80001ac4: 00008067 ret +80001ac8: 000b0b93 mv s7,s6 +80001acc: 00090413 mv s0,s2 +80001ad0: 000d0493 mv s1,s10 +80001ad4: 000c8793 mv a5,s9 +80001ad8: 00200713 li a4,2 +80001adc: 0ee78a63 beq a5,a4,80001bd0 <__muldf3+0x6d0> +80001ae0: 00300713 li a4,3 +80001ae4: 0ce78c63 beq a5,a4,80001bbc <__muldf3+0x6bc> +80001ae8: 00100713 li a4,1 +80001aec: f0e798e3 bne a5,a4,800019fc <__muldf3+0x4fc> +80001af0: 00000413 li s0,0 +80001af4: 00000493 li s1,0 +80001af8: 0880006f j 80001b80 <__muldf3+0x680> +80001afc: 000c0b93 mv s7,s8 +80001b00: fd9ff06f j 80001ad8 <__muldf3+0x5d8> +80001b04: 00098a93 mv s5,s3 +80001b08: ef5ff06f j 800019fc <__muldf3+0x4fc> +80001b0c: 00100693 li a3,1 +80001b10: 40e686b3 sub a3,a3,a4 +80001b14: 03800793 li a5,56 +80001b18: fcd7cce3 blt a5,a3,80001af0 <__muldf3+0x5f0> +80001b1c: 01f00793 li a5,31 +80001b20: 06d7c463 blt a5,a3,80001b88 <__muldf3+0x688> +80001b24: 41ea8a93 addi s5,s5,1054 +80001b28: 015417b3 sll a5,s0,s5 +80001b2c: 00d4d733 srl a4,s1,a3 +80001b30: 015494b3 sll s1,s1,s5 +80001b34: 00e7e7b3 or a5,a5,a4 +80001b38: 009034b3 snez s1,s1 +80001b3c: 0097e4b3 or s1,a5,s1 +80001b40: 00d45433 srl s0,s0,a3 +80001b44: 0074f793 andi a5,s1,7 +80001b48: 02078063 beqz a5,80001b68 <__muldf3+0x668> +80001b4c: 00f4f793 andi a5,s1,15 +80001b50: 00400713 li a4,4 +80001b54: 00e78a63 beq a5,a4,80001b68 <__muldf3+0x668> +80001b58: 00448793 addi a5,s1,4 +80001b5c: 0097b4b3 sltu s1,a5,s1 +80001b60: 00940433 add s0,s0,s1 +80001b64: 00078493 mv s1,a5 +80001b68: 00841793 slli a5,s0,0x8 +80001b6c: 0607ca63 bltz a5,80001be0 <__muldf3+0x6e0> +80001b70: 01d41793 slli a5,s0,0x1d +80001b74: 0034d493 srli s1,s1,0x3 +80001b78: 0097e4b3 or s1,a5,s1 +80001b7c: 00345413 srli s0,s0,0x3 +80001b80: 00000713 li a4,0 +80001b84: ed5ff06f j 80001a58 <__muldf3+0x558> +80001b88: fe100793 li a5,-31 +80001b8c: 40e787b3 sub a5,a5,a4 +80001b90: 02000613 li a2,32 +80001b94: 00f457b3 srl a5,s0,a5 +80001b98: 00000713 li a4,0 +80001b9c: 00c68663 beq a3,a2,80001ba8 <__muldf3+0x6a8> +80001ba0: 43ea8a93 addi s5,s5,1086 +80001ba4: 01541733 sll a4,s0,s5 +80001ba8: 009764b3 or s1,a4,s1 +80001bac: 009034b3 snez s1,s1 +80001bb0: 0097e4b3 or s1,a5,s1 +80001bb4: 00000413 li s0,0 +80001bb8: f8dff06f j 80001b44 <__muldf3+0x644> +80001bbc: 00080437 lui s0,0x80 +80001bc0: 00000493 li s1,0 +80001bc4: 7ff00713 li a4,2047 +80001bc8: 00000b93 li s7,0 +80001bcc: e8dff06f j 80001a58 <__muldf3+0x558> +80001bd0: 00000413 li s0,0 +80001bd4: 00000493 li s1,0 +80001bd8: 7ff00713 li a4,2047 +80001bdc: e7dff06f j 80001a58 <__muldf3+0x558> +80001be0: 00000413 li s0,0 +80001be4: 00000493 li s1,0 +80001be8: 00100713 li a4,1 +80001bec: e6dff06f j 80001a58 <__muldf3+0x558> + +80001bf0 <__divsf3>: +80001bf0: fd010113 addi sp,sp,-48 +80001bf4: 02912223 sw s1,36(sp) +80001bf8: 01512a23 sw s5,20(sp) +80001bfc: 01755493 srli s1,a0,0x17 +80001c00: 00800ab7 lui s5,0x800 +80001c04: 03212023 sw s2,32(sp) +80001c08: 01612823 sw s6,16(sp) +80001c0c: fffa8a93 addi s5,s5,-1 # 7fffff <_stack_size+0x7ffbff> +80001c10: 02112623 sw ra,44(sp) +80001c14: 02812423 sw s0,40(sp) +80001c18: 01312e23 sw s3,28(sp) +80001c1c: 01412c23 sw s4,24(sp) +80001c20: 01712623 sw s7,12(sp) +80001c24: 01812423 sw s8,8(sp) +80001c28: 0ff4f493 andi s1,s1,255 +80001c2c: 00058b13 mv s6,a1 +80001c30: 00aafab3 and s5,s5,a0 +80001c34: 01f55913 srli s2,a0,0x1f +80001c38: 08048863 beqz s1,80001cc8 <__divsf3+0xd8> +80001c3c: 0ff00793 li a5,255 +80001c40: 0af48463 beq s1,a5,80001ce8 <__divsf3+0xf8> +80001c44: 003a9a93 slli s5,s5,0x3 +80001c48: 040007b7 lui a5,0x4000 +80001c4c: 00faeab3 or s5,s5,a5 +80001c50: f8148493 addi s1,s1,-127 +80001c54: 00000b93 li s7,0 +80001c58: 017b5513 srli a0,s6,0x17 +80001c5c: 00800437 lui s0,0x800 +80001c60: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80001c64: 0ff57513 andi a0,a0,255 +80001c68: 01647433 and s0,s0,s6 +80001c6c: 01fb5b13 srli s6,s6,0x1f +80001c70: 08050c63 beqz a0,80001d08 <__divsf3+0x118> +80001c74: 0ff00793 li a5,255 +80001c78: 0af50863 beq a0,a5,80001d28 <__divsf3+0x138> +80001c7c: 00341413 slli s0,s0,0x3 +80001c80: 040007b7 lui a5,0x4000 +80001c84: 00f46433 or s0,s0,a5 +80001c88: f8150513 addi a0,a0,-127 +80001c8c: 00000793 li a5,0 +80001c90: 002b9713 slli a4,s7,0x2 +80001c94: 00f76733 or a4,a4,a5 +80001c98: fff70713 addi a4,a4,-1 +80001c9c: 00e00693 li a3,14 +80001ca0: 016949b3 xor s3,s2,s6 +80001ca4: 40a48a33 sub s4,s1,a0 +80001ca8: 0ae6e063 bltu a3,a4,80001d48 <__divsf3+0x158> +80001cac: 00001697 auipc a3,0x1 +80001cb0: 67868693 addi a3,a3,1656 # 80003324 +80001cb4: 00271713 slli a4,a4,0x2 +80001cb8: 00d70733 add a4,a4,a3 +80001cbc: 00072703 lw a4,0(a4) +80001cc0: 00d70733 add a4,a4,a3 +80001cc4: 00070067 jr a4 +80001cc8: 020a8a63 beqz s5,80001cfc <__divsf3+0x10c> +80001ccc: 000a8513 mv a0,s5 +80001cd0: 7b1000ef jal ra,80002c80 <__clzsi2> +80001cd4: ffb50793 addi a5,a0,-5 +80001cd8: f8a00493 li s1,-118 +80001cdc: 00fa9ab3 sll s5,s5,a5 +80001ce0: 40a484b3 sub s1,s1,a0 +80001ce4: f71ff06f j 80001c54 <__divsf3+0x64> +80001ce8: 0ff00493 li s1,255 +80001cec: 00200b93 li s7,2 +80001cf0: f60a84e3 beqz s5,80001c58 <__divsf3+0x68> +80001cf4: 00300b93 li s7,3 +80001cf8: f61ff06f j 80001c58 <__divsf3+0x68> +80001cfc: 00000493 li s1,0 +80001d00: 00100b93 li s7,1 +80001d04: f55ff06f j 80001c58 <__divsf3+0x68> +80001d08: 02040a63 beqz s0,80001d3c <__divsf3+0x14c> +80001d0c: 00040513 mv a0,s0 +80001d10: 771000ef jal ra,80002c80 <__clzsi2> +80001d14: ffb50793 addi a5,a0,-5 +80001d18: 00f41433 sll s0,s0,a5 +80001d1c: f8a00793 li a5,-118 +80001d20: 40a78533 sub a0,a5,a0 +80001d24: f69ff06f j 80001c8c <__divsf3+0x9c> +80001d28: 0ff00513 li a0,255 +80001d2c: 00200793 li a5,2 +80001d30: f60400e3 beqz s0,80001c90 <__divsf3+0xa0> +80001d34: 00300793 li a5,3 +80001d38: f59ff06f j 80001c90 <__divsf3+0xa0> +80001d3c: 00000513 li a0,0 +80001d40: 00100793 li a5,1 +80001d44: f4dff06f j 80001c90 <__divsf3+0xa0> +80001d48: 00541b13 slli s6,s0,0x5 +80001d4c: 128af663 bleu s0,s5,80001e78 <__divsf3+0x288> +80001d50: fffa0a13 addi s4,s4,-1 +80001d54: 00000913 li s2,0 +80001d58: 010b5b93 srli s7,s6,0x10 +80001d5c: 00010437 lui s0,0x10 +80001d60: 000b8593 mv a1,s7 +80001d64: fff40413 addi s0,s0,-1 # ffff <_stack_size+0xfbff> +80001d68: 000a8513 mv a0,s5 +80001d6c: 669000ef jal ra,80002bd4 <__udivsi3> +80001d70: 008b7433 and s0,s6,s0 +80001d74: 00050593 mv a1,a0 +80001d78: 00050c13 mv s8,a0 +80001d7c: 00040513 mv a0,s0 +80001d80: 629000ef jal ra,80002ba8 <__mulsi3> +80001d84: 00050493 mv s1,a0 +80001d88: 000b8593 mv a1,s7 +80001d8c: 000a8513 mv a0,s5 +80001d90: 68d000ef jal ra,80002c1c <__umodsi3> +80001d94: 01095913 srli s2,s2,0x10 +80001d98: 01051513 slli a0,a0,0x10 +80001d9c: 00a96533 or a0,s2,a0 +80001da0: 000c0913 mv s2,s8 +80001da4: 00957e63 bleu s1,a0,80001dc0 <__divsf3+0x1d0> +80001da8: 01650533 add a0,a0,s6 +80001dac: fffc0913 addi s2,s8,-1 +80001db0: 01656863 bltu a0,s6,80001dc0 <__divsf3+0x1d0> +80001db4: 00957663 bleu s1,a0,80001dc0 <__divsf3+0x1d0> +80001db8: ffec0913 addi s2,s8,-2 +80001dbc: 01650533 add a0,a0,s6 +80001dc0: 409504b3 sub s1,a0,s1 +80001dc4: 000b8593 mv a1,s7 +80001dc8: 00048513 mv a0,s1 +80001dcc: 609000ef jal ra,80002bd4 <__udivsi3> +80001dd0: 00050593 mv a1,a0 +80001dd4: 00050c13 mv s8,a0 +80001dd8: 00040513 mv a0,s0 +80001ddc: 5cd000ef jal ra,80002ba8 <__mulsi3> +80001de0: 00050a93 mv s5,a0 +80001de4: 000b8593 mv a1,s7 +80001de8: 00048513 mv a0,s1 +80001dec: 631000ef jal ra,80002c1c <__umodsi3> +80001df0: 01051513 slli a0,a0,0x10 +80001df4: 000c0413 mv s0,s8 +80001df8: 01557e63 bleu s5,a0,80001e14 <__divsf3+0x224> +80001dfc: 01650533 add a0,a0,s6 +80001e00: fffc0413 addi s0,s8,-1 +80001e04: 01656863 bltu a0,s6,80001e14 <__divsf3+0x224> +80001e08: 01557663 bleu s5,a0,80001e14 <__divsf3+0x224> +80001e0c: ffec0413 addi s0,s8,-2 +80001e10: 01650533 add a0,a0,s6 +80001e14: 01091913 slli s2,s2,0x10 +80001e18: 41550533 sub a0,a0,s5 +80001e1c: 00896933 or s2,s2,s0 +80001e20: 00a03533 snez a0,a0 +80001e24: 00a96433 or s0,s2,a0 +80001e28: 07fa0713 addi a4,s4,127 +80001e2c: 0ae05063 blez a4,80001ecc <__divsf3+0x2dc> +80001e30: 00747793 andi a5,s0,7 +80001e34: 00078a63 beqz a5,80001e48 <__divsf3+0x258> +80001e38: 00f47793 andi a5,s0,15 +80001e3c: 00400693 li a3,4 +80001e40: 00d78463 beq a5,a3,80001e48 <__divsf3+0x258> +80001e44: 00440413 addi s0,s0,4 +80001e48: 00441793 slli a5,s0,0x4 +80001e4c: 0007da63 bgez a5,80001e60 <__divsf3+0x270> +80001e50: f80007b7 lui a5,0xf8000 +80001e54: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff9b2f> +80001e58: 00f47433 and s0,s0,a5 +80001e5c: 080a0713 addi a4,s4,128 +80001e60: 0fe00793 li a5,254 +80001e64: 00345413 srli s0,s0,0x3 +80001e68: 0ce7d263 ble a4,a5,80001f2c <__divsf3+0x33c> +80001e6c: 00000413 li s0,0 +80001e70: 0ff00713 li a4,255 +80001e74: 0b80006f j 80001f2c <__divsf3+0x33c> +80001e78: 01fa9913 slli s2,s5,0x1f +80001e7c: 001ada93 srli s5,s5,0x1 +80001e80: ed9ff06f j 80001d58 <__divsf3+0x168> +80001e84: 00090993 mv s3,s2 +80001e88: 000a8413 mv s0,s5 +80001e8c: 000b8793 mv a5,s7 +80001e90: 00200713 li a4,2 +80001e94: fce78ce3 beq a5,a4,80001e6c <__divsf3+0x27c> +80001e98: 00300713 li a4,3 +80001e9c: 08e78263 beq a5,a4,80001f20 <__divsf3+0x330> +80001ea0: 00100713 li a4,1 +80001ea4: f8e792e3 bne a5,a4,80001e28 <__divsf3+0x238> +80001ea8: 00000413 li s0,0 +80001eac: 00000713 li a4,0 +80001eb0: 07c0006f j 80001f2c <__divsf3+0x33c> +80001eb4: 000b0993 mv s3,s6 +80001eb8: fd9ff06f j 80001e90 <__divsf3+0x2a0> +80001ebc: 00400437 lui s0,0x400 +80001ec0: 00000993 li s3,0 +80001ec4: 00300793 li a5,3 +80001ec8: fc9ff06f j 80001e90 <__divsf3+0x2a0> +80001ecc: 00100793 li a5,1 +80001ed0: 40e787b3 sub a5,a5,a4 +80001ed4: 01b00713 li a4,27 +80001ed8: fcf748e3 blt a4,a5,80001ea8 <__divsf3+0x2b8> +80001edc: 09ea0513 addi a0,s4,158 +80001ee0: 00f457b3 srl a5,s0,a5 +80001ee4: 00a41433 sll s0,s0,a0 +80001ee8: 00803433 snez s0,s0 +80001eec: 0087e433 or s0,a5,s0 +80001ef0: 00747793 andi a5,s0,7 +80001ef4: 00078a63 beqz a5,80001f08 <__divsf3+0x318> +80001ef8: 00f47793 andi a5,s0,15 +80001efc: 00400713 li a4,4 +80001f00: 00e78463 beq a5,a4,80001f08 <__divsf3+0x318> +80001f04: 00440413 addi s0,s0,4 # 400004 <_stack_size+0x3ffc04> +80001f08: 00541793 slli a5,s0,0x5 +80001f0c: 00345413 srli s0,s0,0x3 +80001f10: f807dee3 bgez a5,80001eac <__divsf3+0x2bc> +80001f14: 00000413 li s0,0 +80001f18: 00100713 li a4,1 +80001f1c: 0100006f j 80001f2c <__divsf3+0x33c> +80001f20: 00400437 lui s0,0x400 +80001f24: 0ff00713 li a4,255 +80001f28: 00000993 li s3,0 +80001f2c: 00800537 lui a0,0x800 +80001f30: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80001f34: 00a47433 and s0,s0,a0 +80001f38: 80800537 lui a0,0x80800 +80001f3c: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9b2f> +80001f40: 0ff77713 andi a4,a4,255 +80001f44: 00a47433 and s0,s0,a0 +80001f48: 01771713 slli a4,a4,0x17 +80001f4c: 01f99513 slli a0,s3,0x1f +80001f50: 00e46433 or s0,s0,a4 +80001f54: 00a46533 or a0,s0,a0 +80001f58: 02c12083 lw ra,44(sp) +80001f5c: 02812403 lw s0,40(sp) +80001f60: 02412483 lw s1,36(sp) +80001f64: 02012903 lw s2,32(sp) +80001f68: 01c12983 lw s3,28(sp) +80001f6c: 01812a03 lw s4,24(sp) +80001f70: 01412a83 lw s5,20(sp) +80001f74: 01012b03 lw s6,16(sp) +80001f78: 00c12b83 lw s7,12(sp) +80001f7c: 00812c03 lw s8,8(sp) +80001f80: 03010113 addi sp,sp,48 +80001f84: 00008067 ret + +80001f88 <__mulsf3>: +80001f88: fd010113 addi sp,sp,-48 +80001f8c: 02912223 sw s1,36(sp) +80001f90: 03212023 sw s2,32(sp) +80001f94: 008004b7 lui s1,0x800 +80001f98: 01755913 srli s2,a0,0x17 +80001f9c: 01312e23 sw s3,28(sp) +80001fa0: 01712623 sw s7,12(sp) +80001fa4: fff48493 addi s1,s1,-1 # 7fffff <_stack_size+0x7ffbff> +80001fa8: 02112623 sw ra,44(sp) +80001fac: 02812423 sw s0,40(sp) +80001fb0: 01412c23 sw s4,24(sp) +80001fb4: 01512a23 sw s5,20(sp) +80001fb8: 01612823 sw s6,16(sp) +80001fbc: 01812423 sw s8,8(sp) +80001fc0: 01912223 sw s9,4(sp) +80001fc4: 0ff97913 andi s2,s2,255 +80001fc8: 00058b93 mv s7,a1 +80001fcc: 00a4f4b3 and s1,s1,a0 +80001fd0: 01f55993 srli s3,a0,0x1f +80001fd4: 08090a63 beqz s2,80002068 <__mulsf3+0xe0> +80001fd8: 0ff00793 li a5,255 +80001fdc: 0af90663 beq s2,a5,80002088 <__mulsf3+0x100> +80001fe0: 00349493 slli s1,s1,0x3 +80001fe4: 040007b7 lui a5,0x4000 +80001fe8: 00f4e4b3 or s1,s1,a5 +80001fec: f8190913 addi s2,s2,-127 # 7fff81 <_stack_size+0x7ffb81> +80001ff0: 00000b13 li s6,0 +80001ff4: 017bd513 srli a0,s7,0x17 +80001ff8: 00800437 lui s0,0x800 +80001ffc: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002000: 0ff57513 andi a0,a0,255 +80002004: 01747433 and s0,s0,s7 +80002008: 01fbdb93 srli s7,s7,0x1f +8000200c: 08050e63 beqz a0,800020a8 <__mulsf3+0x120> +80002010: 0ff00793 li a5,255 +80002014: 0af50a63 beq a0,a5,800020c8 <__mulsf3+0x140> +80002018: 00341413 slli s0,s0,0x3 +8000201c: 040007b7 lui a5,0x4000 +80002020: 00f46433 or s0,s0,a5 +80002024: f8150513 addi a0,a0,-127 +80002028: 00000693 li a3,0 +8000202c: 002b1793 slli a5,s6,0x2 +80002030: 00d7e7b3 or a5,a5,a3 +80002034: 00a90933 add s2,s2,a0 +80002038: fff78793 addi a5,a5,-1 # 3ffffff <_stack_size+0x3fffbff> +8000203c: 00e00713 li a4,14 +80002040: 0179ca33 xor s4,s3,s7 +80002044: 00190a93 addi s5,s2,1 +80002048: 0af76063 bltu a4,a5,800020e8 <__mulsf3+0x160> +8000204c: 00001717 auipc a4,0x1 +80002050: 31470713 addi a4,a4,788 # 80003360 +80002054: 00279793 slli a5,a5,0x2 +80002058: 00e787b3 add a5,a5,a4 +8000205c: 0007a783 lw a5,0(a5) +80002060: 00e787b3 add a5,a5,a4 +80002064: 00078067 jr a5 +80002068: 02048a63 beqz s1,8000209c <__mulsf3+0x114> +8000206c: 00048513 mv a0,s1 +80002070: 411000ef jal ra,80002c80 <__clzsi2> +80002074: ffb50793 addi a5,a0,-5 +80002078: f8a00913 li s2,-118 +8000207c: 00f494b3 sll s1,s1,a5 +80002080: 40a90933 sub s2,s2,a0 +80002084: f6dff06f j 80001ff0 <__mulsf3+0x68> +80002088: 0ff00913 li s2,255 +8000208c: 00200b13 li s6,2 +80002090: f60482e3 beqz s1,80001ff4 <__mulsf3+0x6c> +80002094: 00300b13 li s6,3 +80002098: f5dff06f j 80001ff4 <__mulsf3+0x6c> +8000209c: 00000913 li s2,0 +800020a0: 00100b13 li s6,1 +800020a4: f51ff06f j 80001ff4 <__mulsf3+0x6c> +800020a8: 02040a63 beqz s0,800020dc <__mulsf3+0x154> +800020ac: 00040513 mv a0,s0 +800020b0: 3d1000ef jal ra,80002c80 <__clzsi2> +800020b4: ffb50793 addi a5,a0,-5 +800020b8: 00f41433 sll s0,s0,a5 +800020bc: f8a00793 li a5,-118 +800020c0: 40a78533 sub a0,a5,a0 +800020c4: f65ff06f j 80002028 <__mulsf3+0xa0> +800020c8: 0ff00513 li a0,255 +800020cc: 00200693 li a3,2 +800020d0: f4040ee3 beqz s0,8000202c <__mulsf3+0xa4> +800020d4: 00300693 li a3,3 +800020d8: f55ff06f j 8000202c <__mulsf3+0xa4> +800020dc: 00000513 li a0,0 +800020e0: 00100693 li a3,1 +800020e4: f49ff06f j 8000202c <__mulsf3+0xa4> +800020e8: 00010c37 lui s8,0x10 +800020ec: fffc0b13 addi s6,s8,-1 # ffff <_stack_size+0xfbff> +800020f0: 0104db93 srli s7,s1,0x10 +800020f4: 01045c93 srli s9,s0,0x10 +800020f8: 0164f4b3 and s1,s1,s6 +800020fc: 01647433 and s0,s0,s6 +80002100: 00040593 mv a1,s0 +80002104: 00048513 mv a0,s1 +80002108: 2a1000ef jal ra,80002ba8 <__mulsi3> +8000210c: 00040593 mv a1,s0 +80002110: 00050993 mv s3,a0 +80002114: 000b8513 mv a0,s7 +80002118: 291000ef jal ra,80002ba8 <__mulsi3> +8000211c: 00050413 mv s0,a0 +80002120: 000c8593 mv a1,s9 +80002124: 000b8513 mv a0,s7 +80002128: 281000ef jal ra,80002ba8 <__mulsi3> +8000212c: 00050b93 mv s7,a0 +80002130: 00048593 mv a1,s1 +80002134: 000c8513 mv a0,s9 +80002138: 271000ef jal ra,80002ba8 <__mulsi3> +8000213c: 00850533 add a0,a0,s0 +80002140: 0109d793 srli a5,s3,0x10 +80002144: 00a78533 add a0,a5,a0 +80002148: 00857463 bleu s0,a0,80002150 <__mulsf3+0x1c8> +8000214c: 018b8bb3 add s7,s7,s8 +80002150: 016577b3 and a5,a0,s6 +80002154: 01079793 slli a5,a5,0x10 +80002158: 0169f9b3 and s3,s3,s6 +8000215c: 013787b3 add a5,a5,s3 +80002160: 00679413 slli s0,a5,0x6 +80002164: 00803433 snez s0,s0 +80002168: 01a7d793 srli a5,a5,0x1a +8000216c: 01055513 srli a0,a0,0x10 +80002170: 00f467b3 or a5,s0,a5 +80002174: 01750433 add s0,a0,s7 +80002178: 00641413 slli s0,s0,0x6 +8000217c: 00f46433 or s0,s0,a5 +80002180: 00441793 slli a5,s0,0x4 +80002184: 0e07d663 bgez a5,80002270 <__mulsf3+0x2e8> +80002188: 00145793 srli a5,s0,0x1 +8000218c: 00147413 andi s0,s0,1 +80002190: 0087e433 or s0,a5,s0 +80002194: 07fa8713 addi a4,s5,127 +80002198: 0ee05063 blez a4,80002278 <__mulsf3+0x2f0> +8000219c: 00747793 andi a5,s0,7 +800021a0: 00078a63 beqz a5,800021b4 <__mulsf3+0x22c> +800021a4: 00f47793 andi a5,s0,15 +800021a8: 00400693 li a3,4 +800021ac: 00d78463 beq a5,a3,800021b4 <__mulsf3+0x22c> +800021b0: 00440413 addi s0,s0,4 +800021b4: 00441793 slli a5,s0,0x4 +800021b8: 0007da63 bgez a5,800021cc <__mulsf3+0x244> +800021bc: f80007b7 lui a5,0xf8000 +800021c0: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff9b2f> +800021c4: 00f47433 and s0,s0,a5 +800021c8: 080a8713 addi a4,s5,128 +800021cc: 0fe00793 li a5,254 +800021d0: 10e7c463 blt a5,a4,800022d8 <__mulsf3+0x350> +800021d4: 00345793 srli a5,s0,0x3 +800021d8: 0300006f j 80002208 <__mulsf3+0x280> +800021dc: 00098a13 mv s4,s3 +800021e0: 00048413 mv s0,s1 +800021e4: 000b0693 mv a3,s6 +800021e8: 00200793 li a5,2 +800021ec: 0ef68663 beq a3,a5,800022d8 <__mulsf3+0x350> +800021f0: 00300793 li a5,3 +800021f4: 0cf68a63 beq a3,a5,800022c8 <__mulsf3+0x340> +800021f8: 00100613 li a2,1 +800021fc: 00000793 li a5,0 +80002200: 00000713 li a4,0 +80002204: f8c698e3 bne a3,a2,80002194 <__mulsf3+0x20c> +80002208: 00800437 lui s0,0x800 +8000220c: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002210: 80800537 lui a0,0x80800 +80002214: 0087f7b3 and a5,a5,s0 +80002218: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9b2f> +8000221c: 02c12083 lw ra,44(sp) +80002220: 02812403 lw s0,40(sp) +80002224: 0ff77713 andi a4,a4,255 +80002228: 00a7f7b3 and a5,a5,a0 +8000222c: 01771713 slli a4,a4,0x17 +80002230: 01fa1513 slli a0,s4,0x1f +80002234: 00e7e7b3 or a5,a5,a4 +80002238: 02412483 lw s1,36(sp) +8000223c: 02012903 lw s2,32(sp) +80002240: 01c12983 lw s3,28(sp) +80002244: 01812a03 lw s4,24(sp) +80002248: 01412a83 lw s5,20(sp) +8000224c: 01012b03 lw s6,16(sp) +80002250: 00c12b83 lw s7,12(sp) +80002254: 00812c03 lw s8,8(sp) +80002258: 00412c83 lw s9,4(sp) +8000225c: 00a7e533 or a0,a5,a0 +80002260: 03010113 addi sp,sp,48 +80002264: 00008067 ret +80002268: 000b8a13 mv s4,s7 +8000226c: f7dff06f j 800021e8 <__mulsf3+0x260> +80002270: 00090a93 mv s5,s2 +80002274: f21ff06f j 80002194 <__mulsf3+0x20c> +80002278: 00100793 li a5,1 +8000227c: 40e787b3 sub a5,a5,a4 +80002280: 01b00713 li a4,27 +80002284: 06f74063 blt a4,a5,800022e4 <__mulsf3+0x35c> +80002288: 09ea8a93 addi s5,s5,158 +8000228c: 00f457b3 srl a5,s0,a5 +80002290: 01541433 sll s0,s0,s5 +80002294: 00803433 snez s0,s0 +80002298: 0087e433 or s0,a5,s0 +8000229c: 00747793 andi a5,s0,7 +800022a0: 00078a63 beqz a5,800022b4 <__mulsf3+0x32c> +800022a4: 00f47793 andi a5,s0,15 +800022a8: 00400713 li a4,4 +800022ac: 00e78463 beq a5,a4,800022b4 <__mulsf3+0x32c> +800022b0: 00440413 addi s0,s0,4 +800022b4: 00541793 slli a5,s0,0x5 +800022b8: 0207ca63 bltz a5,800022ec <__mulsf3+0x364> +800022bc: 00345793 srli a5,s0,0x3 +800022c0: 00000713 li a4,0 +800022c4: f45ff06f j 80002208 <__mulsf3+0x280> +800022c8: 004007b7 lui a5,0x400 +800022cc: 0ff00713 li a4,255 +800022d0: 00000a13 li s4,0 +800022d4: f35ff06f j 80002208 <__mulsf3+0x280> +800022d8: 00000793 li a5,0 +800022dc: 0ff00713 li a4,255 +800022e0: f29ff06f j 80002208 <__mulsf3+0x280> +800022e4: 00000793 li a5,0 +800022e8: fd9ff06f j 800022c0 <__mulsf3+0x338> +800022ec: 00000793 li a5,0 +800022f0: 00100713 li a4,1 +800022f4: f15ff06f j 80002208 <__mulsf3+0x280> + +800022f8 <__subsf3>: +800022f8: 008007b7 lui a5,0x800 +800022fc: fff78793 addi a5,a5,-1 # 7fffff <_stack_size+0x7ffbff> +80002300: ff010113 addi sp,sp,-16 +80002304: 00a7f733 and a4,a5,a0 +80002308: 01755693 srli a3,a0,0x17 +8000230c: 0175d613 srli a2,a1,0x17 +80002310: 00b7f7b3 and a5,a5,a1 +80002314: 00912223 sw s1,4(sp) +80002318: 01212023 sw s2,0(sp) +8000231c: 0ff6f693 andi a3,a3,255 +80002320: 00371813 slli a6,a4,0x3 +80002324: 0ff67613 andi a2,a2,255 +80002328: 00112623 sw ra,12(sp) +8000232c: 00812423 sw s0,8(sp) +80002330: 0ff00713 li a4,255 +80002334: 01f55493 srli s1,a0,0x1f +80002338: 00068913 mv s2,a3 +8000233c: 00060513 mv a0,a2 +80002340: 01f5d593 srli a1,a1,0x1f +80002344: 00379793 slli a5,a5,0x3 +80002348: 00e61463 bne a2,a4,80002350 <__subsf3+0x58> +8000234c: 00079463 bnez a5,80002354 <__subsf3+0x5c> +80002350: 0015c593 xori a1,a1,1 +80002354: 40c68733 sub a4,a3,a2 +80002358: 1a959a63 bne a1,s1,8000250c <__subsf3+0x214> +8000235c: 0ae05663 blez a4,80002408 <__subsf3+0x110> +80002360: 06061663 bnez a2,800023cc <__subsf3+0xd4> +80002364: 00079c63 bnez a5,8000237c <__subsf3+0x84> +80002368: 0ff00793 li a5,255 +8000236c: 04f68c63 beq a3,a5,800023c4 <__subsf3+0xcc> +80002370: 00080793 mv a5,a6 +80002374: 00068513 mv a0,a3 +80002378: 14c0006f j 800024c4 <__subsf3+0x1cc> +8000237c: fff70713 addi a4,a4,-1 +80002380: 02071e63 bnez a4,800023bc <__subsf3+0xc4> +80002384: 010787b3 add a5,a5,a6 +80002388: 00068513 mv a0,a3 +8000238c: 00579713 slli a4,a5,0x5 +80002390: 12075a63 bgez a4,800024c4 <__subsf3+0x1cc> +80002394: 00150513 addi a0,a0,1 +80002398: 0ff00713 li a4,255 +8000239c: 32e50e63 beq a0,a4,800026d8 <__subsf3+0x3e0> +800023a0: 7e000737 lui a4,0x7e000 +800023a4: 0017f693 andi a3,a5,1 +800023a8: fff70713 addi a4,a4,-1 # 7dffffff <_stack_size+0x7dfffbff> +800023ac: 0017d793 srli a5,a5,0x1 +800023b0: 00e7f7b3 and a5,a5,a4 +800023b4: 00d7e7b3 or a5,a5,a3 +800023b8: 10c0006f j 800024c4 <__subsf3+0x1cc> +800023bc: 0ff00613 li a2,255 +800023c0: 00c69e63 bne a3,a2,800023dc <__subsf3+0xe4> +800023c4: 00080793 mv a5,a6 +800023c8: 0740006f j 8000243c <__subsf3+0x144> +800023cc: 0ff00613 li a2,255 +800023d0: fec68ae3 beq a3,a2,800023c4 <__subsf3+0xcc> +800023d4: 04000637 lui a2,0x4000 +800023d8: 00c7e7b3 or a5,a5,a2 +800023dc: 01b00613 li a2,27 +800023e0: 00e65663 ble a4,a2,800023ec <__subsf3+0xf4> +800023e4: 00100793 li a5,1 +800023e8: f9dff06f j 80002384 <__subsf3+0x8c> +800023ec: 02000613 li a2,32 +800023f0: 40e60633 sub a2,a2,a4 +800023f4: 00e7d5b3 srl a1,a5,a4 +800023f8: 00c797b3 sll a5,a5,a2 +800023fc: 00f037b3 snez a5,a5 +80002400: 00f5e7b3 or a5,a1,a5 +80002404: f81ff06f j 80002384 <__subsf3+0x8c> +80002408: 08070063 beqz a4,80002488 <__subsf3+0x190> +8000240c: 02069c63 bnez a3,80002444 <__subsf3+0x14c> +80002410: 00081863 bnez a6,80002420 <__subsf3+0x128> +80002414: 0ff00713 li a4,255 +80002418: 0ae61663 bne a2,a4,800024c4 <__subsf3+0x1cc> +8000241c: 0200006f j 8000243c <__subsf3+0x144> +80002420: fff00693 li a3,-1 +80002424: 00d71663 bne a4,a3,80002430 <__subsf3+0x138> +80002428: 010787b3 add a5,a5,a6 +8000242c: f61ff06f j 8000238c <__subsf3+0x94> +80002430: 0ff00693 li a3,255 +80002434: fff74713 not a4,a4 +80002438: 02d61063 bne a2,a3,80002458 <__subsf3+0x160> +8000243c: 0ff00513 li a0,255 +80002440: 0840006f j 800024c4 <__subsf3+0x1cc> +80002444: 0ff00693 li a3,255 +80002448: fed60ae3 beq a2,a3,8000243c <__subsf3+0x144> +8000244c: 040006b7 lui a3,0x4000 +80002450: 40e00733 neg a4,a4 +80002454: 00d86833 or a6,a6,a3 +80002458: 01b00693 li a3,27 +8000245c: 00e6d663 ble a4,a3,80002468 <__subsf3+0x170> +80002460: 00100713 li a4,1 +80002464: 01c0006f j 80002480 <__subsf3+0x188> +80002468: 02000693 li a3,32 +8000246c: 00e85633 srl a2,a6,a4 +80002470: 40e68733 sub a4,a3,a4 +80002474: 00e81733 sll a4,a6,a4 +80002478: 00e03733 snez a4,a4 +8000247c: 00e66733 or a4,a2,a4 +80002480: 00e787b3 add a5,a5,a4 +80002484: f09ff06f j 8000238c <__subsf3+0x94> +80002488: 00168513 addi a0,a3,1 # 4000001 <_stack_size+0x3fffc01> +8000248c: 0ff57613 andi a2,a0,255 +80002490: 00100713 li a4,1 +80002494: 06c74263 blt a4,a2,800024f8 <__subsf3+0x200> +80002498: 04069463 bnez a3,800024e0 <__subsf3+0x1e8> +8000249c: 00000513 li a0,0 +800024a0: 02080263 beqz a6,800024c4 <__subsf3+0x1cc> +800024a4: 22078663 beqz a5,800026d0 <__subsf3+0x3d8> +800024a8: 010787b3 add a5,a5,a6 +800024ac: 00579713 slli a4,a5,0x5 +800024b0: 00075a63 bgez a4,800024c4 <__subsf3+0x1cc> +800024b4: fc000737 lui a4,0xfc000 +800024b8: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9b2f> +800024bc: 00e7f7b3 and a5,a5,a4 +800024c0: 00100513 li a0,1 +800024c4: 0077f713 andi a4,a5,7 +800024c8: 20070a63 beqz a4,800026dc <__subsf3+0x3e4> +800024cc: 00f7f713 andi a4,a5,15 +800024d0: 00400693 li a3,4 +800024d4: 20d70463 beq a4,a3,800026dc <__subsf3+0x3e4> +800024d8: 00478793 addi a5,a5,4 +800024dc: 2000006f j 800026dc <__subsf3+0x3e4> +800024e0: f4080ee3 beqz a6,8000243c <__subsf3+0x144> +800024e4: ee0780e3 beqz a5,800023c4 <__subsf3+0xcc> +800024e8: 020007b7 lui a5,0x2000 +800024ec: 0ff00513 li a0,255 +800024f0: 00000493 li s1,0 +800024f4: 1e80006f j 800026dc <__subsf3+0x3e4> +800024f8: 0ff00713 li a4,255 +800024fc: 1ce50e63 beq a0,a4,800026d8 <__subsf3+0x3e0> +80002500: 00f80733 add a4,a6,a5 +80002504: 00175793 srli a5,a4,0x1 +80002508: fbdff06f j 800024c4 <__subsf3+0x1cc> +8000250c: 08e05063 blez a4,8000258c <__subsf3+0x294> +80002510: 04061663 bnez a2,8000255c <__subsf3+0x264> +80002514: e4078ae3 beqz a5,80002368 <__subsf3+0x70> +80002518: fff70713 addi a4,a4,-1 +8000251c: 02071463 bnez a4,80002544 <__subsf3+0x24c> +80002520: 40f807b3 sub a5,a6,a5 +80002524: 00068513 mv a0,a3 +80002528: 00579713 slli a4,a5,0x5 +8000252c: f8075ce3 bgez a4,800024c4 <__subsf3+0x1cc> +80002530: 04000437 lui s0,0x4000 +80002534: fff40413 addi s0,s0,-1 # 3ffffff <_stack_size+0x3fffbff> +80002538: 0087f433 and s0,a5,s0 +8000253c: 00050913 mv s2,a0 +80002540: 1380006f j 80002678 <__subsf3+0x380> +80002544: 0ff00613 li a2,255 +80002548: e6c68ee3 beq a3,a2,800023c4 <__subsf3+0xcc> +8000254c: 01b00613 li a2,27 +80002550: 02e65063 ble a4,a2,80002570 <__subsf3+0x278> +80002554: 00100793 li a5,1 +80002558: fc9ff06f j 80002520 <__subsf3+0x228> +8000255c: 0ff00613 li a2,255 +80002560: e6c682e3 beq a3,a2,800023c4 <__subsf3+0xcc> +80002564: 04000637 lui a2,0x4000 +80002568: 00c7e7b3 or a5,a5,a2 +8000256c: fe1ff06f j 8000254c <__subsf3+0x254> +80002570: 02000613 li a2,32 +80002574: 00e7d5b3 srl a1,a5,a4 +80002578: 40e60733 sub a4,a2,a4 +8000257c: 00e797b3 sll a5,a5,a4 +80002580: 00f037b3 snez a5,a5 +80002584: 00f5e7b3 or a5,a1,a5 +80002588: f99ff06f j 80002520 <__subsf3+0x228> +8000258c: 08070263 beqz a4,80002610 <__subsf3+0x318> +80002590: 02069e63 bnez a3,800025cc <__subsf3+0x2d4> +80002594: 00081863 bnez a6,800025a4 <__subsf3+0x2ac> +80002598: 0ff00713 li a4,255 +8000259c: 00058493 mv s1,a1 +800025a0: e79ff06f j 80002418 <__subsf3+0x120> +800025a4: fff00693 li a3,-1 +800025a8: 00d71863 bne a4,a3,800025b8 <__subsf3+0x2c0> +800025ac: 410787b3 sub a5,a5,a6 +800025b0: 00058493 mv s1,a1 +800025b4: f75ff06f j 80002528 <__subsf3+0x230> +800025b8: 0ff00693 li a3,255 +800025bc: fff74713 not a4,a4 +800025c0: 02d61063 bne a2,a3,800025e0 <__subsf3+0x2e8> +800025c4: 00058493 mv s1,a1 +800025c8: e75ff06f j 8000243c <__subsf3+0x144> +800025cc: 0ff00693 li a3,255 +800025d0: fed60ae3 beq a2,a3,800025c4 <__subsf3+0x2cc> +800025d4: 040006b7 lui a3,0x4000 +800025d8: 40e00733 neg a4,a4 +800025dc: 00d86833 or a6,a6,a3 +800025e0: 01b00693 li a3,27 +800025e4: 00e6d663 ble a4,a3,800025f0 <__subsf3+0x2f8> +800025e8: 00100713 li a4,1 +800025ec: 01c0006f j 80002608 <__subsf3+0x310> +800025f0: 02000693 li a3,32 +800025f4: 00e85633 srl a2,a6,a4 +800025f8: 40e68733 sub a4,a3,a4 +800025fc: 00e81733 sll a4,a6,a4 +80002600: 00e03733 snez a4,a4 +80002604: 00e66733 or a4,a2,a4 +80002608: 40e787b3 sub a5,a5,a4 +8000260c: fa5ff06f j 800025b0 <__subsf3+0x2b8> +80002610: 00168713 addi a4,a3,1 # 4000001 <_stack_size+0x3fffc01> +80002614: 0ff77713 andi a4,a4,255 +80002618: 00100613 li a2,1 +8000261c: 04e64463 blt a2,a4,80002664 <__subsf3+0x36c> +80002620: 02069c63 bnez a3,80002658 <__subsf3+0x360> +80002624: 00081863 bnez a6,80002634 <__subsf3+0x33c> +80002628: 12079863 bnez a5,80002758 <__subsf3+0x460> +8000262c: 00000513 li a0,0 +80002630: ec1ff06f j 800024f0 <__subsf3+0x1f8> +80002634: 12078663 beqz a5,80002760 <__subsf3+0x468> +80002638: 40f80733 sub a4,a6,a5 +8000263c: 00571693 slli a3,a4,0x5 +80002640: 410787b3 sub a5,a5,a6 +80002644: 1006ca63 bltz a3,80002758 <__subsf3+0x460> +80002648: 00070793 mv a5,a4 +8000264c: 06071063 bnez a4,800026ac <__subsf3+0x3b4> +80002650: 00000793 li a5,0 +80002654: fd9ff06f j 8000262c <__subsf3+0x334> +80002658: e80816e3 bnez a6,800024e4 <__subsf3+0x1ec> +8000265c: f60794e3 bnez a5,800025c4 <__subsf3+0x2cc> +80002660: e89ff06f j 800024e8 <__subsf3+0x1f0> +80002664: 40f80433 sub s0,a6,a5 +80002668: 00541713 slli a4,s0,0x5 +8000266c: 04075463 bgez a4,800026b4 <__subsf3+0x3bc> +80002670: 41078433 sub s0,a5,a6 +80002674: 00058493 mv s1,a1 +80002678: 00040513 mv a0,s0 +8000267c: 604000ef jal ra,80002c80 <__clzsi2> +80002680: ffb50513 addi a0,a0,-5 +80002684: 00a41433 sll s0,s0,a0 +80002688: 03254a63 blt a0,s2,800026bc <__subsf3+0x3c4> +8000268c: 41250533 sub a0,a0,s2 +80002690: 00150513 addi a0,a0,1 +80002694: 02000713 li a4,32 +80002698: 00a457b3 srl a5,s0,a0 +8000269c: 40a70533 sub a0,a4,a0 +800026a0: 00a41433 sll s0,s0,a0 +800026a4: 00803433 snez s0,s0 +800026a8: 0087e7b3 or a5,a5,s0 +800026ac: 00000513 li a0,0 +800026b0: e15ff06f j 800024c4 <__subsf3+0x1cc> +800026b4: f8040ee3 beqz s0,80002650 <__subsf3+0x358> +800026b8: fc1ff06f j 80002678 <__subsf3+0x380> +800026bc: fc0007b7 lui a5,0xfc000 +800026c0: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff9b2f> +800026c4: 40a90533 sub a0,s2,a0 +800026c8: 00f477b3 and a5,s0,a5 +800026cc: df9ff06f j 800024c4 <__subsf3+0x1cc> +800026d0: 00080793 mv a5,a6 +800026d4: df1ff06f j 800024c4 <__subsf3+0x1cc> +800026d8: 00000793 li a5,0 +800026dc: 00579713 slli a4,a5,0x5 +800026e0: 00075e63 bgez a4,800026fc <__subsf3+0x404> +800026e4: 00150513 addi a0,a0,1 +800026e8: 0ff00713 li a4,255 +800026ec: 06e50e63 beq a0,a4,80002768 <__subsf3+0x470> +800026f0: fc000737 lui a4,0xfc000 +800026f4: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9b2f> +800026f8: 00e7f7b3 and a5,a5,a4 +800026fc: 0ff00713 li a4,255 +80002700: 0037d793 srli a5,a5,0x3 +80002704: 00e51863 bne a0,a4,80002714 <__subsf3+0x41c> +80002708: 00078663 beqz a5,80002714 <__subsf3+0x41c> +8000270c: 004007b7 lui a5,0x400 +80002710: 00000493 li s1,0 +80002714: 00800737 lui a4,0x800 +80002718: fff70713 addi a4,a4,-1 # 7fffff <_stack_size+0x7ffbff> +8000271c: 0ff57513 andi a0,a0,255 +80002720: 00e7f7b3 and a5,a5,a4 +80002724: 01751713 slli a4,a0,0x17 +80002728: 80800537 lui a0,0x80800 +8000272c: 00c12083 lw ra,12(sp) +80002730: 00812403 lw s0,8(sp) +80002734: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9b2f> +80002738: 00a7f533 and a0,a5,a0 +8000273c: 01f49493 slli s1,s1,0x1f +80002740: 00e56533 or a0,a0,a4 +80002744: 00956533 or a0,a0,s1 +80002748: 00012903 lw s2,0(sp) +8000274c: 00412483 lw s1,4(sp) +80002750: 01010113 addi sp,sp,16 +80002754: 00008067 ret +80002758: 00058493 mv s1,a1 +8000275c: f51ff06f j 800026ac <__subsf3+0x3b4> +80002760: 00080793 mv a5,a6 +80002764: f49ff06f j 800026ac <__subsf3+0x3b4> +80002768: 00000793 li a5,0 +8000276c: f91ff06f j 800026fc <__subsf3+0x404> + +80002770 <__fixsfsi>: +80002770: 00800637 lui a2,0x800 +80002774: 01755713 srli a4,a0,0x17 +80002778: fff60793 addi a5,a2,-1 # 7fffff <_stack_size+0x7ffbff> +8000277c: 0ff77713 andi a4,a4,255 +80002780: 07e00593 li a1,126 +80002784: 00a7f7b3 and a5,a5,a0 +80002788: 01f55693 srli a3,a0,0x1f +8000278c: 04e5f663 bleu a4,a1,800027d8 <__fixsfsi+0x68> +80002790: 09d00593 li a1,157 +80002794: 00e5fa63 bleu a4,a1,800027a8 <__fixsfsi+0x38> +80002798: 80000537 lui a0,0x80000 +8000279c: fff54513 not a0,a0 +800027a0: 00a68533 add a0,a3,a0 +800027a4: 00008067 ret +800027a8: 00c7e533 or a0,a5,a2 +800027ac: 09500793 li a5,149 +800027b0: 00e7dc63 ble a4,a5,800027c8 <__fixsfsi+0x58> +800027b4: f6a70713 addi a4,a4,-150 +800027b8: 00e51533 sll a0,a0,a4 +800027bc: 02068063 beqz a3,800027dc <__fixsfsi+0x6c> +800027c0: 40a00533 neg a0,a0 +800027c4: 00008067 ret +800027c8: 09600793 li a5,150 +800027cc: 40e78733 sub a4,a5,a4 +800027d0: 00e55533 srl a0,a0,a4 +800027d4: fe9ff06f j 800027bc <__fixsfsi+0x4c> +800027d8: 00000513 li a0,0 +800027dc: 00008067 ret + +800027e0 <__floatsisf>: +800027e0: ff010113 addi sp,sp,-16 +800027e4: 00112623 sw ra,12(sp) +800027e8: 00812423 sw s0,8(sp) +800027ec: 00912223 sw s1,4(sp) +800027f0: 10050263 beqz a0,800028f4 <__floatsisf+0x114> +800027f4: 00050413 mv s0,a0 +800027f8: 01f55493 srli s1,a0,0x1f +800027fc: 00055463 bgez a0,80002804 <__floatsisf+0x24> +80002800: 40a00433 neg s0,a0 +80002804: 00040513 mv a0,s0 +80002808: 478000ef jal ra,80002c80 <__clzsi2> +8000280c: 09e00793 li a5,158 +80002810: 40a787b3 sub a5,a5,a0 +80002814: 09600713 li a4,150 +80002818: 06f74063 blt a4,a5,80002878 <__floatsisf+0x98> +8000281c: 00800713 li a4,8 +80002820: 00a75663 ble a0,a4,8000282c <__floatsisf+0x4c> +80002824: ff850513 addi a0,a0,-8 # 7ffffff8 <_stack_start+0xffff9b28> +80002828: 00a41433 sll s0,s0,a0 +8000282c: 00800537 lui a0,0x800 +80002830: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002834: 0ff7f793 andi a5,a5,255 +80002838: 00a47433 and s0,s0,a0 +8000283c: 01779513 slli a0,a5,0x17 +80002840: 808007b7 lui a5,0x80800 +80002844: fff78793 addi a5,a5,-1 # 807fffff <_stack_start+0x7f9b2f> +80002848: 00f47433 and s0,s0,a5 +8000284c: 800007b7 lui a5,0x80000 +80002850: 00a46433 or s0,s0,a0 +80002854: fff7c793 not a5,a5 +80002858: 01f49513 slli a0,s1,0x1f +8000285c: 00f47433 and s0,s0,a5 +80002860: 00a46533 or a0,s0,a0 +80002864: 00c12083 lw ra,12(sp) +80002868: 00812403 lw s0,8(sp) +8000286c: 00412483 lw s1,4(sp) +80002870: 01010113 addi sp,sp,16 +80002874: 00008067 ret +80002878: 09900713 li a4,153 +8000287c: 02f75063 ble a5,a4,8000289c <__floatsisf+0xbc> +80002880: 00500713 li a4,5 +80002884: 40a70733 sub a4,a4,a0 +80002888: 01b50693 addi a3,a0,27 +8000288c: 00e45733 srl a4,s0,a4 +80002890: 00d41433 sll s0,s0,a3 +80002894: 00803433 snez s0,s0 +80002898: 00876433 or s0,a4,s0 +8000289c: 00500713 li a4,5 +800028a0: 00a75663 ble a0,a4,800028ac <__floatsisf+0xcc> +800028a4: ffb50713 addi a4,a0,-5 +800028a8: 00e41433 sll s0,s0,a4 +800028ac: fc000737 lui a4,0xfc000 +800028b0: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9b2f> +800028b4: 00747693 andi a3,s0,7 +800028b8: 00e47733 and a4,s0,a4 +800028bc: 00068a63 beqz a3,800028d0 <__floatsisf+0xf0> +800028c0: 00f47413 andi s0,s0,15 +800028c4: 00400693 li a3,4 +800028c8: 00d40463 beq s0,a3,800028d0 <__floatsisf+0xf0> +800028cc: 00470713 addi a4,a4,4 +800028d0: 00571693 slli a3,a4,0x5 +800028d4: 0006dc63 bgez a3,800028ec <__floatsisf+0x10c> +800028d8: fc0007b7 lui a5,0xfc000 +800028dc: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff9b2f> +800028e0: 00f77733 and a4,a4,a5 +800028e4: 09f00793 li a5,159 +800028e8: 40a787b3 sub a5,a5,a0 +800028ec: 00375413 srli s0,a4,0x3 +800028f0: f3dff06f j 8000282c <__floatsisf+0x4c> +800028f4: 00000413 li s0,0 +800028f8: 00000793 li a5,0 +800028fc: 00000493 li s1,0 +80002900: f2dff06f j 8000282c <__floatsisf+0x4c> + +80002904 <__extendsfdf2>: +80002904: 01755793 srli a5,a0,0x17 +80002908: ff010113 addi sp,sp,-16 +8000290c: 0ff7f793 andi a5,a5,255 +80002910: 00812423 sw s0,8(sp) +80002914: 00178713 addi a4,a5,1 +80002918: 00800437 lui s0,0x800 +8000291c: 00912223 sw s1,4(sp) +80002920: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002924: 00112623 sw ra,12(sp) +80002928: 0ff77713 andi a4,a4,255 +8000292c: 00100693 li a3,1 +80002930: 00a47433 and s0,s0,a0 +80002934: 01f55493 srli s1,a0,0x1f +80002938: 06e6d263 ble a4,a3,8000299c <__extendsfdf2+0x98> +8000293c: 38078513 addi a0,a5,896 +80002940: 00345793 srli a5,s0,0x3 +80002944: 01d41413 slli s0,s0,0x1d +80002948: 00100737 lui a4,0x100 +8000294c: fff70713 addi a4,a4,-1 # fffff <_stack_size+0xffbff> +80002950: 00e7f7b3 and a5,a5,a4 +80002954: 80100737 lui a4,0x80100 +80002958: fff70713 addi a4,a4,-1 # 800fffff <_stack_start+0xf9b2f> +8000295c: 7ff57513 andi a0,a0,2047 +80002960: 01451513 slli a0,a0,0x14 +80002964: 00e7f7b3 and a5,a5,a4 +80002968: 80000737 lui a4,0x80000 +8000296c: 00a7e7b3 or a5,a5,a0 +80002970: fff74713 not a4,a4 +80002974: 01f49513 slli a0,s1,0x1f +80002978: 00e7f7b3 and a5,a5,a4 +8000297c: 00a7e733 or a4,a5,a0 +80002980: 00c12083 lw ra,12(sp) +80002984: 00040513 mv a0,s0 +80002988: 00812403 lw s0,8(sp) +8000298c: 00412483 lw s1,4(sp) +80002990: 00070593 mv a1,a4 +80002994: 01010113 addi sp,sp,16 +80002998: 00008067 ret +8000299c: 04079463 bnez a5,800029e4 <__extendsfdf2+0xe0> +800029a0: 06040263 beqz s0,80002a04 <__extendsfdf2+0x100> +800029a4: 00040513 mv a0,s0 +800029a8: 2d8000ef jal ra,80002c80 <__clzsi2> +800029ac: 00a00793 li a5,10 +800029b0: 02a7c263 blt a5,a0,800029d4 <__extendsfdf2+0xd0> +800029b4: 00b00793 li a5,11 +800029b8: 40a787b3 sub a5,a5,a0 +800029bc: 01550713 addi a4,a0,21 +800029c0: 00f457b3 srl a5,s0,a5 +800029c4: 00e41433 sll s0,s0,a4 +800029c8: 38900713 li a4,905 +800029cc: 40a70533 sub a0,a4,a0 +800029d0: f79ff06f j 80002948 <__extendsfdf2+0x44> +800029d4: ff550793 addi a5,a0,-11 +800029d8: 00f417b3 sll a5,s0,a5 +800029dc: 00000413 li s0,0 +800029e0: fe9ff06f j 800029c8 <__extendsfdf2+0xc4> +800029e4: 00000793 li a5,0 +800029e8: 00040a63 beqz s0,800029fc <__extendsfdf2+0xf8> +800029ec: 00345793 srli a5,s0,0x3 +800029f0: 00080737 lui a4,0x80 +800029f4: 01d41413 slli s0,s0,0x1d +800029f8: 00e7e7b3 or a5,a5,a4 +800029fc: 7ff00513 li a0,2047 +80002a00: f49ff06f j 80002948 <__extendsfdf2+0x44> +80002a04: 00000793 li a5,0 +80002a08: 00000513 li a0,0 +80002a0c: f3dff06f j 80002948 <__extendsfdf2+0x44> + +80002a10 <__truncdfsf2>: +80002a10: 00100637 lui a2,0x100 +80002a14: fff60613 addi a2,a2,-1 # fffff <_stack_size+0xffbff> +80002a18: 00b67633 and a2,a2,a1 +80002a1c: 0145d813 srli a6,a1,0x14 +80002a20: 01d55793 srli a5,a0,0x1d +80002a24: 7ff87813 andi a6,a6,2047 +80002a28: 00361613 slli a2,a2,0x3 +80002a2c: 00c7e633 or a2,a5,a2 +80002a30: 00180793 addi a5,a6,1 +80002a34: 7ff7f793 andi a5,a5,2047 +80002a38: 00100693 li a3,1 +80002a3c: 01f5d593 srli a1,a1,0x1f +80002a40: 00351713 slli a4,a0,0x3 +80002a44: 0af6d663 ble a5,a3,80002af0 <__truncdfsf2+0xe0> +80002a48: c8080693 addi a3,a6,-896 +80002a4c: 0fe00793 li a5,254 +80002a50: 0cd7c263 blt a5,a3,80002b14 <__truncdfsf2+0x104> +80002a54: 08d04063 bgtz a3,80002ad4 <__truncdfsf2+0xc4> +80002a58: fe900793 li a5,-23 +80002a5c: 12f6c463 blt a3,a5,80002b84 <__truncdfsf2+0x174> +80002a60: 008007b7 lui a5,0x800 +80002a64: 01e00513 li a0,30 +80002a68: 00f66633 or a2,a2,a5 +80002a6c: 40d50533 sub a0,a0,a3 +80002a70: 01f00793 li a5,31 +80002a74: 02a7c863 blt a5,a0,80002aa4 <__truncdfsf2+0x94> +80002a78: c8280813 addi a6,a6,-894 +80002a7c: 010717b3 sll a5,a4,a6 +80002a80: 00f037b3 snez a5,a5 +80002a84: 01061633 sll a2,a2,a6 +80002a88: 00a75533 srl a0,a4,a0 +80002a8c: 00c7e7b3 or a5,a5,a2 +80002a90: 00f567b3 or a5,a0,a5 +80002a94: 00000693 li a3,0 +80002a98: 0077f713 andi a4,a5,7 +80002a9c: 08070063 beqz a4,80002b1c <__truncdfsf2+0x10c> +80002aa0: 0ec0006f j 80002b8c <__truncdfsf2+0x17c> +80002aa4: ffe00793 li a5,-2 +80002aa8: 40d786b3 sub a3,a5,a3 +80002aac: 02000793 li a5,32 +80002ab0: 00d656b3 srl a3,a2,a3 +80002ab4: 00000893 li a7,0 +80002ab8: 00f50663 beq a0,a5,80002ac4 <__truncdfsf2+0xb4> +80002abc: ca280813 addi a6,a6,-862 +80002ac0: 010618b3 sll a7,a2,a6 +80002ac4: 00e8e7b3 or a5,a7,a4 +80002ac8: 00f037b3 snez a5,a5 +80002acc: 00f6e7b3 or a5,a3,a5 +80002ad0: fc5ff06f j 80002a94 <__truncdfsf2+0x84> +80002ad4: 00651513 slli a0,a0,0x6 +80002ad8: 00a03533 snez a0,a0 +80002adc: 00361613 slli a2,a2,0x3 +80002ae0: 01d75793 srli a5,a4,0x1d +80002ae4: 00c56633 or a2,a0,a2 +80002ae8: 00f667b3 or a5,a2,a5 +80002aec: fadff06f j 80002a98 <__truncdfsf2+0x88> +80002af0: 00e667b3 or a5,a2,a4 +80002af4: 00081663 bnez a6,80002b00 <__truncdfsf2+0xf0> +80002af8: 00f037b3 snez a5,a5 +80002afc: f99ff06f j 80002a94 <__truncdfsf2+0x84> +80002b00: 0ff00693 li a3,255 +80002b04: 00078c63 beqz a5,80002b1c <__truncdfsf2+0x10c> +80002b08: 00361613 slli a2,a2,0x3 +80002b0c: 020007b7 lui a5,0x2000 +80002b10: fd9ff06f j 80002ae8 <__truncdfsf2+0xd8> +80002b14: 00000793 li a5,0 +80002b18: 0ff00693 li a3,255 +80002b1c: 00579713 slli a4,a5,0x5 +80002b20: 00075e63 bgez a4,80002b3c <__truncdfsf2+0x12c> +80002b24: 00168693 addi a3,a3,1 +80002b28: 0ff00713 li a4,255 +80002b2c: 06e68a63 beq a3,a4,80002ba0 <__truncdfsf2+0x190> +80002b30: fc000737 lui a4,0xfc000 +80002b34: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9b2f> +80002b38: 00e7f7b3 and a5,a5,a4 +80002b3c: 0ff00713 li a4,255 +80002b40: 0037d793 srli a5,a5,0x3 +80002b44: 00e69863 bne a3,a4,80002b54 <__truncdfsf2+0x144> +80002b48: 00078663 beqz a5,80002b54 <__truncdfsf2+0x144> +80002b4c: 004007b7 lui a5,0x400 +80002b50: 00000593 li a1,0 +80002b54: 00800537 lui a0,0x800 +80002b58: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002b5c: 00a7f7b3 and a5,a5,a0 +80002b60: 80800537 lui a0,0x80800 +80002b64: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9b2f> +80002b68: 0ff6f693 andi a3,a3,255 +80002b6c: 01769693 slli a3,a3,0x17 +80002b70: 00a7f7b3 and a5,a5,a0 +80002b74: 01f59593 slli a1,a1,0x1f +80002b78: 00d7e7b3 or a5,a5,a3 +80002b7c: 00b7e533 or a0,a5,a1 +80002b80: 00008067 ret +80002b84: 00100793 li a5,1 +80002b88: 00000693 li a3,0 +80002b8c: 00f7f713 andi a4,a5,15 +80002b90: 00400613 li a2,4 +80002b94: f8c704e3 beq a4,a2,80002b1c <__truncdfsf2+0x10c> +80002b98: 00478793 addi a5,a5,4 # 400004 <_stack_size+0x3ffc04> +80002b9c: f81ff06f j 80002b1c <__truncdfsf2+0x10c> +80002ba0: 00000793 li a5,0 +80002ba4: f99ff06f j 80002b3c <__truncdfsf2+0x12c> + +80002ba8 <__mulsi3>: +80002ba8: 00050613 mv a2,a0 +80002bac: 00000513 li a0,0 +80002bb0: 0015f693 andi a3,a1,1 +80002bb4: 00068463 beqz a3,80002bbc <__mulsi3+0x14> +80002bb8: 00c50533 add a0,a0,a2 +80002bbc: 0015d593 srli a1,a1,0x1 +80002bc0: 00161613 slli a2,a2,0x1 +80002bc4: fe0596e3 bnez a1,80002bb0 <__mulsi3+0x8> +80002bc8: 00008067 ret + +80002bcc <__divsi3>: +80002bcc: 06054063 bltz a0,80002c2c <__umodsi3+0x10> +80002bd0: 0605c663 bltz a1,80002c3c <__umodsi3+0x20> + +80002bd4 <__udivsi3>: +80002bd4: 00058613 mv a2,a1 +80002bd8: 00050593 mv a1,a0 +80002bdc: fff00513 li a0,-1 +80002be0: 02060c63 beqz a2,80002c18 <__udivsi3+0x44> +80002be4: 00100693 li a3,1 +80002be8: 00b67a63 bleu a1,a2,80002bfc <__udivsi3+0x28> +80002bec: 00c05863 blez a2,80002bfc <__udivsi3+0x28> +80002bf0: 00161613 slli a2,a2,0x1 +80002bf4: 00169693 slli a3,a3,0x1 +80002bf8: feb66ae3 bltu a2,a1,80002bec <__udivsi3+0x18> +80002bfc: 00000513 li a0,0 +80002c00: 00c5e663 bltu a1,a2,80002c0c <__udivsi3+0x38> +80002c04: 40c585b3 sub a1,a1,a2 +80002c08: 00d56533 or a0,a0,a3 +80002c0c: 0016d693 srli a3,a3,0x1 +80002c10: 00165613 srli a2,a2,0x1 +80002c14: fe0696e3 bnez a3,80002c00 <__udivsi3+0x2c> +80002c18: 00008067 ret + +80002c1c <__umodsi3>: +80002c1c: 00008293 mv t0,ra +80002c20: fb5ff0ef jal ra,80002bd4 <__udivsi3> +80002c24: 00058513 mv a0,a1 +80002c28: 00028067 jr t0 +80002c2c: 40a00533 neg a0,a0 +80002c30: 0005d863 bgez a1,80002c40 <__umodsi3+0x24> +80002c34: 40b005b3 neg a1,a1 +80002c38: f9dff06f j 80002bd4 <__udivsi3> +80002c3c: 40b005b3 neg a1,a1 +80002c40: 00008293 mv t0,ra +80002c44: f91ff0ef jal ra,80002bd4 <__udivsi3> +80002c48: 40a00533 neg a0,a0 +80002c4c: 00028067 jr t0 + +80002c50 <__modsi3>: +80002c50: 00008293 mv t0,ra +80002c54: 0005ca63 bltz a1,80002c68 <__modsi3+0x18> +80002c58: 00054c63 bltz a0,80002c70 <__modsi3+0x20> +80002c5c: f79ff0ef jal ra,80002bd4 <__udivsi3> +80002c60: 00058513 mv a0,a1 +80002c64: 00028067 jr t0 +80002c68: 40b005b3 neg a1,a1 +80002c6c: fe0558e3 bgez a0,80002c5c <__modsi3+0xc> +80002c70: 40a00533 neg a0,a0 +80002c74: f61ff0ef jal ra,80002bd4 <__udivsi3> +80002c78: 40b00533 neg a0,a1 +80002c7c: 00028067 jr t0 + +80002c80 <__clzsi2>: +80002c80: 000107b7 lui a5,0x10 +80002c84: 02f57a63 bleu a5,a0,80002cb8 <__clzsi2+0x38> +80002c88: 0ff00793 li a5,255 +80002c8c: 00a7b7b3 sltu a5,a5,a0 +80002c90: 00379793 slli a5,a5,0x3 +80002c94: 02000713 li a4,32 +80002c98: 40f70733 sub a4,a4,a5 +80002c9c: 00f557b3 srl a5,a0,a5 +80002ca0: 00000517 auipc a0,0x0 +80002ca4: 6fc50513 addi a0,a0,1788 # 8000339c <__clz_tab> +80002ca8: 00f507b3 add a5,a0,a5 +80002cac: 0007c503 lbu a0,0(a5) # 10000 <_stack_size+0xfc00> +80002cb0: 40a70533 sub a0,a4,a0 +80002cb4: 00008067 ret +80002cb8: 01000737 lui a4,0x1000 +80002cbc: 01000793 li a5,16 +80002cc0: fce56ae3 bltu a0,a4,80002c94 <__clzsi2+0x14> +80002cc4: 01800793 li a5,24 +80002cc8: fcdff06f j 80002c94 <__clzsi2+0x14> + +Disassembly of section .text.startup: + +80002ccc
: +int main() { +80002ccc: 1141 addi sp,sp,-16 +80002cce: c606 sw ra,12(sp) + main2(); +80002cd0: d4cfd0ef jal ra,8000021c +} +80002cd4: 40b2 lw ra,12(sp) + TEST_COM_BASE[8] = 0; +80002cd6: f01007b7 lui a5,0xf0100 +80002cda: f207a023 sw zero,-224(a5) # f00fff20 <_stack_start+0x700f9a50> +} +80002cde: 4501 li a0,0 +80002ce0: 0141 addi sp,sp,16 +80002ce2: 8082 ret diff --git a/src/test/resources/asm/dhrystoneO3MC.asm b/src/test/resources/asm/dhrystoneO3MC.asm new file mode 100644 index 0000000..076a117 --- /dev/null +++ b/src/test/resources/asm/dhrystoneO3MC.asm @@ -0,0 +1,3554 @@ + +build/dhrystone.elf: file format elf32-littleriscv + + +Disassembly of section .vector: + +80000000 : +.global crtStart +.global main +.global irqCallback + +crtStart: + j crtInit +80000000: a8ad j 8000007a + nop +80000002: 0001 nop + nop +80000004: 0001 nop + nop +80000006: 0001 nop + nop +80000008: 0001 nop + nop +8000000a: 0001 nop + nop +8000000c: 0001 nop + nop +8000000e: 0001 nop + +80000010 : + +.global trap_entry +trap_entry: + sw x1, - 1*4(sp) +80000010: fe112e23 sw ra,-4(sp) + sw x5, - 2*4(sp) +80000014: fe512c23 sw t0,-8(sp) + sw x6, - 3*4(sp) +80000018: fe612a23 sw t1,-12(sp) + sw x7, - 4*4(sp) +8000001c: fe712823 sw t2,-16(sp) + sw x10, - 5*4(sp) +80000020: fea12623 sw a0,-20(sp) + sw x11, - 6*4(sp) +80000024: feb12423 sw a1,-24(sp) + sw x12, - 7*4(sp) +80000028: fec12223 sw a2,-28(sp) + sw x13, - 8*4(sp) +8000002c: fed12023 sw a3,-32(sp) + sw x14, - 9*4(sp) +80000030: fce12e23 sw a4,-36(sp) + sw x15, -10*4(sp) +80000034: fcf12c23 sw a5,-40(sp) + sw x16, -11*4(sp) +80000038: fd012a23 sw a6,-44(sp) + sw x17, -12*4(sp) +8000003c: fd112823 sw a7,-48(sp) + sw x28, -13*4(sp) +80000040: fdc12623 sw t3,-52(sp) + sw x29, -14*4(sp) +80000044: fdd12423 sw t4,-56(sp) + sw x30, -15*4(sp) +80000048: fde12223 sw t5,-60(sp) + sw x31, -16*4(sp) +8000004c: fdf12023 sw t6,-64(sp) + addi sp,sp,-16*4 +80000050: 7139 addi sp,sp,-64 + call irqCallback +80000052: 28ad jal 800000cc + lw x1 , 15*4(sp) +80000054: 50f2 lw ra,60(sp) + lw x5, 14*4(sp) +80000056: 52e2 lw t0,56(sp) + lw x6, 13*4(sp) +80000058: 5352 lw t1,52(sp) + lw x7, 12*4(sp) +8000005a: 53c2 lw t2,48(sp) + lw x10, 11*4(sp) +8000005c: 5532 lw a0,44(sp) + lw x11, 10*4(sp) +8000005e: 55a2 lw a1,40(sp) + lw x12, 9*4(sp) +80000060: 5612 lw a2,36(sp) + lw x13, 8*4(sp) +80000062: 5682 lw a3,32(sp) + lw x14, 7*4(sp) +80000064: 4772 lw a4,28(sp) + lw x15, 6*4(sp) +80000066: 47e2 lw a5,24(sp) + lw x16, 5*4(sp) +80000068: 4852 lw a6,20(sp) + lw x17, 4*4(sp) +8000006a: 48c2 lw a7,16(sp) + lw x28, 3*4(sp) +8000006c: 4e32 lw t3,12(sp) + lw x29, 2*4(sp) +8000006e: 4ea2 lw t4,8(sp) + lw x30, 1*4(sp) +80000070: 4f12 lw t5,4(sp) + lw x31, 0*4(sp) +80000072: 4f82 lw t6,0(sp) + addi sp,sp,16*4 +80000074: 6121 addi sp,sp,64 + mret +80000076: 30200073 mret + +8000007a : + + +crtInit: + .option push + .option norelax + la gp, __global_pointer$ +8000007a: 00004197 auipc gp,0x4 +8000007e: 82e18193 addi gp,gp,-2002 # 800038a8 <__global_pointer$> + .option pop + la sp, _stack_start +80000082: 00006117 auipc sp,0x6 +80000086: 04e10113 addi sp,sp,78 # 800060d0 <_stack_start> + +8000008a : + +bss_init: + la a0, _bss_start +8000008a: 81c18513 addi a0,gp,-2020 # 800030c4 + la a1, _bss_end +8000008e: 00006597 auipc a1,0x6 +80000092: c3e58593 addi a1,a1,-962 # 80005ccc <_bss_end> + +80000096 : +bss_loop: + beq a0,a1,bss_done +80000096: 00b50663 beq a0,a1,800000a2 + sw zero,0(a0) +8000009a: 00052023 sw zero,0(a0) + add a0,a0,4 +8000009e: 0511 addi a0,a0,4 + j bss_loop +800000a0: bfdd j 80000096 + +800000a2 : +bss_done: + +ctors_init: + la a0, _ctors_start +800000a2: 00003517 auipc a0,0x3 +800000a6: 00250513 addi a0,a0,2 # 800030a4 <_ctors_end> + addi sp,sp,-4 +800000aa: 1171 addi sp,sp,-4 + +800000ac : +ctors_loop: + la a1, _ctors_end +800000ac: 00003597 auipc a1,0x3 +800000b0: ff858593 addi a1,a1,-8 # 800030a4 <_ctors_end> + beq a0,a1,ctors_done +800000b4: 00b50863 beq a0,a1,800000c4 + lw a3,0(a0) +800000b8: 4114 lw a3,0(a0) + add a0,a0,4 +800000ba: 0511 addi a0,a0,4 + sw a0,0(sp) +800000bc: c02a sw a0,0(sp) + jalr a3 +800000be: 9682 jalr a3 + lw a0,0(sp) +800000c0: 4502 lw a0,0(sp) + j ctors_loop +800000c2: b7ed j 800000ac + +800000c4 : +ctors_done: + addi sp,sp,4 +800000c4: 0111 addi sp,sp,4 + //li a0, 0x880 //880 enable timer + external interrupts + //csrw mie,a0 + //li a0, 0x1808 //1808 enable interrupts + //csrw mstatus,a0 + + call main +800000c6: 00f020ef jal ra,800028d4 + +800000ca : +infinitLoop: + j infinitLoop +800000ca: a001 j 800000ca + +Disassembly of section .memory: + +800000cc : +} + + +void irqCallback(int irq){ + +} +800000cc: 8082 ret + +800000ce : + One_Fifty Int_Loc; + Enumeration Enum_Loc; + + Int_Loc = *Int_Par_Ref + 10; + do /* executed once */ + if (Ch_1_Glob == 'A') +800000ce: 8351c703 lbu a4,-1995(gp) # 800030dd +800000d2: 04100793 li a5,65 +800000d6: 00f70363 beq a4,a5,800000dc + Int_Loc -= 1; + *Int_Par_Ref = Int_Loc - Int_Glob; + Enum_Loc = Ident_1; + } /* if */ + while (Enum_Loc != Ident_1); /* true */ +} /* Proc_2 */ +800000da: 8082 ret + Int_Loc -= 1; +800000dc: 411c lw a5,0(a0) + *Int_Par_Ref = Int_Loc - Int_Glob; +800000de: 83c1a703 lw a4,-1988(gp) # 800030e4 + Int_Loc -= 1; +800000e2: 07a5 addi a5,a5,9 + *Int_Par_Ref = Int_Loc - Int_Glob; +800000e4: 8f99 sub a5,a5,a4 +800000e6: c11c sw a5,0(a0) +} /* Proc_2 */ +800000e8: 8082 ret + +800000ea : + /* Ptr_Ref_Par becomes Ptr_Glob */ + +Rec_Pointer *Ptr_Ref_Par; + +{ + if (Ptr_Glob != Null) +800000ea: 8441a603 lw a2,-1980(gp) # 800030ec +800000ee: c609 beqz a2,800000f8 + /* then, executed */ + *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp; +800000f0: 4218 lw a4,0(a2) +800000f2: c118 sw a4,0(a0) +800000f4: 8441a603 lw a2,-1980(gp) # 800030ec + Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp); +800000f8: 83c1a583 lw a1,-1988(gp) # 800030e4 +800000fc: 0631 addi a2,a2,12 +800000fe: 4529 li a0,10 +80000100: 6c80006f j 800007c8 + +80000104 : +{ +80000104: 1141 addi sp,sp,-16 +80000106: c04a sw s2,0(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000108: 8441a783 lw a5,-1980(gp) # 800030ec +{ +8000010c: c422 sw s0,8(sp) + REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp; +8000010e: 4100 lw s0,0(a0) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000110: 4398 lw a4,0(a5) +{ +80000112: c226 sw s1,4(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000114: 0047ae83 lw t4,4(a5) +80000118: 0087ae03 lw t3,8(a5) +8000011c: 0107a303 lw t1,16(a5) +80000120: 0147a883 lw a7,20(a5) +80000124: 0187a803 lw a6,24(a5) +80000128: 538c lw a1,32(a5) +8000012a: 53d0 lw a2,36(a5) +8000012c: 5794 lw a3,40(a5) +{ +8000012e: c606 sw ra,12(sp) +80000130: 84aa mv s1,a0 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000132: 4fc8 lw a0,28(a5) +80000134: 57dc lw a5,44(a5) +80000136: c018 sw a4,0(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +80000138: 4098 lw a4,0(s1) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +8000013a: cc48 sw a0,28(s0) +8000013c: d45c sw a5,44(s0) +8000013e: 01d42223 sw t4,4(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +80000142: 4795 li a5,5 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000144: 01c42423 sw t3,8(s0) +80000148: 00642823 sw t1,16(s0) +8000014c: 01142a23 sw a7,20(s0) +80000150: 01042c23 sw a6,24(s0) +80000154: d00c sw a1,32(s0) +80000156: d050 sw a2,36(s0) +80000158: d414 sw a3,40(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +8000015a: c4dc sw a5,12(s1) + = Ptr_Val_Par->variant.var_1.Int_Comp; +8000015c: c45c sw a5,12(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +8000015e: c018 sw a4,0(s0) + Proc_3 (&Next_Record->Ptr_Comp); +80000160: 8522 mv a0,s0 +80000162: 3761 jal 800000ea + if (Next_Record->Discr == Ident_1) +80000164: 405c lw a5,4(s0) +80000166: cfb1 beqz a5,800001c2 + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +80000168: 409c lw a5,0(s1) +} /* Proc_1 */ +8000016a: 40b2 lw ra,12(sp) +8000016c: 4422 lw s0,8(sp) + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +8000016e: 0007af83 lw t6,0(a5) +80000172: 0047af03 lw t5,4(a5) +80000176: 0087ae83 lw t4,8(a5) +8000017a: 00c7ae03 lw t3,12(a5) +8000017e: 0107a303 lw t1,16(a5) +80000182: 0147a883 lw a7,20(a5) +80000186: 0187a803 lw a6,24(a5) +8000018a: 4fcc lw a1,28(a5) +8000018c: 5390 lw a2,32(a5) +8000018e: 53d4 lw a3,36(a5) +80000190: 5798 lw a4,40(a5) +80000192: 57dc lw a5,44(a5) +80000194: 01f4a023 sw t6,0(s1) +80000198: 01e4a223 sw t5,4(s1) +8000019c: 01d4a423 sw t4,8(s1) +800001a0: 01c4a623 sw t3,12(s1) +800001a4: 0064a823 sw t1,16(s1) +800001a8: 0114aa23 sw a7,20(s1) +800001ac: 0104ac23 sw a6,24(s1) +800001b0: cccc sw a1,28(s1) +800001b2: d090 sw a2,32(s1) +800001b4: d0d4 sw a3,36(s1) +800001b6: d498 sw a4,40(s1) +800001b8: d4dc sw a5,44(s1) +} /* Proc_1 */ +800001ba: 4902 lw s2,0(sp) +800001bc: 4492 lw s1,4(sp) +800001be: 0141 addi sp,sp,16 +800001c0: 8082 ret + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001c2: 4488 lw a0,8(s1) + Next_Record->variant.var_1.Int_Comp = 6; +800001c4: 4799 li a5,6 + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001c6: 00840593 addi a1,s0,8 + Next_Record->variant.var_1.Int_Comp = 6; +800001ca: c45c sw a5,12(s0) + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001cc: 69e000ef jal ra,8000086a + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001d0: 8441a783 lw a5,-1980(gp) # 800030ec + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001d4: 4448 lw a0,12(s0) +800001d6: 00c40613 addi a2,s0,12 + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001da: 439c lw a5,0(a5) +} /* Proc_1 */ +800001dc: 40b2 lw ra,12(sp) +800001de: 4492 lw s1,4(sp) + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001e0: c01c sw a5,0(s0) +} /* Proc_1 */ +800001e2: 4422 lw s0,8(sp) +800001e4: 4902 lw s2,0(sp) + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001e6: 45a9 li a1,10 +} /* Proc_1 */ +800001e8: 0141 addi sp,sp,16 + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001ea: 5de0006f j 800007c8 + +800001ee : +/*******/ + /* executed once */ +{ + Boolean Bool_Loc; + + Bool_Loc = Ch_1_Glob == 'A'; +800001ee: 8351c783 lbu a5,-1995(gp) # 800030dd + Bool_Glob = Bool_Loc | Bool_Glob; +800001f2: 8381a683 lw a3,-1992(gp) # 800030e0 + Bool_Loc = Ch_1_Glob == 'A'; +800001f6: fbf78793 addi a5,a5,-65 +800001fa: 0017b793 seqz a5,a5 + Bool_Glob = Bool_Loc | Bool_Glob; +800001fe: 8fd5 or a5,a5,a3 +80000200: 82f1ac23 sw a5,-1992(gp) # 800030e0 + Ch_2_Glob = 'B'; +80000204: 04200713 li a4,66 +80000208: 82e18a23 sb a4,-1996(gp) # 800030dc +} /* Proc_4 */ +8000020c: 8082 ret + +8000020e : + +Proc_5 () /* without parameters */ +/*******/ + /* executed once */ +{ + Ch_1_Glob = 'A'; +8000020e: 04100713 li a4,65 +80000212: 82e18aa3 sb a4,-1995(gp) # 800030dd + Bool_Glob = false; +80000216: 8201ac23 sw zero,-1992(gp) # 800030e0 +} /* Proc_5 */ +8000021a: 8082 ret + +8000021c : +{ +8000021c: 7135 addi sp,sp,-160 + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000021e: 03000513 li a0,48 +{ +80000222: cf06 sw ra,156(sp) +80000224: cd22 sw s0,152(sp) +80000226: dae6 sw s9,116(sp) +80000228: d6ee sw s11,108(sp) +8000022a: cb26 sw s1,148(sp) +8000022c: c94a sw s2,144(sp) +8000022e: c74e sw s3,140(sp) +80000230: c552 sw s4,136(sp) +80000232: c356 sw s5,132(sp) +80000234: c15a sw s6,128(sp) +80000236: dede sw s7,124(sp) +80000238: dce2 sw s8,120(sp) +8000023a: d8ea sw s10,112(sp) + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000023c: 714000ef jal ra,80000950 +80000240: 84a1a023 sw a0,-1984(gp) # 800030e8 + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000244: 03000513 li a0,48 +80000248: 708000ef jal ra,80000950 + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +8000024c: 8401a783 lw a5,-1984(gp) # 800030e8 + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000250: 84a1a223 sw a0,-1980(gp) # 800030ec + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +80000254: c11c sw a5,0(a0) + Ptr_Glob->variant.var_1.Enum_Comp = Ident_3; +80000256: 4789 li a5,2 +80000258: c51c sw a5,8(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +8000025a: 800035b7 lui a1,0x80003 + Ptr_Glob->variant.var_1.Int_Comp = 40; +8000025e: 02800793 li a5,40 +80000262: c55c sw a5,12(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +80000264: 467d li a2,31 +80000266: 8ec58593 addi a1,a1,-1812 # 800028ec <_stack_start+0xffffc81c> + Ptr_Glob->Discr = Ident_1; +8000026a: 00052223 sw zero,4(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +8000026e: 0541 addi a0,a0,16 +80000270: 7e4000ef jal ra,80000a54 + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +80000274: 80003737 lui a4,0x80003 +80000278: e5470793 addi a5,a4,-428 # 80002e54 <_stack_start+0xffffcd84> +8000027c: e5472e03 lw t3,-428(a4) +80000280: 0047a303 lw t1,4(a5) +80000284: 0087a883 lw a7,8(a5) +80000288: 00c7a803 lw a6,12(a5) +8000028c: 4b8c lw a1,16(a5) +8000028e: 4bd0 lw a2,20(a5) +80000290: 4f94 lw a3,24(a5) +80000292: 01c7d703 lhu a4,28(a5) +80000296: 01e7c783 lbu a5,30(a5) + Arr_2_Glob [8][7] = 10; +8000029a: 80003db7 lui s11,0x80003 + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +8000029e: 02e11e23 sh a4,60(sp) +800002a2: 02f10f23 sb a5,62(sp) + Arr_2_Glob [8][7] = 10; +800002a6: 1bcd8713 addi a4,s11,444 # 800031bc <_stack_start+0xffffd0ec> +800002aa: 47a9 li a5,10 + printf ("\n"); +800002ac: 4529 li a0,10 + Arr_2_Glob [8][7] = 10; +800002ae: 64f72e23 sw a5,1628(a4) + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +800002b2: d072 sw t3,32(sp) +800002b4: d21a sw t1,36(sp) +800002b6: d446 sw a7,40(sp) +800002b8: d642 sw a6,44(sp) +800002ba: d82e sw a1,48(sp) +800002bc: da32 sw a2,52(sp) +800002be: dc36 sw a3,56(sp) + printf ("\n"); +800002c0: 77e000ef jal ra,80000a3e + printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n"); +800002c4: 80003537 lui a0,0x80003 +800002c8: 90c50513 addi a0,a0,-1780 # 8000290c <_stack_start+0xffffc83c> +800002cc: 74c000ef jal ra,80000a18 + printf ("\n"); +800002d0: 4529 li a0,10 +800002d2: 76c000ef jal ra,80000a3e + if (Reg) +800002d6: 8301a783 lw a5,-2000(gp) # 800030d8 +800002da: 4a078e63 beqz a5,80000796 + printf ("Program compiled with 'register' attribute\n"); +800002de: 80003537 lui a0,0x80003 +800002e2: 93c50513 addi a0,a0,-1732 # 8000293c <_stack_start+0xffffc86c> +800002e6: 732000ef jal ra,80000a18 + printf ("\n"); +800002ea: 4529 li a0,10 +800002ec: 752000ef jal ra,80000a3e + printf ("Please give the number of runs through the benchmark: "); +800002f0: 80003537 lui a0,0x80003 +800002f4: 99850513 addi a0,a0,-1640 # 80002998 <_stack_start+0xffffc8c8> +800002f8: 67a000ef jal ra,80000972 + printf ("\n"); +800002fc: 4529 li a0,10 +800002fe: 740000ef jal ra,80000a3e + printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs); +80000302: 80003537 lui a0,0x80003 +80000306: 0c800593 li a1,200 +8000030a: 9d050513 addi a0,a0,-1584 # 800029d0 <_stack_start+0xffffc900> +8000030e: 664000ef jal ra,80000972 + Begin_Time = clock(); +80000312: 736000ef jal ra,80000a48 +80000316: 80003437 lui s0,0x80003 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +8000031a: e7442783 lw a5,-396(s0) # 80002e74 <_stack_start+0xffffcda4> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000031e: 80003d37 lui s10,0x80003 +80000322: e94d2c03 lw s8,-364(s10) # 80002e94 <_stack_start+0xffffcdc4> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000326: c63e sw a5,12(sp) + Begin_Time = clock(); +80000328: 82a1a623 sw a0,-2004(gp) # 800030d4 + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +8000032c: 4985 li s3,1 +8000032e: e7440413 addi s0,s0,-396 + Int_1_Loc = 2; +80000332: 4489 li s1,2 + Proc_5(); +80000334: 3de9 jal 8000020e + Proc_4(); +80000336: 3d65 jal 800001ee + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000338: 01e44783 lbu a5,30(s0) +8000033c: 4850 lw a2,20(s0) +8000033e: 00442e03 lw t3,4(s0) +80000342: 00842303 lw t1,8(s0) +80000346: 00c42883 lw a7,12(s0) +8000034a: 01042803 lw a6,16(s0) +8000034e: 4c14 lw a3,24(s0) +80000350: 01c45703 lhu a4,28(s0) +80000354: 4eb2 lw t4,12(sp) +80000356: 04f10f23 sb a5,94(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000035a: 008c addi a1,sp,64 + Enum_Loc = Ident_2; +8000035c: 4785 li a5,1 + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000035e: 1008 addi a0,sp,32 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000360: cab2 sw a2,84(sp) + Enum_Loc = Ident_2; +80000362: ce3e sw a5,28(sp) + Int_1_Loc = 2; +80000364: ca26 sw s1,20(sp) + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000366: c0f6 sw t4,64(sp) +80000368: c2f2 sw t3,68(sp) +8000036a: c49a sw t1,72(sp) +8000036c: c6c6 sw a7,76(sp) +8000036e: c8c2 sw a6,80(sp) +80000370: ccb6 sw a3,88(sp) +80000372: 04e11e23 sh a4,92(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +80000376: 2955 jal 8000082a + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000378: 4652 lw a2,20(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000037a: 00153513 seqz a0,a0 +8000037e: 82a1ac23 sw a0,-1992(gp) # 800030e0 + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000382: 02c4c063 blt s1,a2,800003a2 + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +80000386: 00261793 slli a5,a2,0x2 +8000038a: 97b2 add a5,a5,a2 +8000038c: 17f5 addi a5,a5,-3 + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +8000038e: 8532 mv a0,a2 +80000390: 458d li a1,3 +80000392: 0830 addi a2,sp,24 + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +80000394: cc3e sw a5,24(sp) + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +80000396: 290d jal 800007c8 + Int_1_Loc += 1; +80000398: 4652 lw a2,20(sp) +8000039a: 0605 addi a2,a2,1 +8000039c: ca32 sw a2,20(sp) + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +8000039e: fec4d4e3 ble a2,s1,80000386 + Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc); +800003a2: 46e2 lw a3,24(sp) +800003a4: 84c18513 addi a0,gp,-1972 # 800030f4 +800003a8: 1bcd8593 addi a1,s11,444 +800003ac: 2115 jal 800007d0 + Proc_1 (Ptr_Glob); +800003ae: 8441a503 lw a0,-1980(gp) # 800030ec + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003b2: 04100a93 li s5,65 + Int_2_Loc = 3; +800003b6: 4a0d li s4,3 + Proc_1 (Ptr_Glob); +800003b8: 33b1 jal 80000104 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003ba: 8341c703 lbu a4,-1996(gp) # 800030dc +800003be: 04000793 li a5,64 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +800003c2: e94d0b13 addi s6,s10,-364 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003c6: 02e7f163 bleu a4,a5,800003e8 + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +800003ca: 8556 mv a0,s5 +800003cc: 04300593 li a1,67 +800003d0: 2189 jal 80000812 +800003d2: 47f2 lw a5,28(sp) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003d4: 001a8713 addi a4,s5,1 + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +800003d8: 36f50663 beq a0,a5,80000744 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003dc: 8341c783 lbu a5,-1996(gp) # 800030dc +800003e0: 0ff77a93 andi s5,a4,255 +800003e4: ff57f3e3 bleu s5,a5,800003ca + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003e8: 47d2 lw a5,20(sp) + Int_1_Loc = Int_2_Loc / Int_3_Loc; +800003ea: 4b62 lw s6,24(sp) + Proc_2 (&Int_1_Loc); +800003ec: 0848 addi a0,sp,20 + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003ee: 02fa0a33 mul s4,s4,a5 + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +800003f2: 0985 addi s3,s3,1 + Int_1_Loc = Int_2_Loc / Int_3_Loc; +800003f4: 036a4ab3 div s5,s4,s6 +800003f8: ca56 sw s5,20(sp) + Proc_2 (&Int_1_Loc); +800003fa: 39d1 jal 800000ce + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +800003fc: 0c900793 li a5,201 +80000400: f2f99ae3 bne s3,a5,80000334 + End_Time = clock(); +80000404: 644000ef jal ra,80000a48 +80000408: 82a1a423 sw a0,-2008(gp) # 800030d0 + printf ("Execution ends\n"); +8000040c: 80003537 lui a0,0x80003 +80000410: a0050513 addi a0,a0,-1536 # 80002a00 <_stack_start+0xffffc930> +80000414: 604000ef jal ra,80000a18 + printf ("\n"); +80000418: 4529 li a0,10 +8000041a: 624000ef jal ra,80000a3e + printf ("Final values of the variables used in the benchmark:\n"); +8000041e: 80003537 lui a0,0x80003 +80000422: a1050513 addi a0,a0,-1520 # 80002a10 <_stack_start+0xffffc940> +80000426: 5f2000ef jal ra,80000a18 + printf ("\n"); +8000042a: 4529 li a0,10 +8000042c: 612000ef jal ra,80000a3e + printf ("Int_Glob: %d\n", Int_Glob); +80000430: 83c1a583 lw a1,-1988(gp) # 800030e4 +80000434: 80003537 lui a0,0x80003 +80000438: a4850513 addi a0,a0,-1464 # 80002a48 <_stack_start+0xffffc978> + printf (" should be: %d\n", 5); +8000043c: 80003437 lui s0,0x80003 + printf ("Int_Glob: %d\n", Int_Glob); +80000440: 2b0d jal 80000972 + printf (" should be: %d\n", 5); +80000442: 4595 li a1,5 +80000444: a6440513 addi a0,s0,-1436 # 80002a64 <_stack_start+0xffffc994> +80000448: 232d jal 80000972 + printf ("Bool_Glob: %d\n", Bool_Glob); +8000044a: 8381a583 lw a1,-1992(gp) # 800030e0 +8000044e: 80003537 lui a0,0x80003 +80000452: a8050513 addi a0,a0,-1408 # 80002a80 <_stack_start+0xffffc9b0> +80000456: 2b31 jal 80000972 + printf (" should be: %d\n", 1); +80000458: 4585 li a1,1 +8000045a: a6440513 addi a0,s0,-1436 +8000045e: 2b11 jal 80000972 + printf ("Ch_1_Glob: %c\n", Ch_1_Glob); +80000460: 8351c583 lbu a1,-1995(gp) # 800030dd +80000464: 80003537 lui a0,0x80003 +80000468: a9c50513 addi a0,a0,-1380 # 80002a9c <_stack_start+0xffffc9cc> +8000046c: 2319 jal 80000972 + printf (" should be: %c\n", 'A'); +8000046e: 800034b7 lui s1,0x80003 +80000472: 04100593 li a1,65 +80000476: ab848513 addi a0,s1,-1352 # 80002ab8 <_stack_start+0xffffc9e8> +8000047a: 29e5 jal 80000972 + printf ("Ch_2_Glob: %c\n", Ch_2_Glob); +8000047c: 8341c583 lbu a1,-1996(gp) # 800030dc +80000480: 80003537 lui a0,0x80003 +80000484: ad450513 addi a0,a0,-1324 # 80002ad4 <_stack_start+0xffffca04> +80000488: 21ed jal 80000972 + printf (" should be: %c\n", 'B'); +8000048a: 04200593 li a1,66 +8000048e: ab848513 addi a0,s1,-1352 +80000492: 21c5 jal 80000972 + printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]); +80000494: 84c18793 addi a5,gp,-1972 # 800030f4 +80000498: 538c lw a1,32(a5) +8000049a: 80003537 lui a0,0x80003 +8000049e: af050513 addi a0,a0,-1296 # 80002af0 <_stack_start+0xffffca20> +800004a2: 29c1 jal 80000972 + printf (" should be: %d\n", 7); +800004a4: 459d li a1,7 +800004a6: a6440513 addi a0,s0,-1436 +800004aa: 21e1 jal 80000972 + printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]); +800004ac: 800037b7 lui a5,0x80003 +800004b0: 1bc78793 addi a5,a5,444 # 800031bc <_stack_start+0xffffd0ec> +800004b4: 65c7a583 lw a1,1628(a5) +800004b8: 80003537 lui a0,0x80003 +800004bc: b0c50513 addi a0,a0,-1268 # 80002b0c <_stack_start+0xffffca3c> +800004c0: 294d jal 80000972 + printf (" should be: Number_Of_Runs + 10\n"); +800004c2: 80003537 lui a0,0x80003 +800004c6: b2850513 addi a0,a0,-1240 # 80002b28 <_stack_start+0xffffca58> +800004ca: 54e000ef jal ra,80000a18 + printf ("Ptr_Glob->\n"); +800004ce: 80003537 lui a0,0x80003 +800004d2: b5450513 addi a0,a0,-1196 # 80002b54 <_stack_start+0xffffca84> +800004d6: 542000ef jal ra,80000a18 + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +800004da: 8441a703 lw a4,-1980(gp) # 800030ec +800004de: 800037b7 lui a5,0x80003 +800004e2: b6078513 addi a0,a5,-1184 # 80002b60 <_stack_start+0xffffca90> +800004e6: 430c lw a1,0(a4) +800004e8: c63e sw a5,12(sp) + printf (" Discr: %d\n", Ptr_Glob->Discr); +800004ea: 80003d37 lui s10,0x80003 + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +800004ee: 2151 jal 80000972 + printf (" should be: (implementation-dependent)\n"); +800004f0: 80003537 lui a0,0x80003 +800004f4: b7c50513 addi a0,a0,-1156 # 80002b7c <_stack_start+0xffffcaac> +800004f8: 2305 jal 80000a18 + printf (" Discr: %d\n", Ptr_Glob->Discr); +800004fa: 8441a703 lw a4,-1980(gp) # 800030ec +800004fe: bacd0513 addi a0,s10,-1108 # 80002bac <_stack_start+0xffffcadc> + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +80000502: 80003c37 lui s8,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +80000506: 434c lw a1,4(a4) + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +80000508: 80003bb7 lui s7,0x80003 + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +8000050c: 800039b7 lui s3,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +80000510: 218d jal 80000972 + printf (" should be: %d\n", 0); +80000512: 4581 li a1,0 +80000514: a6440513 addi a0,s0,-1436 +80000518: 29a9 jal 80000972 + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +8000051a: 8441a703 lw a4,-1980(gp) # 800030ec +8000051e: bc8c0513 addi a0,s8,-1080 # 80002bc8 <_stack_start+0xffffcaf8> + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000522: 80003937 lui s2,0x80003 + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +80000526: 470c lw a1,8(a4) + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +80000528: 416a0a33 sub s4,s4,s6 + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +8000052c: 2199 jal 80000972 + printf (" should be: %d\n", 2); +8000052e: 4589 li a1,2 +80000530: a6440513 addi a0,s0,-1436 +80000534: 293d jal 80000972 + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +80000536: 8441a703 lw a4,-1980(gp) # 800030ec +8000053a: be4b8513 addi a0,s7,-1052 # 80002be4 <_stack_start+0xffffcb14> +8000053e: 474c lw a1,12(a4) +80000540: 290d jal 80000972 + printf (" should be: %d\n", 17); +80000542: 45c5 li a1,17 +80000544: a6440513 addi a0,s0,-1436 +80000548: 212d jal 80000972 + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +8000054a: 8441a583 lw a1,-1980(gp) # 800030ec +8000054e: c0098513 addi a0,s3,-1024 # 80002c00 <_stack_start+0xffffcb30> +80000552: 05c1 addi a1,a1,16 +80000554: 2939 jal 80000972 + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000556: c1c90513 addi a0,s2,-996 # 80002c1c <_stack_start+0xffffcb4c> +8000055a: 297d jal 80000a18 + printf ("Next_Ptr_Glob->\n"); +8000055c: 80003537 lui a0,0x80003 +80000560: c5050513 addi a0,a0,-944 # 80002c50 <_stack_start+0xffffcb80> +80000564: 2955 jal 80000a18 + printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp); +80000566: 8401a703 lw a4,-1984(gp) # 800030e8 +8000056a: 47b2 lw a5,12(sp) +8000056c: 430c lw a1,0(a4) +8000056e: b6078513 addi a0,a5,-1184 +80000572: 2101 jal 80000972 + printf (" should be: (implementation-dependent), same as above\n"); +80000574: 80003537 lui a0,0x80003 +80000578: c6050513 addi a0,a0,-928 # 80002c60 <_stack_start+0xffffcb90> +8000057c: 2971 jal 80000a18 + printf (" Discr: %d\n", Next_Ptr_Glob->Discr); +8000057e: 8401a783 lw a5,-1984(gp) # 800030e8 +80000582: bacd0513 addi a0,s10,-1108 +80000586: 43cc lw a1,4(a5) +80000588: 26ed jal 80000972 + printf (" should be: %d\n", 0); +8000058a: 4581 li a1,0 +8000058c: a6440513 addi a0,s0,-1436 +80000590: 26cd jal 80000972 + printf (" Enum_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp); +80000592: 8401a783 lw a5,-1984(gp) # 800030e8 +80000596: bc8c0513 addi a0,s8,-1080 +8000059a: 478c lw a1,8(a5) +8000059c: 2ed9 jal 80000972 + printf (" should be: %d\n", 1); +8000059e: 4585 li a1,1 +800005a0: a6440513 addi a0,s0,-1436 +800005a4: 26f9 jal 80000972 + printf (" Int_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp); +800005a6: 8401a783 lw a5,-1984(gp) # 800030e8 +800005aa: be4b8513 addi a0,s7,-1052 +800005ae: 47cc lw a1,12(a5) +800005b0: 26c9 jal 80000972 + printf (" should be: %d\n", 18); +800005b2: 45c9 li a1,18 +800005b4: a6440513 addi a0,s0,-1436 +800005b8: 2e6d jal 80000972 + printf (" Str_Comp: %s\n", +800005ba: 8401a583 lw a1,-1984(gp) # 800030e8 +800005be: c0098513 addi a0,s3,-1024 +800005c2: 05c1 addi a1,a1,16 +800005c4: 267d jal 80000972 + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +800005c6: c1c90513 addi a0,s2,-996 +800005ca: 21b9 jal 80000a18 + printf ("Int_1_Loc: %d\n", Int_1_Loc); +800005cc: 45d2 lw a1,20(sp) +800005ce: 80003537 lui a0,0x80003 +800005d2: ca050513 addi a0,a0,-864 # 80002ca0 <_stack_start+0xffffcbd0> +800005d6: 2e71 jal 80000972 + printf (" should be: %d\n", 5); +800005d8: 4595 li a1,5 +800005da: a6440513 addi a0,s0,-1436 +800005de: 2e51 jal 80000972 + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +800005e0: 003a1793 slli a5,s4,0x3 +800005e4: 41478a33 sub s4,a5,s4 + printf ("Int_2_Loc: %d\n", Int_2_Loc); +800005e8: 80003537 lui a0,0x80003 +800005ec: 415a05b3 sub a1,s4,s5 +800005f0: cbc50513 addi a0,a0,-836 # 80002cbc <_stack_start+0xffffcbec> +800005f4: 2ebd jal 80000972 + printf (" should be: %d\n", 13); +800005f6: 45b5 li a1,13 +800005f8: a6440513 addi a0,s0,-1436 +800005fc: 2e9d jal 80000972 + printf ("Int_3_Loc: %d\n", Int_3_Loc); +800005fe: 45e2 lw a1,24(sp) +80000600: 80003537 lui a0,0x80003 +80000604: cd850513 addi a0,a0,-808 # 80002cd8 <_stack_start+0xffffcc08> +80000608: 26ad jal 80000972 + printf (" should be: %d\n", 7); +8000060a: 459d li a1,7 +8000060c: a6440513 addi a0,s0,-1436 +80000610: 268d jal 80000972 + printf ("Enum_Loc: %d\n", Enum_Loc); +80000612: 45f2 lw a1,28(sp) +80000614: 80003537 lui a0,0x80003 +80000618: cf450513 addi a0,a0,-780 # 80002cf4 <_stack_start+0xffffcc24> +8000061c: 2e99 jal 80000972 + printf (" should be: %d\n", 1); +8000061e: 4585 li a1,1 +80000620: a6440513 addi a0,s0,-1436 +80000624: 26b9 jal 80000972 + printf ("Str_1_Loc: %s\n", Str_1_Loc); +80000626: 80003537 lui a0,0x80003 +8000062a: 100c addi a1,sp,32 +8000062c: d1050513 addi a0,a0,-752 # 80002d10 <_stack_start+0xffffcc40> +80000630: 2689 jal 80000972 + printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n"); +80000632: 80003537 lui a0,0x80003 +80000636: d2c50513 addi a0,a0,-724 # 80002d2c <_stack_start+0xffffcc5c> +8000063a: 2ef9 jal 80000a18 + printf ("Str_2_Loc: %s\n", Str_2_Loc); +8000063c: 80003537 lui a0,0x80003 +80000640: 008c addi a1,sp,64 +80000642: d6050513 addi a0,a0,-672 # 80002d60 <_stack_start+0xffffcc90> +80000646: 2635 jal 80000972 + printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n"); +80000648: 80003537 lui a0,0x80003 +8000064c: d7c50513 addi a0,a0,-644 # 80002d7c <_stack_start+0xffffccac> +80000650: 26e1 jal 80000a18 + printf ("\n"); +80000652: 4529 li a0,10 +80000654: 26ed jal 80000a3e + User_Time = End_Time - Begin_Time; +80000656: 82c1a703 lw a4,-2004(gp) # 800030d4 +8000065a: 8281a583 lw a1,-2008(gp) # 800030d0 + if (User_Time < Too_Small_Time) +8000065e: 1f300793 li a5,499 + User_Time = End_Time - Begin_Time; +80000662: 8d99 sub a1,a1,a4 +80000664: 82b1a223 sw a1,-2012(gp) # 800030cc + if (User_Time < Too_Small_Time) +80000668: 12b7df63 ble a1,a5,800007a6 + printf ("Clock cycles=%d \n", User_Time); +8000066c: 80003537 lui a0,0x80003 +80000670: e0850513 addi a0,a0,-504 # 80002e08 <_stack_start+0xffffcd38> +80000674: 2cfd jal 80000972 + Microseconds = (float) User_Time * Mic_secs_Per_Second +80000676: 8241a503 lw a0,-2012(gp) # 800030cc +8000067a: 647010ef jal ra,800024c0 <__floatsisf> +8000067e: 842a mv s0,a0 +80000680: 765010ef jal ra,800025e4 <__extendsfdf2> +80000684: 800037b7 lui a5,0x80003 +80000688: 0a87a603 lw a2,168(a5) # 800030a8 <_stack_start+0xffffcfd8> +8000068c: 0ac7a683 lw a3,172(a5) +80000690: 509000ef jal ra,80001398 <__muldf3> + / ((float) CORE_HZ * ((float) Number_Of_Runs)); +80000694: 800037b7 lui a5,0x80003 +80000698: 0b07a603 lw a2,176(a5) # 800030b0 <_stack_start+0xffffcfe0> +8000069c: 0b47a683 lw a3,180(a5) +800006a0: 618000ef jal ra,80000cb8 <__divdf3> +800006a4: 04c020ef jal ra,800026f0 <__truncdfsf2> +800006a8: 82a1a023 sw a0,-2016(gp) # 800030c8 + / (float) User_Time; +800006ac: 800037b7 lui a5,0x80003 +800006b0: 0b87a503 lw a0,184(a5) # 800030b8 <_stack_start+0xffffcfe8> +800006b4: 85a2 mv a1,s0 +800006b6: 2be010ef jal ra,80001974 <__divsf3> + Dhrystones_Per_Second = ((float) CORE_HZ * (float) Number_Of_Runs) +800006ba: 80a1ae23 sw a0,-2020(gp) # 800030c4 + printf ("DMIPS per Mhz: "); +800006be: 80003537 lui a0,0x80003 +800006c2: e1c50513 addi a0,a0,-484 # 80002e1c <_stack_start+0xffffcd4c> +800006c6: 2475 jal 80000972 + float dmips = (1e6f/1757.0f) * Number_Of_Runs / User_Time; +800006c8: 8241a503 lw a0,-2012(gp) # 800030cc +800006cc: 5f5010ef jal ra,800024c0 <__floatsisf> +800006d0: 800037b7 lui a5,0x80003 +800006d4: 85aa mv a1,a0 +800006d6: 0bc7a503 lw a0,188(a5) # 800030bc <_stack_start+0xffffcfec> +800006da: 29a010ef jal ra,80001974 <__divsf3> +800006de: 842a mv s0,a0 + int dmipsNatural = dmips; +800006e0: 571010ef jal ra,80002450 <__fixsfsi> +800006e4: 84aa mv s1,a0 + int dmipsReal = (dmips - dmipsNatural)*100.0f; +800006e6: 5db010ef jal ra,800024c0 <__floatsisf> +800006ea: 85aa mv a1,a0 +800006ec: 8522 mv a0,s0 +800006ee: 0eb010ef jal ra,80001fd8 <__subsf3> +800006f2: 800037b7 lui a5,0x80003 +800006f6: 0c07a583 lw a1,192(a5) # 800030c0 <_stack_start+0xffffcff0> +800006fa: 5ba010ef jal ra,80001cb4 <__mulsf3> +800006fe: 553010ef jal ra,80002450 <__fixsfsi> +80000702: 842a mv s0,a0 + printf ("%d.", dmipsNatural); +80000704: 80003537 lui a0,0x80003 +80000708: 85a6 mv a1,s1 +8000070a: e4c50513 addi a0,a0,-436 # 80002e4c <_stack_start+0xffffcd7c> +8000070e: 2495 jal 80000972 + if(dmipsReal < 10) printf("0"); +80000710: 47a5 li a5,9 +80000712: 0a87d763 ble s0,a5,800007c0 + printf ("%d", dmipsReal); +80000716: 80003537 lui a0,0x80003 +8000071a: 85a2 mv a1,s0 +8000071c: e5050513 addi a0,a0,-432 # 80002e50 <_stack_start+0xffffcd80> +80000720: 2c89 jal 80000972 + printf ("\n"); +80000722: 4529 li a0,10 +80000724: 2e29 jal 80000a3e +} +80000726: 40fa lw ra,156(sp) +80000728: 446a lw s0,152(sp) +8000072a: 44da lw s1,148(sp) +8000072c: 494a lw s2,144(sp) +8000072e: 49ba lw s3,140(sp) +80000730: 4a2a lw s4,136(sp) +80000732: 4a9a lw s5,132(sp) +80000734: 4b0a lw s6,128(sp) +80000736: 5bf6 lw s7,124(sp) +80000738: 5c66 lw s8,120(sp) +8000073a: 5cd6 lw s9,116(sp) +8000073c: 5d46 lw s10,112(sp) +8000073e: 5db6 lw s11,108(sp) +80000740: 610d addi sp,sp,160 +80000742: 8082 ret + Proc_6 (Ident_1, &Enum_Loc); +80000744: 086c addi a1,sp,28 +80000746: 4501 li a0,0 +80000748: 220d jal 8000086a + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000074a: 004b2303 lw t1,4(s6) +8000074e: 008b2883 lw a7,8(s6) +80000752: 00cb2803 lw a6,12(s6) +80000756: 010b2503 lw a0,16(s6) +8000075a: 014b2583 lw a1,20(s6) +8000075e: 018b2603 lw a2,24(s6) +80000762: 01cb5683 lhu a3,28(s6) +80000766: 01eb4703 lbu a4,30(s6) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000076a: 8341c783 lbu a5,-1996(gp) # 800030dc +8000076e: 0a85 addi s5,s5,1 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +80000770: c0e2 sw s8,64(sp) +80000772: c29a sw t1,68(sp) +80000774: c4c6 sw a7,72(sp) +80000776: c6c2 sw a6,76(sp) +80000778: c8aa sw a0,80(sp) +8000077a: caae sw a1,84(sp) +8000077c: ccb2 sw a2,88(sp) +8000077e: 04d11e23 sh a3,92(sp) +80000782: 04e10f23 sb a4,94(sp) + Int_Glob = Run_Index; +80000786: 8331ae23 sw s3,-1988(gp) # 800030e4 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000078a: 0ffafa93 andi s5,s5,255 +8000078e: 8a4e mv s4,s3 +80000790: c357fde3 bleu s5,a5,800003ca +80000794: b991 j 800003e8 + printf ("Program compiled without 'register' attribute\n"); +80000796: 80003537 lui a0,0x80003 +8000079a: 96850513 addi a0,a0,-1688 # 80002968 <_stack_start+0xffffc898> +8000079e: 2cad jal 80000a18 + printf ("\n"); +800007a0: 4529 li a0,10 +800007a2: 2c71 jal 80000a3e +800007a4: b6b1 j 800002f0 + printf ("Measured time too small to obtain meaningful results\n"); +800007a6: 80003537 lui a0,0x80003 +800007aa: db050513 addi a0,a0,-592 # 80002db0 <_stack_start+0xffffcce0> +800007ae: 24ad jal 80000a18 + printf ("Please increase number of runs\n"); +800007b0: 80003537 lui a0,0x80003 +800007b4: de850513 addi a0,a0,-536 # 80002de8 <_stack_start+0xffffcd18> +800007b8: 2485 jal 80000a18 + printf ("\n"); +800007ba: 4529 li a0,10 +800007bc: 2449 jal 80000a3e +800007be: b7a5 j 80000726 + if(dmipsReal < 10) printf("0"); +800007c0: 03000513 li a0,48 +800007c4: 2cad jal 80000a3e +800007c6: bf81 j 80000716 + +800007c8 : +One_Fifty Int_2_Par_Val; +One_Fifty *Int_Par_Ref; +{ + One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 2; +800007c8: 0509 addi a0,a0,2 + *Int_Par_Ref = Int_2_Par_Val + Int_Loc; +800007ca: 95aa add a1,a1,a0 +800007cc: c20c sw a1,0(a2) +} /* Proc_7 */ +800007ce: 8082 ret + +800007d0 : +int Int_2_Par_Val; +{ + REG One_Fifty Int_Index; + REG One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 5; +800007d0: 00560713 addi a4,a2,5 + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; + Arr_1_Par_Ref [Int_Loc+30] = Int_Loc; + for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +800007d4: 0c800813 li a6,200 +800007d8: 03070833 mul a6,a4,a6 +800007dc: 060a slli a2,a2,0x2 + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +800007de: 00271793 slli a5,a4,0x2 +800007e2: 953e add a0,a0,a5 +800007e4: c114 sw a3,0(a0) + Arr_1_Par_Ref [Int_Loc+30] = Int_Loc; +800007e6: dd38 sw a4,120(a0) + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; +800007e8: c154 sw a3,4(a0) +800007ea: 00c807b3 add a5,a6,a2 +800007ee: 97ae add a5,a5,a1 + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +800007f0: 4b94 lw a3,16(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +800007f2: cbd8 sw a4,20(a5) +800007f4: cf98 sw a4,24(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +800007f6: 00168713 addi a4,a3,1 +800007fa: cb98 sw a4,16(a5) + Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc]; +800007fc: 411c lw a5,0(a0) +800007fe: 95c2 add a1,a1,a6 +80000800: 95b2 add a1,a1,a2 +80000802: 6605 lui a2,0x1 +80000804: 95b2 add a1,a1,a2 +80000806: faf5aa23 sw a5,-76(a1) + Int_Glob = 5; +8000080a: 4715 li a4,5 +8000080c: 82e1ae23 sw a4,-1988(gp) # 800030e4 +} /* Proc_8 */ +80000810: 8082 ret + +80000812 : + /* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */ + /* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */ + +Capital_Letter Ch_1_Par_Val; +Capital_Letter Ch_2_Par_Val; +{ +80000812: 0ff57513 andi a0,a0,255 +80000816: 0ff5f593 andi a1,a1,255 + Capital_Letter Ch_1_Loc; + Capital_Letter Ch_2_Loc; + + Ch_1_Loc = Ch_1_Par_Val; + Ch_2_Loc = Ch_1_Loc; + if (Ch_2_Loc != Ch_2_Par_Val) +8000081a: 00b50463 beq a0,a1,80000822 + /* then, executed */ + return (Ident_1); +8000081e: 4501 li a0,0 + else /* not executed */ + { + Ch_1_Glob = Ch_1_Loc; + return (Ident_2); + } +} /* Func_1 */ +80000820: 8082 ret + Ch_1_Glob = Ch_1_Loc; +80000822: 82a18aa3 sb a0,-1995(gp) # 800030dd + return (Ident_2); +80000826: 4505 li a0,1 +80000828: 8082 ret + +8000082a : + /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */ + /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */ + +Str_30 Str_1_Par_Ref; +Str_30 Str_2_Par_Ref; +{ +8000082a: 1141 addi sp,sp,-16 +8000082c: c422 sw s0,8(sp) +8000082e: c226 sw s1,4(sp) +80000830: c606 sw ra,12(sp) +80000832: 842a mv s0,a0 +80000834: 84ae mv s1,a1 + REG One_Thirty Int_Loc; + Capital_Letter Ch_Loc; + + Int_Loc = 2; + while (Int_Loc <= 2) /* loop body executed once */ + if (Func_1 (Str_1_Par_Ref[Int_Loc], +80000836: 0034c583 lbu a1,3(s1) +8000083a: 00244503 lbu a0,2(s0) +8000083e: 3fd1 jal 80000812 +80000840: f97d bnez a0,80000836 + if (Ch_Loc == 'R') + /* then, not executed */ + return (true); + else /* executed */ + { + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +80000842: 85a6 mv a1,s1 +80000844: 8522 mv a0,s0 +80000846: 2cdd jal 80000b3c + Int_Loc += 7; + Int_Glob = Int_Loc; + return (true); + } + else /* executed */ + return (false); +80000848: 4781 li a5,0 + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +8000084a: 00a05663 blez a0,80000856 + Int_Glob = Int_Loc; +8000084e: 4729 li a4,10 +80000850: 82e1ae23 sw a4,-1988(gp) # 800030e4 + return (true); +80000854: 4785 li a5,1 + } /* if Ch_Loc */ +} /* Func_2 */ +80000856: 40b2 lw ra,12(sp) +80000858: 4422 lw s0,8(sp) +8000085a: 4492 lw s1,4(sp) +8000085c: 853e mv a0,a5 +8000085e: 0141 addi sp,sp,16 +80000860: 8082 ret + +80000862 : +Enumeration Enum_Par_Val; +{ + Enumeration Enum_Loc; + + Enum_Loc = Enum_Par_Val; + if (Enum_Loc == Ident_3) +80000862: 1579 addi a0,a0,-2 + /* then, executed */ + return (true); + else /* not executed */ + return (false); +} /* Func_3 */ +80000864: 00153513 seqz a0,a0 +80000868: 8082 ret + +8000086a : +{ +8000086a: 1141 addi sp,sp,-16 +8000086c: c422 sw s0,8(sp) +8000086e: c226 sw s1,4(sp) +80000870: c606 sw ra,12(sp) +80000872: 842a mv s0,a0 +80000874: 84ae mv s1,a1 + if (! Func_3 (Enum_Val_Par)) +80000876: 37f5 jal 80000862 +80000878: c115 beqz a0,8000089c + *Enum_Ref_Par = Enum_Val_Par; +8000087a: c080 sw s0,0(s1) + switch (Enum_Val_Par) +8000087c: 4785 li a5,1 +8000087e: 02f40463 beq s0,a5,800008a6 +80000882: c805 beqz s0,800008b2 +80000884: 4709 li a4,2 +80000886: 02e40d63 beq s0,a4,800008c0 +8000088a: 4791 li a5,4 +8000088c: 00f41363 bne s0,a5,80000892 + *Enum_Ref_Par = Ident_3; +80000890: c098 sw a4,0(s1) +} /* Proc_6 */ +80000892: 40b2 lw ra,12(sp) +80000894: 4422 lw s0,8(sp) +80000896: 4492 lw s1,4(sp) +80000898: 0141 addi sp,sp,16 +8000089a: 8082 ret + *Enum_Ref_Par = Ident_4; +8000089c: 478d li a5,3 +8000089e: c09c sw a5,0(s1) + switch (Enum_Val_Par) +800008a0: 4785 li a5,1 +800008a2: fef410e3 bne s0,a5,80000882 + if (Int_Glob > 100) +800008a6: 83c1a703 lw a4,-1988(gp) # 800030e4 +800008aa: 06400793 li a5,100 +800008ae: 00e7df63 ble a4,a5,800008cc +} /* Proc_6 */ +800008b2: 40b2 lw ra,12(sp) +800008b4: 4422 lw s0,8(sp) + *Enum_Ref_Par = Ident_1; +800008b6: 0004a023 sw zero,0(s1) +} /* Proc_6 */ +800008ba: 4492 lw s1,4(sp) +800008bc: 0141 addi sp,sp,16 +800008be: 8082 ret +800008c0: 40b2 lw ra,12(sp) +800008c2: 4422 lw s0,8(sp) + *Enum_Ref_Par = Ident_2; +800008c4: c09c sw a5,0(s1) +} /* Proc_6 */ +800008c6: 4492 lw s1,4(sp) +800008c8: 0141 addi sp,sp,16 +800008ca: 8082 ret +800008cc: 40b2 lw ra,12(sp) +800008ce: 4422 lw s0,8(sp) + else *Enum_Ref_Par = Ident_4; +800008d0: 478d li a5,3 +800008d2: c09c sw a5,0(s1) +} /* Proc_6 */ +800008d4: 4492 lw s1,4(sp) +800008d6: 0141 addi sp,sp,16 +800008d8: 8082 ret + +800008da : +{ + putchar(c); +} + +static void printf_s(char *p) +{ +800008da: 1141 addi sp,sp,-16 +800008dc: c422 sw s0,8(sp) +800008de: c606 sw ra,12(sp) +800008e0: 842a mv s0,a0 + while (*p) +800008e2: 00054503 lbu a0,0(a0) +800008e6: c511 beqz a0,800008f2 + putchar(*(p++)); +800008e8: 0405 addi s0,s0,1 +800008ea: 2a91 jal 80000a3e + while (*p) +800008ec: 00044503 lbu a0,0(s0) +800008f0: fd65 bnez a0,800008e8 +} +800008f2: 40b2 lw ra,12(sp) +800008f4: 4422 lw s0,8(sp) +800008f6: 0141 addi sp,sp,16 +800008f8: 8082 ret + +800008fa : + putchar(c); +800008fa: a291 j 80000a3e + +800008fc : + +static void printf_d(int val) +{ +800008fc: 7179 addi sp,sp,-48 +800008fe: d226 sw s1,36(sp) +80000900: d606 sw ra,44(sp) +80000902: d422 sw s0,40(sp) +80000904: d04a sw s2,32(sp) +80000906: 84aa mv s1,a0 + char buffer[32]; + char *p = buffer; + if (val < 0) { +80000908: 02054e63 bltz a0,80000944 +{ +8000090c: 890a mv s2,sp +8000090e: 844a mv s0,s2 + printf_c('-'); + val = -val; + } + while (val || p == buffer) { + *(p++) = '0' + val % 10; +80000910: 4729 li a4,10 + while (val || p == buffer) { +80000912: e099 bnez s1,80000918 +80000914: 01241c63 bne s0,s2,8000092c + *(p++) = '0' + val % 10; +80000918: 02e4e7b3 rem a5,s1,a4 +8000091c: 0405 addi s0,s0,1 +8000091e: 03078793 addi a5,a5,48 + val = val / 10; +80000922: 02e4c4b3 div s1,s1,a4 + *(p++) = '0' + val % 10; +80000926: fef40fa3 sb a5,-1(s0) +8000092a: b7e5 j 80000912 + } + while (p != buffer) + printf_c(*(--p)); +8000092c: 147d addi s0,s0,-1 +8000092e: 00044503 lbu a0,0(s0) +80000932: 37e1 jal 800008fa + while (p != buffer) +80000934: ff241ce3 bne s0,s2,8000092c +} +80000938: 50b2 lw ra,44(sp) +8000093a: 5422 lw s0,40(sp) +8000093c: 5492 lw s1,36(sp) +8000093e: 5902 lw s2,32(sp) +80000940: 6145 addi sp,sp,48 +80000942: 8082 ret + printf_c('-'); +80000944: 02d00513 li a0,45 +80000948: 3f4d jal 800008fa + val = -val; +8000094a: 409004b3 neg s1,s1 +8000094e: bf7d j 8000090c + +80000950 : + char *p = heap_memory + heap_memory_used; +80000950: 8481a703 lw a4,-1976(gp) # 800030f0 + heap_memory_used += size; +80000954: 00a707b3 add a5,a4,a0 + char *p = heap_memory + heap_memory_used; +80000958: 80006537 lui a0,0x80006 + heap_memory_used += size; +8000095c: 84f1a423 sw a5,-1976(gp) # 800030f0 + char *p = heap_memory + heap_memory_used; +80000960: 8cc50513 addi a0,a0,-1844 # 800058cc <_stack_start+0xfffff7fc> + if (heap_memory_used > 1024) +80000964: 40000693 li a3,1024 + char *p = heap_memory + heap_memory_used; +80000968: 953a add a0,a0,a4 + if (heap_memory_used > 1024) +8000096a: 00f6d363 ble a5,a3,80000970 + asm volatile ("ebreak"); +8000096e: 9002 ebreak +} +80000970: 8082 ret + +80000972 : + +int printf(const char *format, ...) +{ +80000972: 715d addi sp,sp,-80 +80000974: cc52 sw s4,24(sp) +80000976: d606 sw ra,44(sp) +80000978: d422 sw s0,40(sp) +8000097a: d226 sw s1,36(sp) +8000097c: d04a sw s2,32(sp) +8000097e: ce4e sw s3,28(sp) +80000980: ca56 sw s5,20(sp) +80000982: 8a2a mv s4,a0 + int i; + va_list ap; + + va_start(ap, format); + + for (i = 0; format[i]; i++) +80000984: 00054503 lbu a0,0(a0) +{ +80000988: c2be sw a5,68(sp) + va_start(ap, format); +8000098a: 185c addi a5,sp,52 +{ +8000098c: da2e sw a1,52(sp) +8000098e: dc32 sw a2,56(sp) +80000990: de36 sw a3,60(sp) +80000992: c0ba sw a4,64(sp) +80000994: c4c2 sw a6,72(sp) +80000996: c6c6 sw a7,76(sp) + va_start(ap, format); +80000998: c63e sw a5,12(sp) + for (i = 0; format[i]; i++) +8000099a: c11d beqz a0,800009c0 +8000099c: 4401 li s0,0 + if (format[i] == '%') { +8000099e: 02500a93 li s5,37 + while (format[++i]) { + if (format[i] == 'c') { +800009a2: 06300493 li s1,99 + printf_c(va_arg(ap,int)); + break; + } + if (format[i] == 's') { +800009a6: 07300913 li s2,115 + printf_s(va_arg(ap,char*)); + break; + } + if (format[i] == 'd') { +800009aa: 06400993 li s3,100 + if (format[i] == '%') { +800009ae: 03550263 beq a0,s5,800009d2 + printf_d(va_arg(ap,int)); + break; + } + } + } else + printf_c(format[i]); +800009b2: 37a1 jal 800008fa + for (i = 0; format[i]; i++) +800009b4: 0405 addi s0,s0,1 +800009b6: 008a07b3 add a5,s4,s0 +800009ba: 0007c503 lbu a0,0(a5) +800009be: f965 bnez a0,800009ae + + va_end(ap); +} +800009c0: 50b2 lw ra,44(sp) +800009c2: 5422 lw s0,40(sp) +800009c4: 5492 lw s1,36(sp) +800009c6: 5902 lw s2,32(sp) +800009c8: 49f2 lw s3,28(sp) +800009ca: 4a62 lw s4,24(sp) +800009cc: 4ad2 lw s5,20(sp) +800009ce: 6161 addi sp,sp,80 +800009d0: 8082 ret +800009d2: 00140693 addi a3,s0,1 +800009d6: 00da0733 add a4,s4,a3 +800009da: a031 j 800009e6 + if (format[i] == 's') { +800009dc: 03278263 beq a5,s2,80000a00 + if (format[i] == 'd') { +800009e0: 03378663 beq a5,s3,80000a0c +800009e4: 0685 addi a3,a3,1 + while (format[++i]) { +800009e6: 00074783 lbu a5,0(a4) +800009ea: 8436 mv s0,a3 +800009ec: 0705 addi a4,a4,1 +800009ee: d3f9 beqz a5,800009b4 + if (format[i] == 'c') { +800009f0: fe9796e3 bne a5,s1,800009dc + printf_c(va_arg(ap,int)); +800009f4: 47b2 lw a5,12(sp) +800009f6: 4388 lw a0,0(a5) +800009f8: 0791 addi a5,a5,4 +800009fa: c63e sw a5,12(sp) +800009fc: 3dfd jal 800008fa + break; +800009fe: bf5d j 800009b4 + printf_s(va_arg(ap,char*)); +80000a00: 47b2 lw a5,12(sp) +80000a02: 4388 lw a0,0(a5) +80000a04: 0791 addi a5,a5,4 +80000a06: c63e sw a5,12(sp) +80000a08: 3dc9 jal 800008da + break; +80000a0a: b76d j 800009b4 + printf_d(va_arg(ap,int)); +80000a0c: 47b2 lw a5,12(sp) +80000a0e: 4388 lw a0,0(a5) +80000a10: 0791 addi a5,a5,4 +80000a12: c63e sw a5,12(sp) +80000a14: 35e5 jal 800008fc + break; +80000a16: bf79 j 800009b4 + +80000a18 : + + +int puts(char *s){ +80000a18: 1141 addi sp,sp,-16 +80000a1a: c422 sw s0,8(sp) +80000a1c: c606 sw ra,12(sp) +80000a1e: 842a mv s0,a0 + while (*s) { +80000a20: 00054503 lbu a0,0(a0) +80000a24: c511 beqz a0,80000a30 + putchar(*s); + s++; +80000a26: 0405 addi s0,s0,1 + putchar(*s); +80000a28: 2819 jal 80000a3e + while (*s) { +80000a2a: 00044503 lbu a0,0(s0) +80000a2e: fd65 bnez a0,80000a26 + } + putchar('\n'); +80000a30: 4529 li a0,10 +80000a32: 2031 jal 80000a3e + return 0; +} +80000a34: 40b2 lw ra,12(sp) +80000a36: 4422 lw s0,8(sp) +80000a38: 4501 li a0,0 +80000a3a: 0141 addi sp,sp,16 +80000a3c: 8082 ret + +80000a3e : + +void putchar(char c){ + TEST_COM_BASE[0] = c; +80000a3e: f01007b7 lui a5,0xf0100 +80000a42: f0a7a023 sw a0,-256(a5) # f00fff00 <_stack_start+0x700f9e30> +} +80000a46: 8082 ret + +80000a48 : + +#include +clock_t clock(){ + return TEST_COM_BASE[4]; +80000a48: f01007b7 lui a5,0xf0100 +80000a4c: f107a503 lw a0,-240(a5) # f00fff10 <_stack_start+0x700f9e40> +} +80000a50: 8082 ret + ... + +80000a54 : +80000a54: 00a5c7b3 xor a5,a1,a0 +80000a58: 0037f793 andi a5,a5,3 +80000a5c: 00c50733 add a4,a0,a2 +80000a60: 00079663 bnez a5,80000a6c +80000a64: 00300793 li a5,3 +80000a68: 02c7e463 bltu a5,a2,80000a90 +80000a6c: 00050793 mv a5,a0 +80000a70: 00e56c63 bltu a0,a4,80000a88 +80000a74: 00008067 ret +80000a78: 0005c683 lbu a3,0(a1) +80000a7c: 00178793 addi a5,a5,1 +80000a80: 00158593 addi a1,a1,1 +80000a84: fed78fa3 sb a3,-1(a5) +80000a88: fee7e8e3 bltu a5,a4,80000a78 +80000a8c: 00008067 ret +80000a90: 00357793 andi a5,a0,3 +80000a94: 08079263 bnez a5,80000b18 +80000a98: 00050793 mv a5,a0 +80000a9c: ffc77693 andi a3,a4,-4 +80000aa0: fe068613 addi a2,a3,-32 +80000aa4: 08c7f663 bleu a2,a5,80000b30 +80000aa8: 0005a383 lw t2,0(a1) +80000aac: 0045a283 lw t0,4(a1) +80000ab0: 0085af83 lw t6,8(a1) +80000ab4: 00c5af03 lw t5,12(a1) +80000ab8: 0105ae83 lw t4,16(a1) +80000abc: 0145ae03 lw t3,20(a1) +80000ac0: 0185a303 lw t1,24(a1) +80000ac4: 01c5a883 lw a7,28(a1) +80000ac8: 02458593 addi a1,a1,36 +80000acc: 02478793 addi a5,a5,36 +80000ad0: ffc5a803 lw a6,-4(a1) +80000ad4: fc77ae23 sw t2,-36(a5) +80000ad8: fe57a023 sw t0,-32(a5) +80000adc: fff7a223 sw t6,-28(a5) +80000ae0: ffe7a423 sw t5,-24(a5) +80000ae4: ffd7a623 sw t4,-20(a5) +80000ae8: ffc7a823 sw t3,-16(a5) +80000aec: fe67aa23 sw t1,-12(a5) +80000af0: ff17ac23 sw a7,-8(a5) +80000af4: ff07ae23 sw a6,-4(a5) +80000af8: fadff06f j 80000aa4 +80000afc: 0005c683 lbu a3,0(a1) +80000b00: 00178793 addi a5,a5,1 +80000b04: 00158593 addi a1,a1,1 +80000b08: fed78fa3 sb a3,-1(a5) +80000b0c: 0037f693 andi a3,a5,3 +80000b10: fe0696e3 bnez a3,80000afc +80000b14: f89ff06f j 80000a9c +80000b18: 00050793 mv a5,a0 +80000b1c: ff1ff06f j 80000b0c +80000b20: 0005a603 lw a2,0(a1) +80000b24: 00478793 addi a5,a5,4 +80000b28: 00458593 addi a1,a1,4 +80000b2c: fec7ae23 sw a2,-4(a5) +80000b30: fed7e8e3 bltu a5,a3,80000b20 +80000b34: f4e7eae3 bltu a5,a4,80000a88 +80000b38: 00008067 ret + +80000b3c : +80000b3c: 00b56733 or a4,a0,a1 +80000b40: fff00393 li t2,-1 +80000b44: 00377713 andi a4,a4,3 +80000b48: 10071063 bnez a4,80000c48 +80000b4c: 7f7f87b7 lui a5,0x7f7f8 +80000b50: f7f78793 addi a5,a5,-129 # 7f7f7f7f <_stack_size+0x7f7f7b7f> +80000b54: 00052603 lw a2,0(a0) +80000b58: 0005a683 lw a3,0(a1) +80000b5c: 00f672b3 and t0,a2,a5 +80000b60: 00f66333 or t1,a2,a5 +80000b64: 00f282b3 add t0,t0,a5 +80000b68: 0062e2b3 or t0,t0,t1 +80000b6c: 10729263 bne t0,t2,80000c70 +80000b70: 08d61663 bne a2,a3,80000bfc +80000b74: 00452603 lw a2,4(a0) +80000b78: 0045a683 lw a3,4(a1) +80000b7c: 00f672b3 and t0,a2,a5 +80000b80: 00f66333 or t1,a2,a5 +80000b84: 00f282b3 add t0,t0,a5 +80000b88: 0062e2b3 or t0,t0,t1 +80000b8c: 0c729e63 bne t0,t2,80000c68 +80000b90: 06d61663 bne a2,a3,80000bfc +80000b94: 00852603 lw a2,8(a0) +80000b98: 0085a683 lw a3,8(a1) +80000b9c: 00f672b3 and t0,a2,a5 +80000ba0: 00f66333 or t1,a2,a5 +80000ba4: 00f282b3 add t0,t0,a5 +80000ba8: 0062e2b3 or t0,t0,t1 +80000bac: 0c729863 bne t0,t2,80000c7c +80000bb0: 04d61663 bne a2,a3,80000bfc +80000bb4: 00c52603 lw a2,12(a0) +80000bb8: 00c5a683 lw a3,12(a1) +80000bbc: 00f672b3 and t0,a2,a5 +80000bc0: 00f66333 or t1,a2,a5 +80000bc4: 00f282b3 add t0,t0,a5 +80000bc8: 0062e2b3 or t0,t0,t1 +80000bcc: 0c729263 bne t0,t2,80000c90 +80000bd0: 02d61663 bne a2,a3,80000bfc +80000bd4: 01052603 lw a2,16(a0) +80000bd8: 0105a683 lw a3,16(a1) +80000bdc: 00f672b3 and t0,a2,a5 +80000be0: 00f66333 or t1,a2,a5 +80000be4: 00f282b3 add t0,t0,a5 +80000be8: 0062e2b3 or t0,t0,t1 +80000bec: 0a729c63 bne t0,t2,80000ca4 +80000bf0: 01450513 addi a0,a0,20 +80000bf4: 01458593 addi a1,a1,20 +80000bf8: f4d60ee3 beq a2,a3,80000b54 +80000bfc: 01061713 slli a4,a2,0x10 +80000c00: 01069793 slli a5,a3,0x10 +80000c04: 00f71e63 bne a4,a5,80000c20 +80000c08: 01065713 srli a4,a2,0x10 +80000c0c: 0106d793 srli a5,a3,0x10 +80000c10: 40f70533 sub a0,a4,a5 +80000c14: 0ff57593 andi a1,a0,255 +80000c18: 02059063 bnez a1,80000c38 +80000c1c: 00008067 ret +80000c20: 01075713 srli a4,a4,0x10 +80000c24: 0107d793 srli a5,a5,0x10 +80000c28: 40f70533 sub a0,a4,a5 +80000c2c: 0ff57593 andi a1,a0,255 +80000c30: 00059463 bnez a1,80000c38 +80000c34: 00008067 ret +80000c38: 0ff77713 andi a4,a4,255 +80000c3c: 0ff7f793 andi a5,a5,255 +80000c40: 40f70533 sub a0,a4,a5 +80000c44: 00008067 ret +80000c48: 00054603 lbu a2,0(a0) +80000c4c: 0005c683 lbu a3,0(a1) +80000c50: 00150513 addi a0,a0,1 +80000c54: 00158593 addi a1,a1,1 +80000c58: 00d61463 bne a2,a3,80000c60 +80000c5c: fe0616e3 bnez a2,80000c48 +80000c60: 40d60533 sub a0,a2,a3 +80000c64: 00008067 ret +80000c68: 00450513 addi a0,a0,4 +80000c6c: 00458593 addi a1,a1,4 +80000c70: fcd61ce3 bne a2,a3,80000c48 +80000c74: 00000513 li a0,0 +80000c78: 00008067 ret +80000c7c: 00850513 addi a0,a0,8 +80000c80: 00858593 addi a1,a1,8 +80000c84: fcd612e3 bne a2,a3,80000c48 +80000c88: 00000513 li a0,0 +80000c8c: 00008067 ret +80000c90: 00c50513 addi a0,a0,12 +80000c94: 00c58593 addi a1,a1,12 +80000c98: fad618e3 bne a2,a3,80000c48 +80000c9c: 00000513 li a0,0 +80000ca0: 00008067 ret +80000ca4: 01050513 addi a0,a0,16 +80000ca8: 01058593 addi a1,a1,16 +80000cac: f8d61ee3 bne a2,a3,80000c48 +80000cb0: 00000513 li a0,0 +80000cb4: 00008067 ret + +80000cb8 <__divdf3>: +80000cb8: fd010113 addi sp,sp,-48 +80000cbc: 02812423 sw s0,40(sp) +80000cc0: 02912223 sw s1,36(sp) +80000cc4: 01612823 sw s6,16(sp) +80000cc8: 00050413 mv s0,a0 +80000ccc: 00050b13 mv s6,a0 +80000cd0: 001004b7 lui s1,0x100 +80000cd4: 0145d513 srli a0,a1,0x14 +80000cd8: 03212023 sw s2,32(sp) +80000cdc: 01312e23 sw s3,28(sp) +80000ce0: 01712623 sw s7,12(sp) +80000ce4: fff48493 addi s1,s1,-1 # fffff <_stack_size+0xffbff> +80000ce8: 02112623 sw ra,44(sp) +80000cec: 01412c23 sw s4,24(sp) +80000cf0: 01512a23 sw s5,20(sp) +80000cf4: 7ff57513 andi a0,a0,2047 +80000cf8: 00060b93 mv s7,a2 +80000cfc: 00068993 mv s3,a3 +80000d00: 00b4f4b3 and s1,s1,a1 +80000d04: 01f5d913 srli s2,a1,0x1f +80000d08: 0a050663 beqz a0,80000db4 <__divdf3+0xfc> +80000d0c: 7ff00793 li a5,2047 +80000d10: 10f50663 beq a0,a5,80000e1c <__divdf3+0x164> +80000d14: 00349493 slli s1,s1,0x3 +80000d18: 008006b7 lui a3,0x800 +80000d1c: 00d4e4b3 or s1,s1,a3 +80000d20: 01db5a93 srli s5,s6,0x1d +80000d24: 009aeab3 or s5,s5,s1 +80000d28: 003b1413 slli s0,s6,0x3 +80000d2c: c0150a13 addi s4,a0,-1023 +80000d30: 00000b13 li s6,0 +80000d34: 0149d513 srli a0,s3,0x14 +80000d38: 001004b7 lui s1,0x100 +80000d3c: fff48493 addi s1,s1,-1 # fffff <_stack_size+0xffbff> +80000d40: 7ff57513 andi a0,a0,2047 +80000d44: 0134f4b3 and s1,s1,s3 +80000d48: 000b8f93 mv t6,s7 +80000d4c: 01f9d993 srli s3,s3,0x1f +80000d50: 10050263 beqz a0,80000e54 <__divdf3+0x19c> +80000d54: 7ff00793 li a5,2047 +80000d58: 16f50263 beq a0,a5,80000ebc <__divdf3+0x204> +80000d5c: 008007b7 lui a5,0x800 +80000d60: 00349493 slli s1,s1,0x3 +80000d64: 00f4e4b3 or s1,s1,a5 +80000d68: 01dbd793 srli a5,s7,0x1d +80000d6c: 0097e7b3 or a5,a5,s1 +80000d70: 003b9f93 slli t6,s7,0x3 +80000d74: c0150513 addi a0,a0,-1023 +80000d78: 00000713 li a4,0 +80000d7c: 002b1693 slli a3,s6,0x2 +80000d80: 00e6e6b3 or a3,a3,a4 +80000d84: fff68693 addi a3,a3,-1 # 7fffff <_stack_size+0x7ffbff> +80000d88: 00e00593 li a1,14 +80000d8c: 01394633 xor a2,s2,s3 +80000d90: 40aa0533 sub a0,s4,a0 +80000d94: 16d5e063 bltu a1,a3,80000ef4 <__divdf3+0x23c> +80000d98: 00002597 auipc a1,0x2 +80000d9c: 11c58593 addi a1,a1,284 # 80002eb4 +80000da0: 00269693 slli a3,a3,0x2 +80000da4: 00b686b3 add a3,a3,a1 +80000da8: 0006a683 lw a3,0(a3) +80000dac: 00b686b3 add a3,a3,a1 +80000db0: 00068067 jr a3 +80000db4: 0164eab3 or s5,s1,s6 +80000db8: 060a8e63 beqz s5,80000e34 <__divdf3+0x17c> +80000dbc: 04048063 beqz s1,80000dfc <__divdf3+0x144> +80000dc0: 00048513 mv a0,s1 +80000dc4: 2c5010ef jal ra,80002888 <__clzsi2> +80000dc8: ff550793 addi a5,a0,-11 +80000dcc: 01c00713 li a4,28 +80000dd0: 02f74e63 blt a4,a5,80000e0c <__divdf3+0x154> +80000dd4: 01d00a93 li s5,29 +80000dd8: ff850413 addi s0,a0,-8 +80000ddc: 40fa8ab3 sub s5,s5,a5 +80000de0: 008494b3 sll s1,s1,s0 +80000de4: 015b5ab3 srl s5,s6,s5 +80000de8: 009aeab3 or s5,s5,s1 +80000dec: 008b1433 sll s0,s6,s0 +80000df0: c0d00a13 li s4,-1011 +80000df4: 40aa0a33 sub s4,s4,a0 +80000df8: f39ff06f j 80000d30 <__divdf3+0x78> +80000dfc: 000b0513 mv a0,s6 +80000e00: 289010ef jal ra,80002888 <__clzsi2> +80000e04: 02050513 addi a0,a0,32 +80000e08: fc1ff06f j 80000dc8 <__divdf3+0x110> +80000e0c: fd850493 addi s1,a0,-40 +80000e10: 009b1ab3 sll s5,s6,s1 +80000e14: 00000413 li s0,0 +80000e18: fd9ff06f j 80000df0 <__divdf3+0x138> +80000e1c: 0164eab3 or s5,s1,s6 +80000e20: 020a8263 beqz s5,80000e44 <__divdf3+0x18c> +80000e24: 00048a93 mv s5,s1 +80000e28: 7ff00a13 li s4,2047 +80000e2c: 00300b13 li s6,3 +80000e30: f05ff06f j 80000d34 <__divdf3+0x7c> +80000e34: 00000413 li s0,0 +80000e38: 00000a13 li s4,0 +80000e3c: 00100b13 li s6,1 +80000e40: ef5ff06f j 80000d34 <__divdf3+0x7c> +80000e44: 00000413 li s0,0 +80000e48: 7ff00a13 li s4,2047 +80000e4c: 00200b13 li s6,2 +80000e50: ee5ff06f j 80000d34 <__divdf3+0x7c> +80000e54: 0174e7b3 or a5,s1,s7 +80000e58: 06078e63 beqz a5,80000ed4 <__divdf3+0x21c> +80000e5c: 04048063 beqz s1,80000e9c <__divdf3+0x1e4> +80000e60: 00048513 mv a0,s1 +80000e64: 225010ef jal ra,80002888 <__clzsi2> +80000e68: ff550713 addi a4,a0,-11 +80000e6c: 01c00793 li a5,28 +80000e70: 02e7ce63 blt a5,a4,80000eac <__divdf3+0x1f4> +80000e74: 01d00793 li a5,29 +80000e78: ff850f93 addi t6,a0,-8 +80000e7c: 40e787b3 sub a5,a5,a4 +80000e80: 01f494b3 sll s1,s1,t6 +80000e84: 00fbd7b3 srl a5,s7,a5 +80000e88: 0097e7b3 or a5,a5,s1 +80000e8c: 01fb9fb3 sll t6,s7,t6 +80000e90: c0d00613 li a2,-1011 +80000e94: 40a60533 sub a0,a2,a0 +80000e98: ee1ff06f j 80000d78 <__divdf3+0xc0> +80000e9c: 000b8513 mv a0,s7 +80000ea0: 1e9010ef jal ra,80002888 <__clzsi2> +80000ea4: 02050513 addi a0,a0,32 +80000ea8: fc1ff06f j 80000e68 <__divdf3+0x1b0> +80000eac: fd850793 addi a5,a0,-40 +80000eb0: 00fb97b3 sll a5,s7,a5 +80000eb4: 00000f93 li t6,0 +80000eb8: fd9ff06f j 80000e90 <__divdf3+0x1d8> +80000ebc: 0174e7b3 or a5,s1,s7 +80000ec0: 02078263 beqz a5,80000ee4 <__divdf3+0x22c> +80000ec4: 00048793 mv a5,s1 +80000ec8: 7ff00513 li a0,2047 +80000ecc: 00300713 li a4,3 +80000ed0: eadff06f j 80000d7c <__divdf3+0xc4> +80000ed4: 00000f93 li t6,0 +80000ed8: 00000513 li a0,0 +80000edc: 00100713 li a4,1 +80000ee0: e9dff06f j 80000d7c <__divdf3+0xc4> +80000ee4: 00000f93 li t6,0 +80000ee8: 7ff00513 li a0,2047 +80000eec: 00200713 li a4,2 +80000ef0: e8dff06f j 80000d7c <__divdf3+0xc4> +80000ef4: 0157e663 bltu a5,s5,80000f00 <__divdf3+0x248> +80000ef8: 36fa9063 bne s5,a5,80001258 <__divdf3+0x5a0> +80000efc: 35f46e63 bltu s0,t6,80001258 <__divdf3+0x5a0> +80000f00: 01fa9593 slli a1,s5,0x1f +80000f04: 00145693 srli a3,s0,0x1 +80000f08: 01f41713 slli a4,s0,0x1f +80000f0c: 001ada93 srli s5,s5,0x1 +80000f10: 00d5e433 or s0,a1,a3 +80000f14: 00879793 slli a5,a5,0x8 +80000f18: 018fd813 srli a6,t6,0x18 +80000f1c: 00f86833 or a6,a6,a5 +80000f20: 01085e93 srli t4,a6,0x10 +80000f24: 03dad5b3 divu a1,s5,t4 +80000f28: 01081e13 slli t3,a6,0x10 +80000f2c: 010e5e13 srli t3,t3,0x10 +80000f30: 01045693 srli a3,s0,0x10 +80000f34: 008f9893 slli a7,t6,0x8 +80000f38: 03daf4b3 remu s1,s5,t4 +80000f3c: 00058f93 mv t6,a1 +80000f40: 02be07b3 mul a5,t3,a1 +80000f44: 01049493 slli s1,s1,0x10 +80000f48: 0096e6b3 or a3,a3,s1 +80000f4c: 00f6fe63 bleu a5,a3,80000f68 <__divdf3+0x2b0> +80000f50: 010686b3 add a3,a3,a6 +80000f54: fff58f93 addi t6,a1,-1 +80000f58: 0106e863 bltu a3,a6,80000f68 <__divdf3+0x2b0> +80000f5c: 00f6f663 bleu a5,a3,80000f68 <__divdf3+0x2b0> +80000f60: ffe58f93 addi t6,a1,-2 +80000f64: 010686b3 add a3,a3,a6 +80000f68: 40f686b3 sub a3,a3,a5 +80000f6c: 03d6d333 divu t1,a3,t4 +80000f70: 01041413 slli s0,s0,0x10 +80000f74: 01045413 srli s0,s0,0x10 +80000f78: 03d6f6b3 remu a3,a3,t4 +80000f7c: 00030793 mv a5,t1 +80000f80: 026e05b3 mul a1,t3,t1 +80000f84: 01069693 slli a3,a3,0x10 +80000f88: 00d466b3 or a3,s0,a3 +80000f8c: 00b6fe63 bleu a1,a3,80000fa8 <__divdf3+0x2f0> +80000f90: 010686b3 add a3,a3,a6 +80000f94: fff30793 addi a5,t1,-1 +80000f98: 0106e863 bltu a3,a6,80000fa8 <__divdf3+0x2f0> +80000f9c: 00b6f663 bleu a1,a3,80000fa8 <__divdf3+0x2f0> +80000fa0: ffe30793 addi a5,t1,-2 +80000fa4: 010686b3 add a3,a3,a6 +80000fa8: 40b68433 sub s0,a3,a1 +80000fac: 010f9f93 slli t6,t6,0x10 +80000fb0: 000105b7 lui a1,0x10 +80000fb4: 00ffefb3 or t6,t6,a5 +80000fb8: fff58313 addi t1,a1,-1 # ffff <_stack_size+0xfbff> +80000fbc: 010fd693 srli a3,t6,0x10 +80000fc0: 006ff7b3 and a5,t6,t1 +80000fc4: 0108df13 srli t5,a7,0x10 +80000fc8: 0068f333 and t1,a7,t1 +80000fcc: 026783b3 mul t2,a5,t1 +80000fd0: 026684b3 mul s1,a3,t1 +80000fd4: 02ff07b3 mul a5,t5,a5 +80000fd8: 03e682b3 mul t0,a3,t5 +80000fdc: 009786b3 add a3,a5,s1 +80000fe0: 0103d793 srli a5,t2,0x10 +80000fe4: 00d787b3 add a5,a5,a3 +80000fe8: 0097f463 bleu s1,a5,80000ff0 <__divdf3+0x338> +80000fec: 00b282b3 add t0,t0,a1 +80000ff0: 0107d693 srli a3,a5,0x10 +80000ff4: 005686b3 add a3,a3,t0 +80000ff8: 000102b7 lui t0,0x10 +80000ffc: fff28293 addi t0,t0,-1 # ffff <_stack_size+0xfbff> +80001000: 0057f5b3 and a1,a5,t0 +80001004: 01059593 slli a1,a1,0x10 +80001008: 0053f3b3 and t2,t2,t0 +8000100c: 007585b3 add a1,a1,t2 +80001010: 00d46863 bltu s0,a3,80001020 <__divdf3+0x368> +80001014: 000f8793 mv a5,t6 +80001018: 04d41463 bne s0,a3,80001060 <__divdf3+0x3a8> +8000101c: 04b77263 bleu a1,a4,80001060 <__divdf3+0x3a8> +80001020: 01170733 add a4,a4,a7 +80001024: 011732b3 sltu t0,a4,a7 +80001028: 010282b3 add t0,t0,a6 +8000102c: 00540433 add s0,s0,t0 +80001030: ffff8793 addi a5,t6,-1 +80001034: 00886663 bltu a6,s0,80001040 <__divdf3+0x388> +80001038: 02881463 bne a6,s0,80001060 <__divdf3+0x3a8> +8000103c: 03176263 bltu a4,a7,80001060 <__divdf3+0x3a8> +80001040: 00d46663 bltu s0,a3,8000104c <__divdf3+0x394> +80001044: 00869e63 bne a3,s0,80001060 <__divdf3+0x3a8> +80001048: 00b77c63 bleu a1,a4,80001060 <__divdf3+0x3a8> +8000104c: 01170733 add a4,a4,a7 +80001050: ffef8793 addi a5,t6,-2 +80001054: 01173fb3 sltu t6,a4,a7 +80001058: 010f8fb3 add t6,t6,a6 +8000105c: 01f40433 add s0,s0,t6 +80001060: 40b705b3 sub a1,a4,a1 +80001064: 40d40433 sub s0,s0,a3 +80001068: 00b73733 sltu a4,a4,a1 +8000106c: 40e40433 sub s0,s0,a4 +80001070: fff00f93 li t6,-1 +80001074: 12880463 beq a6,s0,8000119c <__divdf3+0x4e4> +80001078: 03d452b3 divu t0,s0,t4 +8000107c: 0105d693 srli a3,a1,0x10 +80001080: 03d47433 remu s0,s0,t4 +80001084: 00028713 mv a4,t0 +80001088: 025e0fb3 mul t6,t3,t0 +8000108c: 01041413 slli s0,s0,0x10 +80001090: 0086e433 or s0,a3,s0 +80001094: 01f47e63 bleu t6,s0,800010b0 <__divdf3+0x3f8> +80001098: 01040433 add s0,s0,a6 +8000109c: fff28713 addi a4,t0,-1 +800010a0: 01046863 bltu s0,a6,800010b0 <__divdf3+0x3f8> +800010a4: 01f47663 bleu t6,s0,800010b0 <__divdf3+0x3f8> +800010a8: ffe28713 addi a4,t0,-2 +800010ac: 01040433 add s0,s0,a6 +800010b0: 41f40433 sub s0,s0,t6 +800010b4: 03d456b3 divu a3,s0,t4 +800010b8: 01059593 slli a1,a1,0x10 +800010bc: 0105d593 srli a1,a1,0x10 +800010c0: 03d47433 remu s0,s0,t4 +800010c4: 02de0e33 mul t3,t3,a3 +800010c8: 01041413 slli s0,s0,0x10 +800010cc: 0085e433 or s0,a1,s0 +800010d0: 00068593 mv a1,a3 +800010d4: 01c47e63 bleu t3,s0,800010f0 <__divdf3+0x438> +800010d8: 01040433 add s0,s0,a6 +800010dc: fff68593 addi a1,a3,-1 +800010e0: 01046863 bltu s0,a6,800010f0 <__divdf3+0x438> +800010e4: 01c47663 bleu t3,s0,800010f0 <__divdf3+0x438> +800010e8: ffe68593 addi a1,a3,-2 +800010ec: 01040433 add s0,s0,a6 +800010f0: 01071713 slli a4,a4,0x10 +800010f4: 00b765b3 or a1,a4,a1 +800010f8: 01059713 slli a4,a1,0x10 +800010fc: 01075713 srli a4,a4,0x10 +80001100: 41c40433 sub s0,s0,t3 +80001104: 0105de13 srli t3,a1,0x10 +80001108: 02670eb3 mul t4,a4,t1 +8000110c: 026e0333 mul t1,t3,t1 +80001110: 03cf0e33 mul t3,t5,t3 +80001114: 02ef0f33 mul t5,t5,a4 +80001118: 010ed713 srli a4,t4,0x10 +8000111c: 006f0f33 add t5,t5,t1 +80001120: 01e70733 add a4,a4,t5 +80001124: 00677663 bleu t1,a4,80001130 <__divdf3+0x478> +80001128: 000106b7 lui a3,0x10 +8000112c: 00de0e33 add t3,t3,a3 +80001130: 01075313 srli t1,a4,0x10 +80001134: 01c30333 add t1,t1,t3 +80001138: 00010e37 lui t3,0x10 +8000113c: fffe0e13 addi t3,t3,-1 # ffff <_stack_size+0xfbff> +80001140: 01c776b3 and a3,a4,t3 +80001144: 01069693 slli a3,a3,0x10 +80001148: 01cefeb3 and t4,t4,t3 +8000114c: 01d686b3 add a3,a3,t4 +80001150: 00646863 bltu s0,t1,80001160 <__divdf3+0x4a8> +80001154: 00058f93 mv t6,a1 +80001158: 04641063 bne s0,t1,80001198 <__divdf3+0x4e0> +8000115c: 04068063 beqz a3,8000119c <__divdf3+0x4e4> +80001160: 00880433 add s0,a6,s0 +80001164: fff58f93 addi t6,a1,-1 +80001168: 03046463 bltu s0,a6,80001190 <__divdf3+0x4d8> +8000116c: 00646663 bltu s0,t1,80001178 <__divdf3+0x4c0> +80001170: 02641463 bne s0,t1,80001198 <__divdf3+0x4e0> +80001174: 02d8f063 bleu a3,a7,80001194 <__divdf3+0x4dc> +80001178: 00189713 slli a4,a7,0x1 +8000117c: 011738b3 sltu a7,a4,a7 +80001180: 01088833 add a6,a7,a6 +80001184: ffe58f93 addi t6,a1,-2 +80001188: 01040433 add s0,s0,a6 +8000118c: 00070893 mv a7,a4 +80001190: 00641463 bne s0,t1,80001198 <__divdf3+0x4e0> +80001194: 01168463 beq a3,a7,8000119c <__divdf3+0x4e4> +80001198: 001fef93 ori t6,t6,1 +8000119c: 3ff50693 addi a3,a0,1023 +800011a0: 10d05a63 blez a3,800012b4 <__divdf3+0x5fc> +800011a4: 007ff713 andi a4,t6,7 +800011a8: 02070063 beqz a4,800011c8 <__divdf3+0x510> +800011ac: 00fff713 andi a4,t6,15 +800011b0: 00400593 li a1,4 +800011b4: 00b70a63 beq a4,a1,800011c8 <__divdf3+0x510> +800011b8: 004f8593 addi a1,t6,4 +800011bc: 01f5bfb3 sltu t6,a1,t6 +800011c0: 01f787b3 add a5,a5,t6 +800011c4: 00058f93 mv t6,a1 +800011c8: 00779713 slli a4,a5,0x7 +800011cc: 00075a63 bgez a4,800011e0 <__divdf3+0x528> +800011d0: ff000737 lui a4,0xff000 +800011d4: fff70713 addi a4,a4,-1 # feffffff <_stack_start+0x7eff9f2f> +800011d8: 00e7f7b3 and a5,a5,a4 +800011dc: 40050693 addi a3,a0,1024 +800011e0: 7fe00713 li a4,2046 +800011e4: 18d74a63 blt a4,a3,80001378 <__divdf3+0x6c0> +800011e8: 01d79713 slli a4,a5,0x1d +800011ec: 003fdf93 srli t6,t6,0x3 +800011f0: 01f76733 or a4,a4,t6 +800011f4: 0037d793 srli a5,a5,0x3 +800011f8: 001005b7 lui a1,0x100 +800011fc: fff58593 addi a1,a1,-1 # fffff <_stack_size+0xffbff> +80001200: 00b7f7b3 and a5,a5,a1 +80001204: 801005b7 lui a1,0x80100 +80001208: fff58593 addi a1,a1,-1 # 800fffff <_stack_start+0xf9f2f> +8000120c: 7ff6f693 andi a3,a3,2047 +80001210: 01469693 slli a3,a3,0x14 +80001214: 00b7f7b3 and a5,a5,a1 +80001218: 02c12083 lw ra,44(sp) +8000121c: 02812403 lw s0,40(sp) +80001220: 01f61613 slli a2,a2,0x1f +80001224: 00d7e7b3 or a5,a5,a3 +80001228: 00c7e6b3 or a3,a5,a2 +8000122c: 02412483 lw s1,36(sp) +80001230: 02012903 lw s2,32(sp) +80001234: 01c12983 lw s3,28(sp) +80001238: 01812a03 lw s4,24(sp) +8000123c: 01412a83 lw s5,20(sp) +80001240: 01012b03 lw s6,16(sp) +80001244: 00c12b83 lw s7,12(sp) +80001248: 00070513 mv a0,a4 +8000124c: 00068593 mv a1,a3 +80001250: 03010113 addi sp,sp,48 +80001254: 00008067 ret +80001258: fff50513 addi a0,a0,-1 +8000125c: 00000713 li a4,0 +80001260: cb5ff06f j 80000f14 <__divdf3+0x25c> +80001264: 00090613 mv a2,s2 +80001268: 000a8793 mv a5,s5 +8000126c: 00040f93 mv t6,s0 +80001270: 000b0713 mv a4,s6 +80001274: 00200693 li a3,2 +80001278: 10d70063 beq a4,a3,80001378 <__divdf3+0x6c0> +8000127c: 00300693 li a3,3 +80001280: 0ed70263 beq a4,a3,80001364 <__divdf3+0x6ac> +80001284: 00100693 li a3,1 +80001288: f0d71ae3 bne a4,a3,8000119c <__divdf3+0x4e4> +8000128c: 00000793 li a5,0 +80001290: 00000713 li a4,0 +80001294: 0940006f j 80001328 <__divdf3+0x670> +80001298: 00098613 mv a2,s3 +8000129c: fd9ff06f j 80001274 <__divdf3+0x5bc> +800012a0: 000807b7 lui a5,0x80 +800012a4: 00000f93 li t6,0 +800012a8: 00000613 li a2,0 +800012ac: 00300713 li a4,3 +800012b0: fc5ff06f j 80001274 <__divdf3+0x5bc> +800012b4: 00100593 li a1,1 +800012b8: 40d585b3 sub a1,a1,a3 +800012bc: 03800713 li a4,56 +800012c0: fcb746e3 blt a4,a1,8000128c <__divdf3+0x5d4> +800012c4: 01f00713 li a4,31 +800012c8: 06b74463 blt a4,a1,80001330 <__divdf3+0x678> +800012cc: 41e50513 addi a0,a0,1054 +800012d0: 00a79733 sll a4,a5,a0 +800012d4: 00bfd6b3 srl a3,t6,a1 +800012d8: 00af9533 sll a0,t6,a0 +800012dc: 00d76733 or a4,a4,a3 +800012e0: 00a03533 snez a0,a0 +800012e4: 00a76733 or a4,a4,a0 +800012e8: 00b7d7b3 srl a5,a5,a1 +800012ec: 00777693 andi a3,a4,7 +800012f0: 02068063 beqz a3,80001310 <__divdf3+0x658> +800012f4: 00f77693 andi a3,a4,15 +800012f8: 00400593 li a1,4 +800012fc: 00b68a63 beq a3,a1,80001310 <__divdf3+0x658> +80001300: 00470693 addi a3,a4,4 +80001304: 00e6b733 sltu a4,a3,a4 +80001308: 00e787b3 add a5,a5,a4 +8000130c: 00068713 mv a4,a3 +80001310: 00879693 slli a3,a5,0x8 +80001314: 0606ca63 bltz a3,80001388 <__divdf3+0x6d0> +80001318: 01d79693 slli a3,a5,0x1d +8000131c: 00375713 srli a4,a4,0x3 +80001320: 00e6e733 or a4,a3,a4 +80001324: 0037d793 srli a5,a5,0x3 +80001328: 00000693 li a3,0 +8000132c: ecdff06f j 800011f8 <__divdf3+0x540> +80001330: fe100713 li a4,-31 +80001334: 40d70733 sub a4,a4,a3 +80001338: 02000813 li a6,32 +8000133c: 00e7d733 srl a4,a5,a4 +80001340: 00000693 li a3,0 +80001344: 01058663 beq a1,a6,80001350 <__divdf3+0x698> +80001348: 43e50513 addi a0,a0,1086 +8000134c: 00a796b3 sll a3,a5,a0 +80001350: 01f6e533 or a0,a3,t6 +80001354: 00a03533 snez a0,a0 +80001358: 00a76733 or a4,a4,a0 +8000135c: 00000793 li a5,0 +80001360: f8dff06f j 800012ec <__divdf3+0x634> +80001364: 000807b7 lui a5,0x80 +80001368: 00000713 li a4,0 +8000136c: 7ff00693 li a3,2047 +80001370: 00000613 li a2,0 +80001374: e85ff06f j 800011f8 <__divdf3+0x540> +80001378: 00000793 li a5,0 +8000137c: 00000713 li a4,0 +80001380: 7ff00693 li a3,2047 +80001384: e75ff06f j 800011f8 <__divdf3+0x540> +80001388: 00000793 li a5,0 +8000138c: 00000713 li a4,0 +80001390: 00100693 li a3,1 +80001394: e65ff06f j 800011f8 <__divdf3+0x540> + +80001398 <__muldf3>: +80001398: fd010113 addi sp,sp,-48 +8000139c: 03212023 sw s2,32(sp) +800013a0: 01512a23 sw s5,20(sp) +800013a4: 00100937 lui s2,0x100 +800013a8: 0145da93 srli s5,a1,0x14 +800013ac: 01312e23 sw s3,28(sp) +800013b0: 01412c23 sw s4,24(sp) +800013b4: 01612823 sw s6,16(sp) +800013b8: 01712623 sw s7,12(sp) +800013bc: fff90913 addi s2,s2,-1 # fffff <_stack_size+0xffbff> +800013c0: 02112623 sw ra,44(sp) +800013c4: 02812423 sw s0,40(sp) +800013c8: 02912223 sw s1,36(sp) +800013cc: 7ffafa93 andi s5,s5,2047 +800013d0: 00050b13 mv s6,a0 +800013d4: 00060b93 mv s7,a2 +800013d8: 00068a13 mv s4,a3 +800013dc: 00b97933 and s2,s2,a1 +800013e0: 01f5d993 srli s3,a1,0x1f +800013e4: 0a0a8863 beqz s5,80001494 <__muldf3+0xfc> +800013e8: 7ff00793 li a5,2047 +800013ec: 10fa8663 beq s5,a5,800014f8 <__muldf3+0x160> +800013f0: 00800437 lui s0,0x800 +800013f4: 00391913 slli s2,s2,0x3 +800013f8: 00896933 or s2,s2,s0 +800013fc: 01d55413 srli s0,a0,0x1d +80001400: 01246433 or s0,s0,s2 +80001404: 00351493 slli s1,a0,0x3 +80001408: c01a8a93 addi s5,s5,-1023 +8000140c: 00000b13 li s6,0 +80001410: 014a5513 srli a0,s4,0x14 +80001414: 00100937 lui s2,0x100 +80001418: fff90913 addi s2,s2,-1 # fffff <_stack_size+0xffbff> +8000141c: 7ff57513 andi a0,a0,2047 +80001420: 01497933 and s2,s2,s4 +80001424: 000b8713 mv a4,s7 +80001428: 01fa5a13 srli s4,s4,0x1f +8000142c: 10050463 beqz a0,80001534 <__muldf3+0x19c> +80001430: 7ff00793 li a5,2047 +80001434: 16f50463 beq a0,a5,8000159c <__muldf3+0x204> +80001438: 008007b7 lui a5,0x800 +8000143c: 00391913 slli s2,s2,0x3 +80001440: 00f96933 or s2,s2,a5 +80001444: 01dbd793 srli a5,s7,0x1d +80001448: 0127e7b3 or a5,a5,s2 +8000144c: 003b9713 slli a4,s7,0x3 +80001450: c0150513 addi a0,a0,-1023 +80001454: 00000693 li a3,0 +80001458: 002b1593 slli a1,s6,0x2 +8000145c: 00d5e5b3 or a1,a1,a3 +80001460: 00aa8533 add a0,s5,a0 +80001464: fff58593 addi a1,a1,-1 +80001468: 00e00893 li a7,14 +8000146c: 0149c633 xor a2,s3,s4 +80001470: 00150813 addi a6,a0,1 +80001474: 16b8e063 bltu a7,a1,800015d4 <__muldf3+0x23c> +80001478: 00002517 auipc a0,0x2 +8000147c: a7850513 addi a0,a0,-1416 # 80002ef0 +80001480: 00259593 slli a1,a1,0x2 +80001484: 00a585b3 add a1,a1,a0 +80001488: 0005a583 lw a1,0(a1) +8000148c: 00a585b3 add a1,a1,a0 +80001490: 00058067 jr a1 +80001494: 00a96433 or s0,s2,a0 +80001498: 06040e63 beqz s0,80001514 <__muldf3+0x17c> +8000149c: 04090063 beqz s2,800014dc <__muldf3+0x144> +800014a0: 00090513 mv a0,s2 +800014a4: 3e4010ef jal ra,80002888 <__clzsi2> +800014a8: ff550793 addi a5,a0,-11 +800014ac: 01c00713 li a4,28 +800014b0: 02f74c63 blt a4,a5,800014e8 <__muldf3+0x150> +800014b4: 01d00413 li s0,29 +800014b8: ff850493 addi s1,a0,-8 +800014bc: 40f40433 sub s0,s0,a5 +800014c0: 00991933 sll s2,s2,s1 +800014c4: 008b5433 srl s0,s6,s0 +800014c8: 01246433 or s0,s0,s2 +800014cc: 009b14b3 sll s1,s6,s1 +800014d0: c0d00a93 li s5,-1011 +800014d4: 40aa8ab3 sub s5,s5,a0 +800014d8: f35ff06f j 8000140c <__muldf3+0x74> +800014dc: 3ac010ef jal ra,80002888 <__clzsi2> +800014e0: 02050513 addi a0,a0,32 +800014e4: fc5ff06f j 800014a8 <__muldf3+0x110> +800014e8: fd850413 addi s0,a0,-40 +800014ec: 008b1433 sll s0,s6,s0 +800014f0: 00000493 li s1,0 +800014f4: fddff06f j 800014d0 <__muldf3+0x138> +800014f8: 00a96433 or s0,s2,a0 +800014fc: 02040463 beqz s0,80001524 <__muldf3+0x18c> +80001500: 00050493 mv s1,a0 +80001504: 00090413 mv s0,s2 +80001508: 7ff00a93 li s5,2047 +8000150c: 00300b13 li s6,3 +80001510: f01ff06f j 80001410 <__muldf3+0x78> +80001514: 00000493 li s1,0 +80001518: 00000a93 li s5,0 +8000151c: 00100b13 li s6,1 +80001520: ef1ff06f j 80001410 <__muldf3+0x78> +80001524: 00000493 li s1,0 +80001528: 7ff00a93 li s5,2047 +8000152c: 00200b13 li s6,2 +80001530: ee1ff06f j 80001410 <__muldf3+0x78> +80001534: 017967b3 or a5,s2,s7 +80001538: 06078e63 beqz a5,800015b4 <__muldf3+0x21c> +8000153c: 04090063 beqz s2,8000157c <__muldf3+0x1e4> +80001540: 00090513 mv a0,s2 +80001544: 344010ef jal ra,80002888 <__clzsi2> +80001548: ff550693 addi a3,a0,-11 +8000154c: 01c00793 li a5,28 +80001550: 02d7ce63 blt a5,a3,8000158c <__muldf3+0x1f4> +80001554: 01d00793 li a5,29 +80001558: ff850713 addi a4,a0,-8 +8000155c: 40d787b3 sub a5,a5,a3 +80001560: 00e91933 sll s2,s2,a4 +80001564: 00fbd7b3 srl a5,s7,a5 +80001568: 0127e7b3 or a5,a5,s2 +8000156c: 00eb9733 sll a4,s7,a4 +80001570: c0d00693 li a3,-1011 +80001574: 40a68533 sub a0,a3,a0 +80001578: eddff06f j 80001454 <__muldf3+0xbc> +8000157c: 000b8513 mv a0,s7 +80001580: 308010ef jal ra,80002888 <__clzsi2> +80001584: 02050513 addi a0,a0,32 +80001588: fc1ff06f j 80001548 <__muldf3+0x1b0> +8000158c: fd850793 addi a5,a0,-40 +80001590: 00fb97b3 sll a5,s7,a5 +80001594: 00000713 li a4,0 +80001598: fd9ff06f j 80001570 <__muldf3+0x1d8> +8000159c: 017967b3 or a5,s2,s7 +800015a0: 02078263 beqz a5,800015c4 <__muldf3+0x22c> +800015a4: 00090793 mv a5,s2 +800015a8: 7ff00513 li a0,2047 +800015ac: 00300693 li a3,3 +800015b0: ea9ff06f j 80001458 <__muldf3+0xc0> +800015b4: 00000713 li a4,0 +800015b8: 00000513 li a0,0 +800015bc: 00100693 li a3,1 +800015c0: e99ff06f j 80001458 <__muldf3+0xc0> +800015c4: 00000713 li a4,0 +800015c8: 7ff00513 li a0,2047 +800015cc: 00200693 li a3,2 +800015d0: e89ff06f j 80001458 <__muldf3+0xc0> +800015d4: 00010fb7 lui t6,0x10 +800015d8: ffff8f13 addi t5,t6,-1 # ffff <_stack_size+0xfbff> +800015dc: 0104d693 srli a3,s1,0x10 +800015e0: 01075313 srli t1,a4,0x10 +800015e4: 01e4f4b3 and s1,s1,t5 +800015e8: 01e77733 and a4,a4,t5 +800015ec: 029308b3 mul a7,t1,s1 +800015f0: 029705b3 mul a1,a4,s1 +800015f4: 02e682b3 mul t0,a3,a4 +800015f8: 00588e33 add t3,a7,t0 +800015fc: 0105d893 srli a7,a1,0x10 +80001600: 01c888b3 add a7,a7,t3 +80001604: 02668eb3 mul t4,a3,t1 +80001608: 0058f463 bleu t0,a7,80001610 <__muldf3+0x278> +8000160c: 01fe8eb3 add t4,t4,t6 +80001610: 0108d913 srli s2,a7,0x10 +80001614: 01e8f8b3 and a7,a7,t5 +80001618: 0107df93 srli t6,a5,0x10 +8000161c: 01e5f5b3 and a1,a1,t5 +80001620: 01e7f3b3 and t2,a5,t5 +80001624: 01089893 slli a7,a7,0x10 +80001628: 00b888b3 add a7,a7,a1 +8000162c: 027687b3 mul a5,a3,t2 +80001630: 029385b3 mul a1,t2,s1 +80001634: 029f84b3 mul s1,t6,s1 +80001638: 00f48e33 add t3,s1,a5 +8000163c: 0105d493 srli s1,a1,0x10 +80001640: 01c484b3 add s1,s1,t3 +80001644: 03f686b3 mul a3,a3,t6 +80001648: 00f4f663 bleu a5,s1,80001654 <__muldf3+0x2bc> +8000164c: 000107b7 lui a5,0x10 +80001650: 00f686b3 add a3,a3,a5 +80001654: 0104df13 srli t5,s1,0x10 +80001658: 000109b7 lui s3,0x10 +8000165c: 00df0f33 add t5,t5,a3 +80001660: fff98693 addi a3,s3,-1 # ffff <_stack_size+0xfbff> +80001664: 00d4f4b3 and s1,s1,a3 +80001668: 00d5f5b3 and a1,a1,a3 +8000166c: 01045793 srli a5,s0,0x10 +80001670: 01049493 slli s1,s1,0x10 +80001674: 00d47433 and s0,s0,a3 +80001678: 00b484b3 add s1,s1,a1 +8000167c: 028706b3 mul a3,a4,s0 +80001680: 00990933 add s2,s2,s1 +80001684: 02e78e33 mul t3,a5,a4 +80001688: 028305b3 mul a1,t1,s0 +8000168c: 02f30733 mul a4,t1,a5 +80001690: 01c58333 add t1,a1,t3 +80001694: 0106d593 srli a1,a3,0x10 +80001698: 006585b3 add a1,a1,t1 +8000169c: 01c5f463 bleu t3,a1,800016a4 <__muldf3+0x30c> +800016a0: 01370733 add a4,a4,s3 +800016a4: 0105d313 srli t1,a1,0x10 +800016a8: 000109b7 lui s3,0x10 +800016ac: 00e302b3 add t0,t1,a4 +800016b0: fff98713 addi a4,s3,-1 # ffff <_stack_size+0xfbff> +800016b4: 00e5f5b3 and a1,a1,a4 +800016b8: 00e6f6b3 and a3,a3,a4 +800016bc: 02838333 mul t1,t2,s0 +800016c0: 01059593 slli a1,a1,0x10 +800016c4: 00d585b3 add a1,a1,a3 +800016c8: 02778733 mul a4,a5,t2 +800016cc: 028f8433 mul s0,t6,s0 +800016d0: 02ff8e33 mul t3,t6,a5 +800016d4: 00e40433 add s0,s0,a4 +800016d8: 01035793 srli a5,t1,0x10 +800016dc: 00878433 add s0,a5,s0 +800016e0: 00e47463 bleu a4,s0,800016e8 <__muldf3+0x350> +800016e4: 013e0e33 add t3,t3,s3 +800016e8: 000107b7 lui a5,0x10 +800016ec: fff78793 addi a5,a5,-1 # ffff <_stack_size+0xfbff> +800016f0: 00f476b3 and a3,s0,a5 +800016f4: 00f37333 and t1,t1,a5 +800016f8: 01069693 slli a3,a3,0x10 +800016fc: 012e8eb3 add t4,t4,s2 +80001700: 006686b3 add a3,a3,t1 +80001704: 009eb4b3 sltu s1,t4,s1 +80001708: 01e686b3 add a3,a3,t5 +8000170c: 009687b3 add a5,a3,s1 +80001710: 00be8eb3 add t4,t4,a1 +80001714: 00beb5b3 sltu a1,t4,a1 +80001718: 00578333 add t1,a5,t0 +8000171c: 00b30fb3 add t6,t1,a1 +80001720: 01e6b6b3 sltu a3,a3,t5 +80001724: 0097b7b3 sltu a5,a5,s1 +80001728: 00f6e7b3 or a5,a3,a5 +8000172c: 01045413 srli s0,s0,0x10 +80001730: 00533333 sltu t1,t1,t0 +80001734: 00bfb5b3 sltu a1,t6,a1 +80001738: 008787b3 add a5,a5,s0 +8000173c: 00b365b3 or a1,t1,a1 +80001740: 00b787b3 add a5,a5,a1 +80001744: 01c787b3 add a5,a5,t3 +80001748: 017fd713 srli a4,t6,0x17 +8000174c: 00979793 slli a5,a5,0x9 +80001750: 00e7e7b3 or a5,a5,a4 +80001754: 009e9713 slli a4,t4,0x9 +80001758: 01176733 or a4,a4,a7 +8000175c: 00e03733 snez a4,a4 +80001760: 017ede93 srli t4,t4,0x17 +80001764: 009f9693 slli a3,t6,0x9 +80001768: 01d76733 or a4,a4,t4 +8000176c: 00d76733 or a4,a4,a3 +80001770: 00779693 slli a3,a5,0x7 +80001774: 1006da63 bgez a3,80001888 <__muldf3+0x4f0> +80001778: 00175693 srli a3,a4,0x1 +8000177c: 00177713 andi a4,a4,1 +80001780: 00e6e733 or a4,a3,a4 +80001784: 01f79693 slli a3,a5,0x1f +80001788: 00d76733 or a4,a4,a3 +8000178c: 0017d793 srli a5,a5,0x1 +80001790: 3ff80593 addi a1,a6,1023 +80001794: 0eb05e63 blez a1,80001890 <__muldf3+0x4f8> +80001798: 00777693 andi a3,a4,7 +8000179c: 02068063 beqz a3,800017bc <__muldf3+0x424> +800017a0: 00f77693 andi a3,a4,15 +800017a4: 00400513 li a0,4 +800017a8: 00a68a63 beq a3,a0,800017bc <__muldf3+0x424> +800017ac: 00470693 addi a3,a4,4 +800017b0: 00e6b733 sltu a4,a3,a4 +800017b4: 00e787b3 add a5,a5,a4 +800017b8: 00068713 mv a4,a3 +800017bc: 00779693 slli a3,a5,0x7 +800017c0: 0006da63 bgez a3,800017d4 <__muldf3+0x43c> +800017c4: ff0006b7 lui a3,0xff000 +800017c8: fff68693 addi a3,a3,-1 # feffffff <_stack_start+0x7eff9f2f> +800017cc: 00d7f7b3 and a5,a5,a3 +800017d0: 40080593 addi a1,a6,1024 +800017d4: 7fe00693 li a3,2046 +800017d8: 16b6ce63 blt a3,a1,80001954 <__muldf3+0x5bc> +800017dc: 00375693 srli a3,a4,0x3 +800017e0: 01d79713 slli a4,a5,0x1d +800017e4: 00d76733 or a4,a4,a3 +800017e8: 0037d793 srli a5,a5,0x3 +800017ec: 001006b7 lui a3,0x100 +800017f0: fff68693 addi a3,a3,-1 # fffff <_stack_size+0xffbff> +800017f4: 00d7f7b3 and a5,a5,a3 +800017f8: 7ff5f693 andi a3,a1,2047 +800017fc: 801005b7 lui a1,0x80100 +80001800: fff58593 addi a1,a1,-1 # 800fffff <_stack_start+0xf9f2f> +80001804: 01469693 slli a3,a3,0x14 +80001808: 00b7f7b3 and a5,a5,a1 +8000180c: 02c12083 lw ra,44(sp) +80001810: 02812403 lw s0,40(sp) +80001814: 01f61613 slli a2,a2,0x1f +80001818: 00d7e7b3 or a5,a5,a3 +8000181c: 00c7e6b3 or a3,a5,a2 +80001820: 02412483 lw s1,36(sp) +80001824: 02012903 lw s2,32(sp) +80001828: 01c12983 lw s3,28(sp) +8000182c: 01812a03 lw s4,24(sp) +80001830: 01412a83 lw s5,20(sp) +80001834: 01012b03 lw s6,16(sp) +80001838: 00c12b83 lw s7,12(sp) +8000183c: 00070513 mv a0,a4 +80001840: 00068593 mv a1,a3 +80001844: 03010113 addi sp,sp,48 +80001848: 00008067 ret +8000184c: 00098613 mv a2,s3 +80001850: 00040793 mv a5,s0 +80001854: 00048713 mv a4,s1 +80001858: 000b0693 mv a3,s6 +8000185c: 00200593 li a1,2 +80001860: 0eb68a63 beq a3,a1,80001954 <__muldf3+0x5bc> +80001864: 00300593 li a1,3 +80001868: 0cb68c63 beq a3,a1,80001940 <__muldf3+0x5a8> +8000186c: 00100593 li a1,1 +80001870: f2b690e3 bne a3,a1,80001790 <__muldf3+0x3f8> +80001874: 00000793 li a5,0 +80001878: 00000713 li a4,0 +8000187c: 0880006f j 80001904 <__muldf3+0x56c> +80001880: 000a0613 mv a2,s4 +80001884: fd9ff06f j 8000185c <__muldf3+0x4c4> +80001888: 00050813 mv a6,a0 +8000188c: f05ff06f j 80001790 <__muldf3+0x3f8> +80001890: 00100513 li a0,1 +80001894: 40b50533 sub a0,a0,a1 +80001898: 03800693 li a3,56 +8000189c: fca6cce3 blt a3,a0,80001874 <__muldf3+0x4dc> +800018a0: 01f00693 li a3,31 +800018a4: 06a6c463 blt a3,a0,8000190c <__muldf3+0x574> +800018a8: 41e80813 addi a6,a6,1054 +800018ac: 010796b3 sll a3,a5,a6 +800018b0: 00a755b3 srl a1,a4,a0 +800018b4: 01071733 sll a4,a4,a6 +800018b8: 00b6e6b3 or a3,a3,a1 +800018bc: 00e03733 snez a4,a4 +800018c0: 00e6e733 or a4,a3,a4 +800018c4: 00a7d7b3 srl a5,a5,a0 +800018c8: 00777693 andi a3,a4,7 +800018cc: 02068063 beqz a3,800018ec <__muldf3+0x554> +800018d0: 00f77693 andi a3,a4,15 +800018d4: 00400593 li a1,4 +800018d8: 00b68a63 beq a3,a1,800018ec <__muldf3+0x554> +800018dc: 00470693 addi a3,a4,4 +800018e0: 00e6b733 sltu a4,a3,a4 +800018e4: 00e787b3 add a5,a5,a4 +800018e8: 00068713 mv a4,a3 +800018ec: 00879693 slli a3,a5,0x8 +800018f0: 0606ca63 bltz a3,80001964 <__muldf3+0x5cc> +800018f4: 01d79693 slli a3,a5,0x1d +800018f8: 00375713 srli a4,a4,0x3 +800018fc: 00e6e733 or a4,a3,a4 +80001900: 0037d793 srli a5,a5,0x3 +80001904: 00000593 li a1,0 +80001908: ee5ff06f j 800017ec <__muldf3+0x454> +8000190c: fe100693 li a3,-31 +80001910: 40b686b3 sub a3,a3,a1 +80001914: 02000893 li a7,32 +80001918: 00d7d6b3 srl a3,a5,a3 +8000191c: 00000593 li a1,0 +80001920: 01150663 beq a0,a7,8000192c <__muldf3+0x594> +80001924: 43e80813 addi a6,a6,1086 +80001928: 010795b3 sll a1,a5,a6 +8000192c: 00e5e733 or a4,a1,a4 +80001930: 00e03733 snez a4,a4 +80001934: 00e6e733 or a4,a3,a4 +80001938: 00000793 li a5,0 +8000193c: f8dff06f j 800018c8 <__muldf3+0x530> +80001940: 000807b7 lui a5,0x80 +80001944: 00000713 li a4,0 +80001948: 7ff00593 li a1,2047 +8000194c: 00000613 li a2,0 +80001950: e9dff06f j 800017ec <__muldf3+0x454> +80001954: 00000793 li a5,0 +80001958: 00000713 li a4,0 +8000195c: 7ff00593 li a1,2047 +80001960: e8dff06f j 800017ec <__muldf3+0x454> +80001964: 00000793 li a5,0 +80001968: 00000713 li a4,0 +8000196c: 00100593 li a1,1 +80001970: e7dff06f j 800017ec <__muldf3+0x454> + +80001974 <__divsf3>: +80001974: fe010113 addi sp,sp,-32 +80001978: 00912a23 sw s1,20(sp) +8000197c: 01312623 sw s3,12(sp) +80001980: 01755493 srli s1,a0,0x17 +80001984: 008009b7 lui s3,0x800 +80001988: 01212823 sw s2,16(sp) +8000198c: 01412423 sw s4,8(sp) +80001990: fff98993 addi s3,s3,-1 # 7fffff <_stack_size+0x7ffbff> +80001994: 00112e23 sw ra,28(sp) +80001998: 00812c23 sw s0,24(sp) +8000199c: 01512223 sw s5,4(sp) +800019a0: 0ff4f493 andi s1,s1,255 +800019a4: 00058a13 mv s4,a1 +800019a8: 00a9f9b3 and s3,s3,a0 +800019ac: 01f55913 srli s2,a0,0x1f +800019b0: 08048863 beqz s1,80001a40 <__divsf3+0xcc> +800019b4: 0ff00793 li a5,255 +800019b8: 0af48463 beq s1,a5,80001a60 <__divsf3+0xec> +800019bc: 00399993 slli s3,s3,0x3 +800019c0: 040007b7 lui a5,0x4000 +800019c4: 00f9e9b3 or s3,s3,a5 +800019c8: f8148493 addi s1,s1,-127 +800019cc: 00000a93 li s5,0 +800019d0: 017a5513 srli a0,s4,0x17 +800019d4: 00800437 lui s0,0x800 +800019d8: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +800019dc: 0ff57513 andi a0,a0,255 +800019e0: 01447433 and s0,s0,s4 +800019e4: 01fa5a13 srli s4,s4,0x1f +800019e8: 08050c63 beqz a0,80001a80 <__divsf3+0x10c> +800019ec: 0ff00793 li a5,255 +800019f0: 0af50863 beq a0,a5,80001aa0 <__divsf3+0x12c> +800019f4: 00341413 slli s0,s0,0x3 +800019f8: 040007b7 lui a5,0x4000 +800019fc: 00f46433 or s0,s0,a5 +80001a00: f8150513 addi a0,a0,-127 +80001a04: 00000793 li a5,0 +80001a08: 002a9693 slli a3,s5,0x2 +80001a0c: 00f6e6b3 or a3,a3,a5 +80001a10: fff68693 addi a3,a3,-1 +80001a14: 00e00713 li a4,14 +80001a18: 01494633 xor a2,s2,s4 +80001a1c: 40a48533 sub a0,s1,a0 +80001a20: 0ad76063 bltu a4,a3,80001ac0 <__divsf3+0x14c> +80001a24: 00001597 auipc a1,0x1 +80001a28: 50858593 addi a1,a1,1288 # 80002f2c +80001a2c: 00269693 slli a3,a3,0x2 +80001a30: 00b686b3 add a3,a3,a1 +80001a34: 0006a703 lw a4,0(a3) +80001a38: 00b70733 add a4,a4,a1 +80001a3c: 00070067 jr a4 +80001a40: 02098a63 beqz s3,80001a74 <__divsf3+0x100> +80001a44: 00098513 mv a0,s3 +80001a48: 641000ef jal ra,80002888 <__clzsi2> +80001a4c: ffb50793 addi a5,a0,-5 +80001a50: f8a00493 li s1,-118 +80001a54: 00f999b3 sll s3,s3,a5 +80001a58: 40a484b3 sub s1,s1,a0 +80001a5c: f71ff06f j 800019cc <__divsf3+0x58> +80001a60: 0ff00493 li s1,255 +80001a64: 00200a93 li s5,2 +80001a68: f60984e3 beqz s3,800019d0 <__divsf3+0x5c> +80001a6c: 00300a93 li s5,3 +80001a70: f61ff06f j 800019d0 <__divsf3+0x5c> +80001a74: 00000493 li s1,0 +80001a78: 00100a93 li s5,1 +80001a7c: f55ff06f j 800019d0 <__divsf3+0x5c> +80001a80: 02040a63 beqz s0,80001ab4 <__divsf3+0x140> +80001a84: 00040513 mv a0,s0 +80001a88: 601000ef jal ra,80002888 <__clzsi2> +80001a8c: ffb50793 addi a5,a0,-5 +80001a90: 00f41433 sll s0,s0,a5 +80001a94: f8a00793 li a5,-118 +80001a98: 40a78533 sub a0,a5,a0 +80001a9c: f69ff06f j 80001a04 <__divsf3+0x90> +80001aa0: 0ff00513 li a0,255 +80001aa4: 00200793 li a5,2 +80001aa8: f60400e3 beqz s0,80001a08 <__divsf3+0x94> +80001aac: 00300793 li a5,3 +80001ab0: f59ff06f j 80001a08 <__divsf3+0x94> +80001ab4: 00000513 li a0,0 +80001ab8: 00100793 li a5,1 +80001abc: f4dff06f j 80001a08 <__divsf3+0x94> +80001ac0: 00541813 slli a6,s0,0x5 +80001ac4: 0e89f663 bleu s0,s3,80001bb0 <__divsf3+0x23c> +80001ac8: fff50513 addi a0,a0,-1 +80001acc: 00000693 li a3,0 +80001ad0: 01085413 srli s0,a6,0x10 +80001ad4: 0289d333 divu t1,s3,s0 +80001ad8: 000107b7 lui a5,0x10 +80001adc: fff78793 addi a5,a5,-1 # ffff <_stack_size+0xfbff> +80001ae0: 00f877b3 and a5,a6,a5 +80001ae4: 0106d693 srli a3,a3,0x10 +80001ae8: 0289f733 remu a4,s3,s0 +80001aec: 00030593 mv a1,t1 +80001af0: 026788b3 mul a7,a5,t1 +80001af4: 01071713 slli a4,a4,0x10 +80001af8: 00e6e733 or a4,a3,a4 +80001afc: 01177e63 bleu a7,a4,80001b18 <__divsf3+0x1a4> +80001b00: 01070733 add a4,a4,a6 +80001b04: fff30593 addi a1,t1,-1 +80001b08: 01076863 bltu a4,a6,80001b18 <__divsf3+0x1a4> +80001b0c: 01177663 bleu a7,a4,80001b18 <__divsf3+0x1a4> +80001b10: ffe30593 addi a1,t1,-2 +80001b14: 01070733 add a4,a4,a6 +80001b18: 41170733 sub a4,a4,a7 +80001b1c: 028758b3 divu a7,a4,s0 +80001b20: 02877733 remu a4,a4,s0 +80001b24: 031786b3 mul a3,a5,a7 +80001b28: 01071793 slli a5,a4,0x10 +80001b2c: 00088713 mv a4,a7 +80001b30: 00d7fe63 bleu a3,a5,80001b4c <__divsf3+0x1d8> +80001b34: 010787b3 add a5,a5,a6 +80001b38: fff88713 addi a4,a7,-1 +80001b3c: 0107e863 bltu a5,a6,80001b4c <__divsf3+0x1d8> +80001b40: 00d7f663 bleu a3,a5,80001b4c <__divsf3+0x1d8> +80001b44: ffe88713 addi a4,a7,-2 +80001b48: 010787b3 add a5,a5,a6 +80001b4c: 01059413 slli s0,a1,0x10 +80001b50: 40d787b3 sub a5,a5,a3 +80001b54: 00e46433 or s0,s0,a4 +80001b58: 00f037b3 snez a5,a5 +80001b5c: 00f46433 or s0,s0,a5 +80001b60: 07f50713 addi a4,a0,127 +80001b64: 0ae05063 blez a4,80001c04 <__divsf3+0x290> +80001b68: 00747793 andi a5,s0,7 +80001b6c: 00078a63 beqz a5,80001b80 <__divsf3+0x20c> +80001b70: 00f47793 andi a5,s0,15 +80001b74: 00400693 li a3,4 +80001b78: 00d78463 beq a5,a3,80001b80 <__divsf3+0x20c> +80001b7c: 00440413 addi s0,s0,4 +80001b80: 00441793 slli a5,s0,0x4 +80001b84: 0007da63 bgez a5,80001b98 <__divsf3+0x224> +80001b88: f80007b7 lui a5,0xf8000 +80001b8c: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff9f2f> +80001b90: 00f47433 and s0,s0,a5 +80001b94: 08050713 addi a4,a0,128 +80001b98: 0fe00793 li a5,254 +80001b9c: 00345413 srli s0,s0,0x3 +80001ba0: 0ce7d263 ble a4,a5,80001c64 <__divsf3+0x2f0> +80001ba4: 00000413 li s0,0 +80001ba8: 0ff00713 li a4,255 +80001bac: 0b80006f j 80001c64 <__divsf3+0x2f0> +80001bb0: 01f99693 slli a3,s3,0x1f +80001bb4: 0019d993 srli s3,s3,0x1 +80001bb8: f19ff06f j 80001ad0 <__divsf3+0x15c> +80001bbc: 00090613 mv a2,s2 +80001bc0: 00098413 mv s0,s3 +80001bc4: 000a8793 mv a5,s5 +80001bc8: 00200713 li a4,2 +80001bcc: fce78ce3 beq a5,a4,80001ba4 <__divsf3+0x230> +80001bd0: 00300713 li a4,3 +80001bd4: 08e78263 beq a5,a4,80001c58 <__divsf3+0x2e4> +80001bd8: 00100713 li a4,1 +80001bdc: f8e792e3 bne a5,a4,80001b60 <__divsf3+0x1ec> +80001be0: 00000413 li s0,0 +80001be4: 00000713 li a4,0 +80001be8: 07c0006f j 80001c64 <__divsf3+0x2f0> +80001bec: 000a0613 mv a2,s4 +80001bf0: fd9ff06f j 80001bc8 <__divsf3+0x254> +80001bf4: 00400437 lui s0,0x400 +80001bf8: 00000613 li a2,0 +80001bfc: 00300793 li a5,3 +80001c00: fc9ff06f j 80001bc8 <__divsf3+0x254> +80001c04: 00100793 li a5,1 +80001c08: 40e787b3 sub a5,a5,a4 +80001c0c: 01b00713 li a4,27 +80001c10: fcf748e3 blt a4,a5,80001be0 <__divsf3+0x26c> +80001c14: 09e50513 addi a0,a0,158 +80001c18: 00f457b3 srl a5,s0,a5 +80001c1c: 00a41433 sll s0,s0,a0 +80001c20: 00803433 snez s0,s0 +80001c24: 0087e433 or s0,a5,s0 +80001c28: 00747793 andi a5,s0,7 +80001c2c: 00078a63 beqz a5,80001c40 <__divsf3+0x2cc> +80001c30: 00f47793 andi a5,s0,15 +80001c34: 00400713 li a4,4 +80001c38: 00e78463 beq a5,a4,80001c40 <__divsf3+0x2cc> +80001c3c: 00440413 addi s0,s0,4 # 400004 <_stack_size+0x3ffc04> +80001c40: 00541793 slli a5,s0,0x5 +80001c44: 00345413 srli s0,s0,0x3 +80001c48: f807dee3 bgez a5,80001be4 <__divsf3+0x270> +80001c4c: 00000413 li s0,0 +80001c50: 00100713 li a4,1 +80001c54: 0100006f j 80001c64 <__divsf3+0x2f0> +80001c58: 00400437 lui s0,0x400 +80001c5c: 0ff00713 li a4,255 +80001c60: 00000613 li a2,0 +80001c64: 00800537 lui a0,0x800 +80001c68: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80001c6c: 00a47433 and s0,s0,a0 +80001c70: 80800537 lui a0,0x80800 +80001c74: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9f2f> +80001c78: 0ff77713 andi a4,a4,255 +80001c7c: 00a47433 and s0,s0,a0 +80001c80: 01771713 slli a4,a4,0x17 +80001c84: 00e46433 or s0,s0,a4 +80001c88: 01f61513 slli a0,a2,0x1f +80001c8c: 00a46533 or a0,s0,a0 +80001c90: 01c12083 lw ra,28(sp) +80001c94: 01812403 lw s0,24(sp) +80001c98: 01412483 lw s1,20(sp) +80001c9c: 01012903 lw s2,16(sp) +80001ca0: 00c12983 lw s3,12(sp) +80001ca4: 00812a03 lw s4,8(sp) +80001ca8: 00412a83 lw s5,4(sp) +80001cac: 02010113 addi sp,sp,32 +80001cb0: 00008067 ret + +80001cb4 <__mulsf3>: +80001cb4: fe010113 addi sp,sp,-32 +80001cb8: 00912a23 sw s1,20(sp) +80001cbc: 01212823 sw s2,16(sp) +80001cc0: 008004b7 lui s1,0x800 +80001cc4: 01755913 srli s2,a0,0x17 +80001cc8: 01312623 sw s3,12(sp) +80001ccc: 01512223 sw s5,4(sp) +80001cd0: fff48493 addi s1,s1,-1 # 7fffff <_stack_size+0x7ffbff> +80001cd4: 00112e23 sw ra,28(sp) +80001cd8: 00812c23 sw s0,24(sp) +80001cdc: 01412423 sw s4,8(sp) +80001ce0: 0ff97913 andi s2,s2,255 +80001ce4: 00058a93 mv s5,a1 +80001ce8: 00a4f4b3 and s1,s1,a0 +80001cec: 01f55993 srli s3,a0,0x1f +80001cf0: 08090a63 beqz s2,80001d84 <__mulsf3+0xd0> +80001cf4: 0ff00793 li a5,255 +80001cf8: 0af90663 beq s2,a5,80001da4 <__mulsf3+0xf0> +80001cfc: 00349493 slli s1,s1,0x3 +80001d00: 040007b7 lui a5,0x4000 +80001d04: 00f4e4b3 or s1,s1,a5 +80001d08: f8190913 addi s2,s2,-127 +80001d0c: 00000a13 li s4,0 +80001d10: 017ad513 srli a0,s5,0x17 +80001d14: 00800437 lui s0,0x800 +80001d18: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80001d1c: 0ff57513 andi a0,a0,255 +80001d20: 01547433 and s0,s0,s5 +80001d24: 01fada93 srli s5,s5,0x1f +80001d28: 08050e63 beqz a0,80001dc4 <__mulsf3+0x110> +80001d2c: 0ff00793 li a5,255 +80001d30: 0af50a63 beq a0,a5,80001de4 <__mulsf3+0x130> +80001d34: 00341413 slli s0,s0,0x3 +80001d38: 040007b7 lui a5,0x4000 +80001d3c: 00f46433 or s0,s0,a5 +80001d40: f8150513 addi a0,a0,-127 +80001d44: 00000693 li a3,0 +80001d48: 002a1793 slli a5,s4,0x2 +80001d4c: 00d7e7b3 or a5,a5,a3 +80001d50: 00a90533 add a0,s2,a0 +80001d54: fff78793 addi a5,a5,-1 # 3ffffff <_stack_size+0x3fffbff> +80001d58: 00e00713 li a4,14 +80001d5c: 0159c633 xor a2,s3,s5 +80001d60: 00150813 addi a6,a0,1 +80001d64: 0af76063 bltu a4,a5,80001e04 <__mulsf3+0x150> +80001d68: 00001717 auipc a4,0x1 +80001d6c: 20070713 addi a4,a4,512 # 80002f68 +80001d70: 00279793 slli a5,a5,0x2 +80001d74: 00e787b3 add a5,a5,a4 +80001d78: 0007a783 lw a5,0(a5) +80001d7c: 00e787b3 add a5,a5,a4 +80001d80: 00078067 jr a5 +80001d84: 02048a63 beqz s1,80001db8 <__mulsf3+0x104> +80001d88: 00048513 mv a0,s1 +80001d8c: 2fd000ef jal ra,80002888 <__clzsi2> +80001d90: ffb50793 addi a5,a0,-5 +80001d94: f8a00913 li s2,-118 +80001d98: 00f494b3 sll s1,s1,a5 +80001d9c: 40a90933 sub s2,s2,a0 +80001da0: f6dff06f j 80001d0c <__mulsf3+0x58> +80001da4: 0ff00913 li s2,255 +80001da8: 00200a13 li s4,2 +80001dac: f60482e3 beqz s1,80001d10 <__mulsf3+0x5c> +80001db0: 00300a13 li s4,3 +80001db4: f5dff06f j 80001d10 <__mulsf3+0x5c> +80001db8: 00000913 li s2,0 +80001dbc: 00100a13 li s4,1 +80001dc0: f51ff06f j 80001d10 <__mulsf3+0x5c> +80001dc4: 02040a63 beqz s0,80001df8 <__mulsf3+0x144> +80001dc8: 00040513 mv a0,s0 +80001dcc: 2bd000ef jal ra,80002888 <__clzsi2> +80001dd0: ffb50793 addi a5,a0,-5 +80001dd4: 00f41433 sll s0,s0,a5 +80001dd8: f8a00793 li a5,-118 +80001ddc: 40a78533 sub a0,a5,a0 +80001de0: f65ff06f j 80001d44 <__mulsf3+0x90> +80001de4: 0ff00513 li a0,255 +80001de8: 00200693 li a3,2 +80001dec: f4040ee3 beqz s0,80001d48 <__mulsf3+0x94> +80001df0: 00300693 li a3,3 +80001df4: f55ff06f j 80001d48 <__mulsf3+0x94> +80001df8: 00000513 li a0,0 +80001dfc: 00100693 li a3,1 +80001e00: f49ff06f j 80001d48 <__mulsf3+0x94> +80001e04: 000107b7 lui a5,0x10 +80001e08: fff78313 addi t1,a5,-1 # ffff <_stack_size+0xfbff> +80001e0c: 0104d713 srli a4,s1,0x10 +80001e10: 01045693 srli a3,s0,0x10 +80001e14: 0064f4b3 and s1,s1,t1 +80001e18: 00647433 and s0,s0,t1 +80001e1c: 028488b3 mul a7,s1,s0 +80001e20: 028705b3 mul a1,a4,s0 +80001e24: 02d70433 mul s0,a4,a3 +80001e28: 029686b3 mul a3,a3,s1 +80001e2c: 0108d493 srli s1,a7,0x10 +80001e30: 00b686b3 add a3,a3,a1 +80001e34: 00d484b3 add s1,s1,a3 +80001e38: 00b4f463 bleu a1,s1,80001e40 <__mulsf3+0x18c> +80001e3c: 00f40433 add s0,s0,a5 +80001e40: 0064f7b3 and a5,s1,t1 +80001e44: 01079793 slli a5,a5,0x10 +80001e48: 0068f8b3 and a7,a7,t1 +80001e4c: 011787b3 add a5,a5,a7 +80001e50: 00679713 slli a4,a5,0x6 +80001e54: 0104d493 srli s1,s1,0x10 +80001e58: 00e03733 snez a4,a4 +80001e5c: 01a7d793 srli a5,a5,0x1a +80001e60: 00848433 add s0,s1,s0 +80001e64: 00f767b3 or a5,a4,a5 +80001e68: 00641413 slli s0,s0,0x6 +80001e6c: 00f46433 or s0,s0,a5 +80001e70: 00441793 slli a5,s0,0x4 +80001e74: 0c07de63 bgez a5,80001f50 <__mulsf3+0x29c> +80001e78: 00145793 srli a5,s0,0x1 +80001e7c: 00147413 andi s0,s0,1 +80001e80: 0087e433 or s0,a5,s0 +80001e84: 07f80713 addi a4,a6,127 +80001e88: 0ce05863 blez a4,80001f58 <__mulsf3+0x2a4> +80001e8c: 00747793 andi a5,s0,7 +80001e90: 00078a63 beqz a5,80001ea4 <__mulsf3+0x1f0> +80001e94: 00f47793 andi a5,s0,15 +80001e98: 00400693 li a3,4 +80001e9c: 00d78463 beq a5,a3,80001ea4 <__mulsf3+0x1f0> +80001ea0: 00440413 addi s0,s0,4 +80001ea4: 00441793 slli a5,s0,0x4 +80001ea8: 0007da63 bgez a5,80001ebc <__mulsf3+0x208> +80001eac: f80007b7 lui a5,0xf8000 +80001eb0: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff9f2f> +80001eb4: 00f47433 and s0,s0,a5 +80001eb8: 08080713 addi a4,a6,128 +80001ebc: 0fe00793 li a5,254 +80001ec0: 0ee7cc63 blt a5,a4,80001fb8 <__mulsf3+0x304> +80001ec4: 00345793 srli a5,s0,0x3 +80001ec8: 0300006f j 80001ef8 <__mulsf3+0x244> +80001ecc: 00098613 mv a2,s3 +80001ed0: 00048413 mv s0,s1 +80001ed4: 000a0693 mv a3,s4 +80001ed8: 00200793 li a5,2 +80001edc: 0cf68e63 beq a3,a5,80001fb8 <__mulsf3+0x304> +80001ee0: 00300793 li a5,3 +80001ee4: 0cf68263 beq a3,a5,80001fa8 <__mulsf3+0x2f4> +80001ee8: 00100593 li a1,1 +80001eec: 00000793 li a5,0 +80001ef0: 00000713 li a4,0 +80001ef4: f8b698e3 bne a3,a1,80001e84 <__mulsf3+0x1d0> +80001ef8: 00800437 lui s0,0x800 +80001efc: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80001f00: 80800537 lui a0,0x80800 +80001f04: 0087f7b3 and a5,a5,s0 +80001f08: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9f2f> +80001f0c: 01c12083 lw ra,28(sp) +80001f10: 01812403 lw s0,24(sp) +80001f14: 0ff77713 andi a4,a4,255 +80001f18: 00a7f7b3 and a5,a5,a0 +80001f1c: 01771713 slli a4,a4,0x17 +80001f20: 01f61513 slli a0,a2,0x1f +80001f24: 00e7e7b3 or a5,a5,a4 +80001f28: 01412483 lw s1,20(sp) +80001f2c: 01012903 lw s2,16(sp) +80001f30: 00c12983 lw s3,12(sp) +80001f34: 00812a03 lw s4,8(sp) +80001f38: 00412a83 lw s5,4(sp) +80001f3c: 00a7e533 or a0,a5,a0 +80001f40: 02010113 addi sp,sp,32 +80001f44: 00008067 ret +80001f48: 000a8613 mv a2,s5 +80001f4c: f8dff06f j 80001ed8 <__mulsf3+0x224> +80001f50: 00050813 mv a6,a0 +80001f54: f31ff06f j 80001e84 <__mulsf3+0x1d0> +80001f58: 00100793 li a5,1 +80001f5c: 40e787b3 sub a5,a5,a4 +80001f60: 01b00713 li a4,27 +80001f64: 06f74063 blt a4,a5,80001fc4 <__mulsf3+0x310> +80001f68: 09e80813 addi a6,a6,158 +80001f6c: 00f457b3 srl a5,s0,a5 +80001f70: 01041433 sll s0,s0,a6 +80001f74: 00803433 snez s0,s0 +80001f78: 0087e433 or s0,a5,s0 +80001f7c: 00747793 andi a5,s0,7 +80001f80: 00078a63 beqz a5,80001f94 <__mulsf3+0x2e0> +80001f84: 00f47793 andi a5,s0,15 +80001f88: 00400713 li a4,4 +80001f8c: 00e78463 beq a5,a4,80001f94 <__mulsf3+0x2e0> +80001f90: 00440413 addi s0,s0,4 +80001f94: 00541793 slli a5,s0,0x5 +80001f98: 0207ca63 bltz a5,80001fcc <__mulsf3+0x318> +80001f9c: 00345793 srli a5,s0,0x3 +80001fa0: 00000713 li a4,0 +80001fa4: f55ff06f j 80001ef8 <__mulsf3+0x244> +80001fa8: 004007b7 lui a5,0x400 +80001fac: 0ff00713 li a4,255 +80001fb0: 00000613 li a2,0 +80001fb4: f45ff06f j 80001ef8 <__mulsf3+0x244> +80001fb8: 00000793 li a5,0 +80001fbc: 0ff00713 li a4,255 +80001fc0: f39ff06f j 80001ef8 <__mulsf3+0x244> +80001fc4: 00000793 li a5,0 +80001fc8: fd9ff06f j 80001fa0 <__mulsf3+0x2ec> +80001fcc: 00000793 li a5,0 +80001fd0: 00100713 li a4,1 +80001fd4: f25ff06f j 80001ef8 <__mulsf3+0x244> + +80001fd8 <__subsf3>: +80001fd8: 008007b7 lui a5,0x800 +80001fdc: fff78793 addi a5,a5,-1 # 7fffff <_stack_size+0x7ffbff> +80001fe0: ff010113 addi sp,sp,-16 +80001fe4: 00a7f733 and a4,a5,a0 +80001fe8: 01755693 srli a3,a0,0x17 +80001fec: 0175d613 srli a2,a1,0x17 +80001ff0: 00b7f7b3 and a5,a5,a1 +80001ff4: 00912223 sw s1,4(sp) +80001ff8: 01212023 sw s2,0(sp) +80001ffc: 0ff6f693 andi a3,a3,255 +80002000: 00371813 slli a6,a4,0x3 +80002004: 0ff67613 andi a2,a2,255 +80002008: 00112623 sw ra,12(sp) +8000200c: 00812423 sw s0,8(sp) +80002010: 0ff00713 li a4,255 +80002014: 01f55493 srli s1,a0,0x1f +80002018: 00068913 mv s2,a3 +8000201c: 00060513 mv a0,a2 +80002020: 01f5d593 srli a1,a1,0x1f +80002024: 00379793 slli a5,a5,0x3 +80002028: 00e61463 bne a2,a4,80002030 <__subsf3+0x58> +8000202c: 00079463 bnez a5,80002034 <__subsf3+0x5c> +80002030: 0015c593 xori a1,a1,1 +80002034: 40c68733 sub a4,a3,a2 +80002038: 1a959a63 bne a1,s1,800021ec <__subsf3+0x214> +8000203c: 0ae05663 blez a4,800020e8 <__subsf3+0x110> +80002040: 06061663 bnez a2,800020ac <__subsf3+0xd4> +80002044: 00079c63 bnez a5,8000205c <__subsf3+0x84> +80002048: 0ff00793 li a5,255 +8000204c: 04f68c63 beq a3,a5,800020a4 <__subsf3+0xcc> +80002050: 00080793 mv a5,a6 +80002054: 00068513 mv a0,a3 +80002058: 14c0006f j 800021a4 <__subsf3+0x1cc> +8000205c: fff70713 addi a4,a4,-1 +80002060: 02071e63 bnez a4,8000209c <__subsf3+0xc4> +80002064: 010787b3 add a5,a5,a6 +80002068: 00068513 mv a0,a3 +8000206c: 00579713 slli a4,a5,0x5 +80002070: 12075a63 bgez a4,800021a4 <__subsf3+0x1cc> +80002074: 00150513 addi a0,a0,1 +80002078: 0ff00713 li a4,255 +8000207c: 32e50e63 beq a0,a4,800023b8 <__subsf3+0x3e0> +80002080: 7e000737 lui a4,0x7e000 +80002084: 0017f693 andi a3,a5,1 +80002088: fff70713 addi a4,a4,-1 # 7dffffff <_stack_size+0x7dfffbff> +8000208c: 0017d793 srli a5,a5,0x1 +80002090: 00e7f7b3 and a5,a5,a4 +80002094: 00d7e7b3 or a5,a5,a3 +80002098: 10c0006f j 800021a4 <__subsf3+0x1cc> +8000209c: 0ff00613 li a2,255 +800020a0: 00c69e63 bne a3,a2,800020bc <__subsf3+0xe4> +800020a4: 00080793 mv a5,a6 +800020a8: 0740006f j 8000211c <__subsf3+0x144> +800020ac: 0ff00613 li a2,255 +800020b0: fec68ae3 beq a3,a2,800020a4 <__subsf3+0xcc> +800020b4: 04000637 lui a2,0x4000 +800020b8: 00c7e7b3 or a5,a5,a2 +800020bc: 01b00613 li a2,27 +800020c0: 00e65663 ble a4,a2,800020cc <__subsf3+0xf4> +800020c4: 00100793 li a5,1 +800020c8: f9dff06f j 80002064 <__subsf3+0x8c> +800020cc: 02000613 li a2,32 +800020d0: 40e60633 sub a2,a2,a4 +800020d4: 00e7d5b3 srl a1,a5,a4 +800020d8: 00c797b3 sll a5,a5,a2 +800020dc: 00f037b3 snez a5,a5 +800020e0: 00f5e7b3 or a5,a1,a5 +800020e4: f81ff06f j 80002064 <__subsf3+0x8c> +800020e8: 08070063 beqz a4,80002168 <__subsf3+0x190> +800020ec: 02069c63 bnez a3,80002124 <__subsf3+0x14c> +800020f0: 00081863 bnez a6,80002100 <__subsf3+0x128> +800020f4: 0ff00713 li a4,255 +800020f8: 0ae61663 bne a2,a4,800021a4 <__subsf3+0x1cc> +800020fc: 0200006f j 8000211c <__subsf3+0x144> +80002100: fff00693 li a3,-1 +80002104: 00d71663 bne a4,a3,80002110 <__subsf3+0x138> +80002108: 010787b3 add a5,a5,a6 +8000210c: f61ff06f j 8000206c <__subsf3+0x94> +80002110: 0ff00693 li a3,255 +80002114: fff74713 not a4,a4 +80002118: 02d61063 bne a2,a3,80002138 <__subsf3+0x160> +8000211c: 0ff00513 li a0,255 +80002120: 0840006f j 800021a4 <__subsf3+0x1cc> +80002124: 0ff00693 li a3,255 +80002128: fed60ae3 beq a2,a3,8000211c <__subsf3+0x144> +8000212c: 040006b7 lui a3,0x4000 +80002130: 40e00733 neg a4,a4 +80002134: 00d86833 or a6,a6,a3 +80002138: 01b00693 li a3,27 +8000213c: 00e6d663 ble a4,a3,80002148 <__subsf3+0x170> +80002140: 00100713 li a4,1 +80002144: 01c0006f j 80002160 <__subsf3+0x188> +80002148: 02000693 li a3,32 +8000214c: 00e85633 srl a2,a6,a4 +80002150: 40e68733 sub a4,a3,a4 +80002154: 00e81733 sll a4,a6,a4 +80002158: 00e03733 snez a4,a4 +8000215c: 00e66733 or a4,a2,a4 +80002160: 00e787b3 add a5,a5,a4 +80002164: f09ff06f j 8000206c <__subsf3+0x94> +80002168: 00168513 addi a0,a3,1 # 4000001 <_stack_size+0x3fffc01> +8000216c: 0ff57613 andi a2,a0,255 +80002170: 00100713 li a4,1 +80002174: 06c74263 blt a4,a2,800021d8 <__subsf3+0x200> +80002178: 04069463 bnez a3,800021c0 <__subsf3+0x1e8> +8000217c: 00000513 li a0,0 +80002180: 02080263 beqz a6,800021a4 <__subsf3+0x1cc> +80002184: 22078663 beqz a5,800023b0 <__subsf3+0x3d8> +80002188: 010787b3 add a5,a5,a6 +8000218c: 00579713 slli a4,a5,0x5 +80002190: 00075a63 bgez a4,800021a4 <__subsf3+0x1cc> +80002194: fc000737 lui a4,0xfc000 +80002198: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9f2f> +8000219c: 00e7f7b3 and a5,a5,a4 +800021a0: 00100513 li a0,1 +800021a4: 0077f713 andi a4,a5,7 +800021a8: 20070a63 beqz a4,800023bc <__subsf3+0x3e4> +800021ac: 00f7f713 andi a4,a5,15 +800021b0: 00400693 li a3,4 +800021b4: 20d70463 beq a4,a3,800023bc <__subsf3+0x3e4> +800021b8: 00478793 addi a5,a5,4 +800021bc: 2000006f j 800023bc <__subsf3+0x3e4> +800021c0: f4080ee3 beqz a6,8000211c <__subsf3+0x144> +800021c4: ee0780e3 beqz a5,800020a4 <__subsf3+0xcc> +800021c8: 020007b7 lui a5,0x2000 +800021cc: 0ff00513 li a0,255 +800021d0: 00000493 li s1,0 +800021d4: 1e80006f j 800023bc <__subsf3+0x3e4> +800021d8: 0ff00713 li a4,255 +800021dc: 1ce50e63 beq a0,a4,800023b8 <__subsf3+0x3e0> +800021e0: 00f80733 add a4,a6,a5 +800021e4: 00175793 srli a5,a4,0x1 +800021e8: fbdff06f j 800021a4 <__subsf3+0x1cc> +800021ec: 08e05063 blez a4,8000226c <__subsf3+0x294> +800021f0: 04061663 bnez a2,8000223c <__subsf3+0x264> +800021f4: e4078ae3 beqz a5,80002048 <__subsf3+0x70> +800021f8: fff70713 addi a4,a4,-1 +800021fc: 02071463 bnez a4,80002224 <__subsf3+0x24c> +80002200: 40f807b3 sub a5,a6,a5 +80002204: 00068513 mv a0,a3 +80002208: 00579713 slli a4,a5,0x5 +8000220c: f8075ce3 bgez a4,800021a4 <__subsf3+0x1cc> +80002210: 04000437 lui s0,0x4000 +80002214: fff40413 addi s0,s0,-1 # 3ffffff <_stack_size+0x3fffbff> +80002218: 0087f433 and s0,a5,s0 +8000221c: 00050913 mv s2,a0 +80002220: 1380006f j 80002358 <__subsf3+0x380> +80002224: 0ff00613 li a2,255 +80002228: e6c68ee3 beq a3,a2,800020a4 <__subsf3+0xcc> +8000222c: 01b00613 li a2,27 +80002230: 02e65063 ble a4,a2,80002250 <__subsf3+0x278> +80002234: 00100793 li a5,1 +80002238: fc9ff06f j 80002200 <__subsf3+0x228> +8000223c: 0ff00613 li a2,255 +80002240: e6c682e3 beq a3,a2,800020a4 <__subsf3+0xcc> +80002244: 04000637 lui a2,0x4000 +80002248: 00c7e7b3 or a5,a5,a2 +8000224c: fe1ff06f j 8000222c <__subsf3+0x254> +80002250: 02000613 li a2,32 +80002254: 00e7d5b3 srl a1,a5,a4 +80002258: 40e60733 sub a4,a2,a4 +8000225c: 00e797b3 sll a5,a5,a4 +80002260: 00f037b3 snez a5,a5 +80002264: 00f5e7b3 or a5,a1,a5 +80002268: f99ff06f j 80002200 <__subsf3+0x228> +8000226c: 08070263 beqz a4,800022f0 <__subsf3+0x318> +80002270: 02069e63 bnez a3,800022ac <__subsf3+0x2d4> +80002274: 00081863 bnez a6,80002284 <__subsf3+0x2ac> +80002278: 0ff00713 li a4,255 +8000227c: 00058493 mv s1,a1 +80002280: e79ff06f j 800020f8 <__subsf3+0x120> +80002284: fff00693 li a3,-1 +80002288: 00d71863 bne a4,a3,80002298 <__subsf3+0x2c0> +8000228c: 410787b3 sub a5,a5,a6 +80002290: 00058493 mv s1,a1 +80002294: f75ff06f j 80002208 <__subsf3+0x230> +80002298: 0ff00693 li a3,255 +8000229c: fff74713 not a4,a4 +800022a0: 02d61063 bne a2,a3,800022c0 <__subsf3+0x2e8> +800022a4: 00058493 mv s1,a1 +800022a8: e75ff06f j 8000211c <__subsf3+0x144> +800022ac: 0ff00693 li a3,255 +800022b0: fed60ae3 beq a2,a3,800022a4 <__subsf3+0x2cc> +800022b4: 040006b7 lui a3,0x4000 +800022b8: 40e00733 neg a4,a4 +800022bc: 00d86833 or a6,a6,a3 +800022c0: 01b00693 li a3,27 +800022c4: 00e6d663 ble a4,a3,800022d0 <__subsf3+0x2f8> +800022c8: 00100713 li a4,1 +800022cc: 01c0006f j 800022e8 <__subsf3+0x310> +800022d0: 02000693 li a3,32 +800022d4: 00e85633 srl a2,a6,a4 +800022d8: 40e68733 sub a4,a3,a4 +800022dc: 00e81733 sll a4,a6,a4 +800022e0: 00e03733 snez a4,a4 +800022e4: 00e66733 or a4,a2,a4 +800022e8: 40e787b3 sub a5,a5,a4 +800022ec: fa5ff06f j 80002290 <__subsf3+0x2b8> +800022f0: 00168713 addi a4,a3,1 # 4000001 <_stack_size+0x3fffc01> +800022f4: 0ff77713 andi a4,a4,255 +800022f8: 00100613 li a2,1 +800022fc: 04e64463 blt a2,a4,80002344 <__subsf3+0x36c> +80002300: 02069c63 bnez a3,80002338 <__subsf3+0x360> +80002304: 00081863 bnez a6,80002314 <__subsf3+0x33c> +80002308: 12079863 bnez a5,80002438 <__subsf3+0x460> +8000230c: 00000513 li a0,0 +80002310: ec1ff06f j 800021d0 <__subsf3+0x1f8> +80002314: 12078663 beqz a5,80002440 <__subsf3+0x468> +80002318: 40f80733 sub a4,a6,a5 +8000231c: 00571693 slli a3,a4,0x5 +80002320: 410787b3 sub a5,a5,a6 +80002324: 1006ca63 bltz a3,80002438 <__subsf3+0x460> +80002328: 00070793 mv a5,a4 +8000232c: 06071063 bnez a4,8000238c <__subsf3+0x3b4> +80002330: 00000793 li a5,0 +80002334: fd9ff06f j 8000230c <__subsf3+0x334> +80002338: e80816e3 bnez a6,800021c4 <__subsf3+0x1ec> +8000233c: f60794e3 bnez a5,800022a4 <__subsf3+0x2cc> +80002340: e89ff06f j 800021c8 <__subsf3+0x1f0> +80002344: 40f80433 sub s0,a6,a5 +80002348: 00541713 slli a4,s0,0x5 +8000234c: 04075463 bgez a4,80002394 <__subsf3+0x3bc> +80002350: 41078433 sub s0,a5,a6 +80002354: 00058493 mv s1,a1 +80002358: 00040513 mv a0,s0 +8000235c: 52c000ef jal ra,80002888 <__clzsi2> +80002360: ffb50513 addi a0,a0,-5 +80002364: 00a41433 sll s0,s0,a0 +80002368: 03254a63 blt a0,s2,8000239c <__subsf3+0x3c4> +8000236c: 41250533 sub a0,a0,s2 +80002370: 00150513 addi a0,a0,1 +80002374: 02000713 li a4,32 +80002378: 00a457b3 srl a5,s0,a0 +8000237c: 40a70533 sub a0,a4,a0 +80002380: 00a41433 sll s0,s0,a0 +80002384: 00803433 snez s0,s0 +80002388: 0087e7b3 or a5,a5,s0 +8000238c: 00000513 li a0,0 +80002390: e15ff06f j 800021a4 <__subsf3+0x1cc> +80002394: f8040ee3 beqz s0,80002330 <__subsf3+0x358> +80002398: fc1ff06f j 80002358 <__subsf3+0x380> +8000239c: fc0007b7 lui a5,0xfc000 +800023a0: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff9f2f> +800023a4: 40a90533 sub a0,s2,a0 +800023a8: 00f477b3 and a5,s0,a5 +800023ac: df9ff06f j 800021a4 <__subsf3+0x1cc> +800023b0: 00080793 mv a5,a6 +800023b4: df1ff06f j 800021a4 <__subsf3+0x1cc> +800023b8: 00000793 li a5,0 +800023bc: 00579713 slli a4,a5,0x5 +800023c0: 00075e63 bgez a4,800023dc <__subsf3+0x404> +800023c4: 00150513 addi a0,a0,1 +800023c8: 0ff00713 li a4,255 +800023cc: 06e50e63 beq a0,a4,80002448 <__subsf3+0x470> +800023d0: fc000737 lui a4,0xfc000 +800023d4: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9f2f> +800023d8: 00e7f7b3 and a5,a5,a4 +800023dc: 0ff00713 li a4,255 +800023e0: 0037d793 srli a5,a5,0x3 +800023e4: 00e51863 bne a0,a4,800023f4 <__subsf3+0x41c> +800023e8: 00078663 beqz a5,800023f4 <__subsf3+0x41c> +800023ec: 004007b7 lui a5,0x400 +800023f0: 00000493 li s1,0 +800023f4: 00800737 lui a4,0x800 +800023f8: fff70713 addi a4,a4,-1 # 7fffff <_stack_size+0x7ffbff> +800023fc: 0ff57513 andi a0,a0,255 +80002400: 00e7f7b3 and a5,a5,a4 +80002404: 01751713 slli a4,a0,0x17 +80002408: 80800537 lui a0,0x80800 +8000240c: 00c12083 lw ra,12(sp) +80002410: 00812403 lw s0,8(sp) +80002414: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9f2f> +80002418: 00a7f533 and a0,a5,a0 +8000241c: 01f49493 slli s1,s1,0x1f +80002420: 00e56533 or a0,a0,a4 +80002424: 00956533 or a0,a0,s1 +80002428: 00012903 lw s2,0(sp) +8000242c: 00412483 lw s1,4(sp) +80002430: 01010113 addi sp,sp,16 +80002434: 00008067 ret +80002438: 00058493 mv s1,a1 +8000243c: f51ff06f j 8000238c <__subsf3+0x3b4> +80002440: 00080793 mv a5,a6 +80002444: f49ff06f j 8000238c <__subsf3+0x3b4> +80002448: 00000793 li a5,0 +8000244c: f91ff06f j 800023dc <__subsf3+0x404> + +80002450 <__fixsfsi>: +80002450: 00800637 lui a2,0x800 +80002454: 01755713 srli a4,a0,0x17 +80002458: fff60793 addi a5,a2,-1 # 7fffff <_stack_size+0x7ffbff> +8000245c: 0ff77713 andi a4,a4,255 +80002460: 07e00593 li a1,126 +80002464: 00a7f7b3 and a5,a5,a0 +80002468: 01f55693 srli a3,a0,0x1f +8000246c: 04e5f663 bleu a4,a1,800024b8 <__fixsfsi+0x68> +80002470: 09d00593 li a1,157 +80002474: 00e5fa63 bleu a4,a1,80002488 <__fixsfsi+0x38> +80002478: 80000537 lui a0,0x80000 +8000247c: fff54513 not a0,a0 +80002480: 00a68533 add a0,a3,a0 +80002484: 00008067 ret +80002488: 00c7e533 or a0,a5,a2 +8000248c: 09500793 li a5,149 +80002490: 00e7dc63 ble a4,a5,800024a8 <__fixsfsi+0x58> +80002494: f6a70713 addi a4,a4,-150 +80002498: 00e51533 sll a0,a0,a4 +8000249c: 02068063 beqz a3,800024bc <__fixsfsi+0x6c> +800024a0: 40a00533 neg a0,a0 +800024a4: 00008067 ret +800024a8: 09600793 li a5,150 +800024ac: 40e78733 sub a4,a5,a4 +800024b0: 00e55533 srl a0,a0,a4 +800024b4: fe9ff06f j 8000249c <__fixsfsi+0x4c> +800024b8: 00000513 li a0,0 +800024bc: 00008067 ret + +800024c0 <__floatsisf>: +800024c0: ff010113 addi sp,sp,-16 +800024c4: 00112623 sw ra,12(sp) +800024c8: 00812423 sw s0,8(sp) +800024cc: 00912223 sw s1,4(sp) +800024d0: 10050263 beqz a0,800025d4 <__floatsisf+0x114> +800024d4: 00050413 mv s0,a0 +800024d8: 01f55493 srli s1,a0,0x1f +800024dc: 00055463 bgez a0,800024e4 <__floatsisf+0x24> +800024e0: 40a00433 neg s0,a0 +800024e4: 00040513 mv a0,s0 +800024e8: 3a0000ef jal ra,80002888 <__clzsi2> +800024ec: 09e00793 li a5,158 +800024f0: 40a787b3 sub a5,a5,a0 +800024f4: 09600713 li a4,150 +800024f8: 06f74063 blt a4,a5,80002558 <__floatsisf+0x98> +800024fc: 00800713 li a4,8 +80002500: 00a75663 ble a0,a4,8000250c <__floatsisf+0x4c> +80002504: ff850513 addi a0,a0,-8 # 7ffffff8 <_stack_start+0xffff9f28> +80002508: 00a41433 sll s0,s0,a0 +8000250c: 00800537 lui a0,0x800 +80002510: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002514: 0ff7f793 andi a5,a5,255 +80002518: 00a47433 and s0,s0,a0 +8000251c: 01779513 slli a0,a5,0x17 +80002520: 808007b7 lui a5,0x80800 +80002524: fff78793 addi a5,a5,-1 # 807fffff <_stack_start+0x7f9f2f> +80002528: 00f47433 and s0,s0,a5 +8000252c: 800007b7 lui a5,0x80000 +80002530: 00a46433 or s0,s0,a0 +80002534: fff7c793 not a5,a5 +80002538: 01f49513 slli a0,s1,0x1f +8000253c: 00f47433 and s0,s0,a5 +80002540: 00a46533 or a0,s0,a0 +80002544: 00c12083 lw ra,12(sp) +80002548: 00812403 lw s0,8(sp) +8000254c: 00412483 lw s1,4(sp) +80002550: 01010113 addi sp,sp,16 +80002554: 00008067 ret +80002558: 09900713 li a4,153 +8000255c: 02f75063 ble a5,a4,8000257c <__floatsisf+0xbc> +80002560: 00500713 li a4,5 +80002564: 40a70733 sub a4,a4,a0 +80002568: 01b50693 addi a3,a0,27 +8000256c: 00e45733 srl a4,s0,a4 +80002570: 00d41433 sll s0,s0,a3 +80002574: 00803433 snez s0,s0 +80002578: 00876433 or s0,a4,s0 +8000257c: 00500713 li a4,5 +80002580: 00a75663 ble a0,a4,8000258c <__floatsisf+0xcc> +80002584: ffb50713 addi a4,a0,-5 +80002588: 00e41433 sll s0,s0,a4 +8000258c: fc000737 lui a4,0xfc000 +80002590: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9f2f> +80002594: 00747693 andi a3,s0,7 +80002598: 00e47733 and a4,s0,a4 +8000259c: 00068a63 beqz a3,800025b0 <__floatsisf+0xf0> +800025a0: 00f47413 andi s0,s0,15 +800025a4: 00400693 li a3,4 +800025a8: 00d40463 beq s0,a3,800025b0 <__floatsisf+0xf0> +800025ac: 00470713 addi a4,a4,4 +800025b0: 00571693 slli a3,a4,0x5 +800025b4: 0006dc63 bgez a3,800025cc <__floatsisf+0x10c> +800025b8: fc0007b7 lui a5,0xfc000 +800025bc: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff9f2f> +800025c0: 00f77733 and a4,a4,a5 +800025c4: 09f00793 li a5,159 +800025c8: 40a787b3 sub a5,a5,a0 +800025cc: 00375413 srli s0,a4,0x3 +800025d0: f3dff06f j 8000250c <__floatsisf+0x4c> +800025d4: 00000413 li s0,0 +800025d8: 00000793 li a5,0 +800025dc: 00000493 li s1,0 +800025e0: f2dff06f j 8000250c <__floatsisf+0x4c> + +800025e4 <__extendsfdf2>: +800025e4: 01755793 srli a5,a0,0x17 +800025e8: ff010113 addi sp,sp,-16 +800025ec: 0ff7f793 andi a5,a5,255 +800025f0: 00812423 sw s0,8(sp) +800025f4: 00178713 addi a4,a5,1 +800025f8: 00800437 lui s0,0x800 +800025fc: 00912223 sw s1,4(sp) +80002600: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002604: 00112623 sw ra,12(sp) +80002608: 0ff77713 andi a4,a4,255 +8000260c: 00100693 li a3,1 +80002610: 00a47433 and s0,s0,a0 +80002614: 01f55493 srli s1,a0,0x1f +80002618: 06e6d263 ble a4,a3,8000267c <__extendsfdf2+0x98> +8000261c: 38078513 addi a0,a5,896 +80002620: 00345793 srli a5,s0,0x3 +80002624: 01d41413 slli s0,s0,0x1d +80002628: 00100737 lui a4,0x100 +8000262c: fff70713 addi a4,a4,-1 # fffff <_stack_size+0xffbff> +80002630: 00e7f7b3 and a5,a5,a4 +80002634: 80100737 lui a4,0x80100 +80002638: fff70713 addi a4,a4,-1 # 800fffff <_stack_start+0xf9f2f> +8000263c: 7ff57513 andi a0,a0,2047 +80002640: 01451513 slli a0,a0,0x14 +80002644: 00e7f7b3 and a5,a5,a4 +80002648: 80000737 lui a4,0x80000 +8000264c: 00a7e7b3 or a5,a5,a0 +80002650: fff74713 not a4,a4 +80002654: 01f49513 slli a0,s1,0x1f +80002658: 00e7f7b3 and a5,a5,a4 +8000265c: 00a7e733 or a4,a5,a0 +80002660: 00c12083 lw ra,12(sp) +80002664: 00040513 mv a0,s0 +80002668: 00812403 lw s0,8(sp) +8000266c: 00412483 lw s1,4(sp) +80002670: 00070593 mv a1,a4 +80002674: 01010113 addi sp,sp,16 +80002678: 00008067 ret +8000267c: 04079463 bnez a5,800026c4 <__extendsfdf2+0xe0> +80002680: 06040263 beqz s0,800026e4 <__extendsfdf2+0x100> +80002684: 00040513 mv a0,s0 +80002688: 200000ef jal ra,80002888 <__clzsi2> +8000268c: 00a00793 li a5,10 +80002690: 02a7c263 blt a5,a0,800026b4 <__extendsfdf2+0xd0> +80002694: 00b00793 li a5,11 +80002698: 40a787b3 sub a5,a5,a0 +8000269c: 01550713 addi a4,a0,21 +800026a0: 00f457b3 srl a5,s0,a5 +800026a4: 00e41433 sll s0,s0,a4 +800026a8: 38900713 li a4,905 +800026ac: 40a70533 sub a0,a4,a0 +800026b0: f79ff06f j 80002628 <__extendsfdf2+0x44> +800026b4: ff550793 addi a5,a0,-11 +800026b8: 00f417b3 sll a5,s0,a5 +800026bc: 00000413 li s0,0 +800026c0: fe9ff06f j 800026a8 <__extendsfdf2+0xc4> +800026c4: 00000793 li a5,0 +800026c8: 00040a63 beqz s0,800026dc <__extendsfdf2+0xf8> +800026cc: 00345793 srli a5,s0,0x3 +800026d0: 00080737 lui a4,0x80 +800026d4: 01d41413 slli s0,s0,0x1d +800026d8: 00e7e7b3 or a5,a5,a4 +800026dc: 7ff00513 li a0,2047 +800026e0: f49ff06f j 80002628 <__extendsfdf2+0x44> +800026e4: 00000793 li a5,0 +800026e8: 00000513 li a0,0 +800026ec: f3dff06f j 80002628 <__extendsfdf2+0x44> + +800026f0 <__truncdfsf2>: +800026f0: 00100637 lui a2,0x100 +800026f4: fff60613 addi a2,a2,-1 # fffff <_stack_size+0xffbff> +800026f8: 00b67633 and a2,a2,a1 +800026fc: 0145d813 srli a6,a1,0x14 +80002700: 01d55793 srli a5,a0,0x1d +80002704: 7ff87813 andi a6,a6,2047 +80002708: 00361613 slli a2,a2,0x3 +8000270c: 00c7e633 or a2,a5,a2 +80002710: 00180793 addi a5,a6,1 +80002714: 7ff7f793 andi a5,a5,2047 +80002718: 00100693 li a3,1 +8000271c: 01f5d593 srli a1,a1,0x1f +80002720: 00351713 slli a4,a0,0x3 +80002724: 0af6d663 ble a5,a3,800027d0 <__truncdfsf2+0xe0> +80002728: c8080693 addi a3,a6,-896 +8000272c: 0fe00793 li a5,254 +80002730: 0cd7c263 blt a5,a3,800027f4 <__truncdfsf2+0x104> +80002734: 08d04063 bgtz a3,800027b4 <__truncdfsf2+0xc4> +80002738: fe900793 li a5,-23 +8000273c: 12f6c463 blt a3,a5,80002864 <__truncdfsf2+0x174> +80002740: 008007b7 lui a5,0x800 +80002744: 01e00513 li a0,30 +80002748: 00f66633 or a2,a2,a5 +8000274c: 40d50533 sub a0,a0,a3 +80002750: 01f00793 li a5,31 +80002754: 02a7c863 blt a5,a0,80002784 <__truncdfsf2+0x94> +80002758: c8280813 addi a6,a6,-894 +8000275c: 010717b3 sll a5,a4,a6 +80002760: 00f037b3 snez a5,a5 +80002764: 01061633 sll a2,a2,a6 +80002768: 00a75533 srl a0,a4,a0 +8000276c: 00c7e7b3 or a5,a5,a2 +80002770: 00f567b3 or a5,a0,a5 +80002774: 00000693 li a3,0 +80002778: 0077f713 andi a4,a5,7 +8000277c: 08070063 beqz a4,800027fc <__truncdfsf2+0x10c> +80002780: 0ec0006f j 8000286c <__truncdfsf2+0x17c> +80002784: ffe00793 li a5,-2 +80002788: 40d786b3 sub a3,a5,a3 +8000278c: 02000793 li a5,32 +80002790: 00d656b3 srl a3,a2,a3 +80002794: 00000893 li a7,0 +80002798: 00f50663 beq a0,a5,800027a4 <__truncdfsf2+0xb4> +8000279c: ca280813 addi a6,a6,-862 +800027a0: 010618b3 sll a7,a2,a6 +800027a4: 00e8e7b3 or a5,a7,a4 +800027a8: 00f037b3 snez a5,a5 +800027ac: 00f6e7b3 or a5,a3,a5 +800027b0: fc5ff06f j 80002774 <__truncdfsf2+0x84> +800027b4: 00651513 slli a0,a0,0x6 +800027b8: 00a03533 snez a0,a0 +800027bc: 00361613 slli a2,a2,0x3 +800027c0: 01d75793 srli a5,a4,0x1d +800027c4: 00c56633 or a2,a0,a2 +800027c8: 00f667b3 or a5,a2,a5 +800027cc: fadff06f j 80002778 <__truncdfsf2+0x88> +800027d0: 00e667b3 or a5,a2,a4 +800027d4: 00081663 bnez a6,800027e0 <__truncdfsf2+0xf0> +800027d8: 00f037b3 snez a5,a5 +800027dc: f99ff06f j 80002774 <__truncdfsf2+0x84> +800027e0: 0ff00693 li a3,255 +800027e4: 00078c63 beqz a5,800027fc <__truncdfsf2+0x10c> +800027e8: 00361613 slli a2,a2,0x3 +800027ec: 020007b7 lui a5,0x2000 +800027f0: fd9ff06f j 800027c8 <__truncdfsf2+0xd8> +800027f4: 00000793 li a5,0 +800027f8: 0ff00693 li a3,255 +800027fc: 00579713 slli a4,a5,0x5 +80002800: 00075e63 bgez a4,8000281c <__truncdfsf2+0x12c> +80002804: 00168693 addi a3,a3,1 +80002808: 0ff00713 li a4,255 +8000280c: 06e68a63 beq a3,a4,80002880 <__truncdfsf2+0x190> +80002810: fc000737 lui a4,0xfc000 +80002814: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9f2f> +80002818: 00e7f7b3 and a5,a5,a4 +8000281c: 0ff00713 li a4,255 +80002820: 0037d793 srli a5,a5,0x3 +80002824: 00e69863 bne a3,a4,80002834 <__truncdfsf2+0x144> +80002828: 00078663 beqz a5,80002834 <__truncdfsf2+0x144> +8000282c: 004007b7 lui a5,0x400 +80002830: 00000593 li a1,0 +80002834: 00800537 lui a0,0x800 +80002838: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +8000283c: 00a7f7b3 and a5,a5,a0 +80002840: 80800537 lui a0,0x80800 +80002844: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9f2f> +80002848: 0ff6f693 andi a3,a3,255 +8000284c: 01769693 slli a3,a3,0x17 +80002850: 00a7f7b3 and a5,a5,a0 +80002854: 01f59593 slli a1,a1,0x1f +80002858: 00d7e7b3 or a5,a5,a3 +8000285c: 00b7e533 or a0,a5,a1 +80002860: 00008067 ret +80002864: 00100793 li a5,1 +80002868: 00000693 li a3,0 +8000286c: 00f7f713 andi a4,a5,15 +80002870: 00400613 li a2,4 +80002874: f8c704e3 beq a4,a2,800027fc <__truncdfsf2+0x10c> +80002878: 00478793 addi a5,a5,4 # 400004 <_stack_size+0x3ffc04> +8000287c: f81ff06f j 800027fc <__truncdfsf2+0x10c> +80002880: 00000793 li a5,0 +80002884: f99ff06f j 8000281c <__truncdfsf2+0x12c> + +80002888 <__clzsi2>: +80002888: 000107b7 lui a5,0x10 +8000288c: 02f57a63 bleu a5,a0,800028c0 <__clzsi2+0x38> +80002890: 0ff00793 li a5,255 +80002894: 00a7b7b3 sltu a5,a5,a0 +80002898: 00379793 slli a5,a5,0x3 +8000289c: 02000713 li a4,32 +800028a0: 40f70733 sub a4,a4,a5 +800028a4: 00f557b3 srl a5,a0,a5 +800028a8: 00000517 auipc a0,0x0 +800028ac: 6fc50513 addi a0,a0,1788 # 80002fa4 <__clz_tab> +800028b0: 00f507b3 add a5,a0,a5 +800028b4: 0007c503 lbu a0,0(a5) # 10000 <_stack_size+0xfc00> +800028b8: 40a70533 sub a0,a4,a0 +800028bc: 00008067 ret +800028c0: 01000737 lui a4,0x1000 +800028c4: 01000793 li a5,16 +800028c8: fce56ae3 bltu a0,a4,8000289c <__clzsi2+0x14> +800028cc: 01800793 li a5,24 +800028d0: fcdff06f j 8000289c <__clzsi2+0x14> + +Disassembly of section .text.startup: + +800028d4
: +int main() { +800028d4: 1141 addi sp,sp,-16 +800028d6: c606 sw ra,12(sp) + main2(); +800028d8: 945fd0ef jal ra,8000021c +} +800028dc: 40b2 lw ra,12(sp) + TEST_COM_BASE[8] = 0; +800028de: f01007b7 lui a5,0xf0100 +800028e2: f207a023 sw zero,-224(a5) # f00fff20 <_stack_start+0x700f9e50> +} +800028e6: 4501 li a0,0 +800028e8: 0141 addi sp,sp,16 +800028ea: 8082 ret diff --git a/src/test/resources/hex/dhrystoneO3C.hex b/src/test/resources/hex/dhrystoneO3C.hex new file mode 100644 index 0000000..b0ad4c3 --- /dev/null +++ b/src/test/resources/hex/dhrystoneO3C.hex @@ -0,0 +1,848 @@ +:0200000480007A +:10000000ADA8010001000100010001000100010094 +:10001000232E11FE232C51FE232A61FE232871FE7C +:100020002326A1FE2324B1FE2322C1FE2320D1FEDC +:10003000232EE1FC232CF1FC232A01FD232811FDB2 +:100040002326C1FD2324D1FD2322E1FD2320F1FD40 +:100050003971AD28F250E2525253C2533255A25573 +:10006000125682567247E2475248C248324EA24E5A +:10007000124F824F2161730020309741000093811D +:1000800061C2176100001301E1441385C1819765C6 +:100090000000938565036306B50023200500110564 +:1000A000DDBF173500001305A53F7111973500001E +:1000B0009385053F6308B500144111052AC0829657 +:0C00C0000245EDB71101EF20704001A0D7 +:1000CC00828003C75183930710046303F700828077 +:1000DC001C4103A7C183A507998F1CC1828003A66D +:1000EC00418409C6184218C103A6418483A5C18363 +:1000FC00310629456F00806D41114AC083A74184A8 +:10010C0022C40041984326C283AE470003AE870049 +:10011C0003A3070183A8470103A887018C53D0537D +:10012C00945706C6AA84C84FDC5718C0984048CCD0 +:10013C005CD42322D40195472324C40123286400D2 +:10014C00232A1401232C04010CD050D014D4DCC469 +:10015C005CC418C0228561375C40B1CF9C40B24072 +:10016C00224483AF070003AF470083AE870003AE82 +:10017C00C70003A3070183A8470103A88701CC4F3D +:10018C009053D4539857DC5723A0F40123A2E401D5 +:10019C0023A4D40123A6C40123A8640023AA140118 +:1001AC0023AC0401CCCC90D0D4D098D4DCD402496C +:1001BC0092444101828088449947930584005CC431 +:1001CC00EF00006D83A7418448441306C4009C4390 +:1001DC00B24092441CC022440249A94541016F001F +:1001EC00E05E83C7518383A681839387F7FB93B724 +:1001FC001700D58F23ACF18213072004238AE182E8 +:10020C00828013071004A38AE18223AC01828280CE +:10021C0035711305000306CF22CDE2DCEED626CBDA +:10022C004AC94EC752C556C35AC1DEDEE6DAEAD811 +:10023C00EF00E07423A0A18413050003EF002074E9 +:10024C0083A7018423A2A1841CC189471CC5B7358F +:10025C000080930780025CC57D46938545CE2322A2 +:10026C0005004105EF00D001373700809307C72404 +:10027C00032EC72403A3470083A8870003A8C70045 +:10028C008C4BD04B944F03D7C70183C7E701B73DC5 +:10029C000080231EE102230FF10213874D5BA94757 +:1002AC002945232EF76472D01AD246D442D62ED8C2 +:1002BC0032DA36DCEF00807B37350080130545D011 +:1002CC00EF0060782945EF00607A83A7018363868D +:1002DC00074C37350080130545D3EF00C076294510 +:1002EC00EF00C07837350080130505D9EF00406B5F +:1002FC002945EF00A077373500809305800C130556 +:10030C0085DCEF00E069EF0000773734008083274D +:10031C00C426373D0080832BCD283EC423A6A18262 +:10032C0085491304C4268944E93D653D8347E401AE +:10033C005048032E4400032384008328C400032860 +:10034C000401144C0357C401A24E230FF1048C007A +:10035C0085470810B2CA3ECE26CAF6C0F2C29AC46D +:10036C00C6C6C2C8B6CC231EE104DD2152461335E5 +:10037C00150023ACA18263C0C40293172600B29768 +:10038C00F51732858D4530083ECC8921524605063D +:10039C0032CAE3D4C4FEE2461385C18493854D5B17 +:1003AC00152903A54184930A10040D4AB13303C7E0 +:1003BC00418393070004930CCD2863F1E702568523 +:1003CC00930530049529F24713871A00630EF5360E +:1003DC0083C74183937AF70FE3F357FFD2455285D6 +:1003EC008509EF20A07BE24A2AC6D685EF20407D06 +:1003FC002A8A480852CAF1319307900CE396F9F215 +:10040C00EF00606723A4A18237350080130585DFD8 +:10041C00EF0060632945EF006065373500801305F8 +:10042C0085E0EF0040622945EF00406483A5C1835D +:10043C0037350080130505E437340080EF00405653 +:10044C0095451305C4E5EF00A05583A58183373589 +:10045C000080130585E7EF00A05485451305C4E51E +:10046C00EF00005483C5518337350080130545E9EF +:10047C00052BB734008093051004138504EB0D2372 +:10048C0083C54183373500801305C5EC112B9305CB +:10049C002004138504EB29239387C1848C533735AF +:1004AC000080130585EEED299D451305C4E5CD2986 +:1004BC00B73700809387475B83A5C76537350080C6 +:1004CC00130545F0F12937350080130505F2EF00CF +:1004DC008057373500801305C5F4EF00C05683A74D +:1004EC004184B73D008013858DF58C43B73C00806B +:1004FC00B73B0080752137350080130545F7EF00B9 +:10050C00805483A7418413854CFA373B0080CC433D +:10051C00B739008037390080612181451305C4E566 +:10052C00412183A7418413850BFC8C479529894570 +:10053C001305C4E5B52183A741841305CBFDCC4736 +:10054C008521C5451305C4E5A12983A541841385DF +:10055C0089FFC105B12113054901F521373500800B +:10056C0013058504CD2183A7018413858DF58C4358 +:10057C0005293735008013058505F12183A70184F2 +:10058C0013854CFACC43292981451305C4E5092967 +:10059C0083A7018413850BFC8C4719218545130512 +:1005AC00C4E5FD2E83A701841305CBFDCC47CD2ECE +:1005BC00C9451305C4E5ED2683A50184138589FF80 +:1005CC00C105F92E13054901BD29D24537350080E7 +:1005DC0013058509F12695451305C4E5D126B247C7 +:1005EC00373500801305450BB38A574193973A0072 +:1005FC00B38A5741B3854A416526B5451305C4E511 +:10060C004526E245373500801305050D512E9D45D5 +:10061C001305C4E57126F245373500801305C50E68 +:10062C00412685451305C4E5A52E373500800C10F1 +:10063C0013058510B5263735008013054512212189 +:10064C00373500808C0013058515992E37350080C1 +:10065C0013054517CD2E2945112903A7C18283A562 +:10066C0081829307301F998D23A2B18263DFB71269 +:10067C003735008013050520252603A54182EF2080 +:10068C0060152A84EF204027B737008003A6074A5D +:10069C0083A6474AEF001066B737008003A6874A47 +:1006AC0083A6C74AEF000064EF20C03523A0A182C7 +:1006BC00B737008003A5074BA285EF10A05223AEDD +:1006CC00A1803735008013054521D92C03A5418223 +:1006DC00EF204010B7370080AA8503A5474BEF10D9 +:1006EC0060502A84EF200008AA84EF20A00EAA856F +:1006FC002285EF10B03FB737008083A5874BEF10F2 +:10070C00F007EF2020062A8437350080A6851305D4 +:10071C0045247924A54763D7870A37350080A285FD +:10072C0013058524B52C29459126FA406A44DA44F0 +:10073C004A49BA492A4A9A4A0A4BF65B665CD65C25 +:10074C00465DB65D0D6182806C080145912203AE59 +:10075C004C0003A38C0083A8CC0003A80C0103A5B8 +:10076C004C0183A58C0103D6CC0103C7EC0183C7D4 +:10077C004183850ADEC0F2C29AC4C6C6C2C8AACAE0 +:10078C00AECC231EC104230FE10423AE318393FAB4 +:10079C00FA0F4E8AE3F557C391B137350080130534 +:1007AC0005D655242945D92435BE37350080130587 +:1007BC00851A512C373500801305051E69242945EF +:1007CC007524A5B713050003552481BF0905AA9507 +:1007DC000CC2828001114EC69309560026CA93940E +:1007EC00290022CC4AC806CEAA9432892E8423AC86 +:1007FC00340794C0D4C04E859305800CEF20003A8A +:10080C000A09B3072501A297984B23AA370123ACF9 +:10081C003701050798CB9C402A944A94056632947C +:10082C00232AF4FAF2406244154723AEE182D24403 +:10083C004249B249056182801375F50F93F5F50FA6 +:10084C006304B50001458280A38AA182054582809C +:10085C00411122C426C206C62A84AE8483C5340044 +:10086C0003452400D13F7DF9A6852285F52C8147CF +:10087C006356A000294723AEE1828547B24022444B +:10088C0092443E8541018280791513351500828092 +:10089C00411122C426C206C62A84AE84F53715C17E +:1008AC0080C085476304F40205C80947630DE40260 +:1008BC0091476313F40098C0B24022449244410122 +:1008CC0082808D479CC08547E310F4FE03A7C1834B +:1008DC009307400663DFE700B240224423A00400E4 +:1008EC00924441018280B24022449CC09244410116 +:1008FC008280B24022448D479CC092444101828048 +:10090C00411122C406C62A840345050011C50504FD +:10091C00B12A0345040065FDB240224441018280A6 +:10092C00B1A2797126D206D622D44AD0AA846342C7 +:10093C0005040A894A8429A8EF20C03093070503CF +:10094C0005042685A945A30FF4FEEF206027AA8491 +:10095C00A9452685F5F0E30124FF7D140345040029 +:10096C00C137E31C24FFB250225492540259456102 +:10097C0082801305D0026D37B30490405DBF03A78E +:10098C008184B307A7003765008023A4F184130585 +:10099C0045CC930600403A9563D3F60002908280D2 +:1009AC005D7152CC06D622D426D24AD04ECE56CA2F +:1009BC002A8A03450500BEC25C182EDA32DC36DE0C +:1009CC00BAC0C2C4C6C63EC61DC10144930A500279 +:1009DC00930430061309300793094006630255034C +:1009EC0081370504B3078A0003C5070065F9B250C7 +:1009FC00225492540259F249624AD24A616182806D +:100A0C00930614003307DA0031A063822703638650 +:100A1C00370385068347070036840507F9D3E39629 +:100A2C0097FEB247884391073EC6DD3D5DBFB24796 +:100A3C00884391073EC6E9356DB7B24788439107A5 +:100A4C003EC6C53579BF411122C406C62A8403456A +:100A5C00050011C5050419280345040065FD294549 +:100A6C003120B2402244014541018280B70710F089 +:100A7C0023A0A7F08280B70710F003A507F18280AE +:100A8C00B3C7A50093F737003307C500639607007B +:100A9C009307300063E4C70293070500636CE5001D +:100AAC006780000083C605009387170093851500A7 +:100ABC00A38FD7FEE3E8E7FE67800000937735004D +:100ACC0063920708930705009376C7FF138606FE0B +:100ADC0063F6C70883A3050083A2450083AF850096 +:100AEC0003AFC50083AE050103AE450103A3850129 +:100AFC0083A8C501938545029387470203A8C5FFC8 +:100B0C0023AE77FC23A057FE23A2F7FF23A4E7FF15 +:100B1C0023A6D7FF23A8C7FF23AA67FE23AC17FF82 +:100B2C0023AE07FF6FF0DFFA83C60500938717002B +:100B3C0093851500A38FD7FE93F63700E39606FE38 +:100B4C006FF09FF8930705006FF01FFF03A60500D9 +:100B5C00938747009385450023AEC7FEE3E8D7FE95 +:100B6C00E3EAE7F4678000003367B5009303F0FF16 +:100B7C001377370063100710B7877F7F9387F7F7DA +:100B8C000326050083A60500B372F6003363F60056 +:100B9C00B382F200B3E26200639272106316D6085D +:100BAC000326450083A64500B372F6003363F600B6 +:100BBC00B382F200B3E26200639E720C6316D60637 +:100BCC000326850083A68500B372F6003363F60016 +:100BDC00B382F200B3E262006398720C6316D6041F +:100BEC000326C50083A6C500B372F6003363F60076 +:100BFC00B382F200B3E262006392720C6316D60207 +:100C0C000326050183A60501B372F6003363F600D3 +:100C1C00B382F200B3E26200639C720A13054501D1 +:100C2C0093854501E30ED6F413170601939706013D +:100C3C00631EF7001357060193D706013305F740DF +:100C4C009375F50F63900502678000001357070139 +:100C5C0093D707013305F7409375F50F639405009F +:100C6C00678000001377F70F93F7F70F3305F74002 +:100C7C00678000000346050083C6050013051500B8 +:100C8C00938515006314D600E31606FE3305D64093 +:100C9C00678000001305450093854500E31CD6FCD6 +:100CAC0013050000678000001305850093858500FF +:100CBC00E312D6FC13050000678000001305C50085 +:100CCC009385C500E318D6FA130500006780000071 +:100CDC001305050193850501E31ED6F813050000E5 +:100CEC0067800000130101FB23248104232C4103A2 +:100CFC003704100013DA450123202105232E31037C +:100D0C00232A5103232481031304F4FF2326110403 +:100D1C0023229104232861032326710323229103A8 +:100D2C002320A103232EB101137AFA7F13090500A6 +:100D3C00130C0600938A06003374B40093D9F501A2 +:100D4C0063060A0A9307F07F6304FA101314340045 +:100D5C00B70780003364F400135BD501336B8B0051 +:100D6C0093143500130A1AC0930B000013D54A01D3 +:100D7C00370910001309F9FF1375F57F3379590101 +:100D8C0093050C0093DAFA01630205109307F07FC8 +:100D9C006302F51637048000131939003369890092 +:100DAC001354DC013364240193153C00130515C066 +:100DBC009307000013972B003367F7001307F7FF17 +:100DCC009306E00033C95901330AAA4063E0E616E2 +:100DDC00972600009386064D131727003307D7007C +:100DEC00032707003307D70067000700336BA40005 +:100DFC00630E0B066300040413050400EF109067E8 +:100E0C00930755FF1307C001634CF702130BD00176 +:100E1C00930485FF330BFB4033149400335B69015F +:100E2C00336B8B00B3149900130AD0C0330AAA4059 +:100E3C006FF09FF3EF101064130505026FF05FFC69 +:100E4C00130485FD331B8900930400006FF0DFFD54 +:100E5C00336BA40063040B0293040500130B040012 +:100E6C00130AF07F930B30006FF05FF093040000D7 +:100E7C00130A0000930B10006FF05FEF9304000057 +:100E8C00130AF07F930B20006FF05FEE336489013F +:100E9C00630E04066300090413050900EF10905D4E +:100EAC00930755FF1307C001634EF7021304D001DB +:100EBC00930585FF3304F4403319B90033548C0087 +:100ECC0033642401B315BC001307D0C03305A7400D +:100EDC006FF01FEE13050C00EF10D059130505022F +:100EEC006FF01FFC130485FD33148C009305000078 +:100EFC006FF09FFD3364890163020402130409003F +:100F0C001305F07F930730006FF0DFEA93050000C4 +:100F1C0013050000930710006FF0DFE99305000044 +:100F2C001305F07F930720006FF0DFE86366640120 +:100F3C0063128B4863E0B4489316FB0113D714007B +:100F4C00139CF401135B1B00B3E4E6001314840040 +:100F5C0093DC8501B3EC8C0093DA0C0193970C01B4 +:100F6C0093D70701139D850013050B0093850A0089 +:100F7C002322F100EF10504593050500930B05005B +:100F8C0013950C0113550501EF1050411304050086 +:100F9C0093850A0013050B00EF10904713150501FC +:100FAC0013D704013365A70093890B00637E85007A +:100FBC00330595019389FBFF636895016376850082 +:100FCC009389EBFF330595013304854093850A0023 +:100FDC0013050400EF10503F93050500930B05001B +:100FEC0013950C0113550501EF10503B130B050025 +:100FFC0093850A0013050400EF109041939D0401A2 +:10100C001315050193DD0D01B3EDAD0013870B0036 +:10101C0063FE6D01B38D9D011387FBFF63E89D019A +:10102C0063F66D011387EBFFB38D9D019396090158 +:10103C00B7040100B3E6E600B38D6D41138BF4FFEA +:10104C0033F76601337B6D011305070093050B0025 +:10105C0013D406012326D1002324E100EF10103411 +:10106C002322A10093050B0013050400EF1010338D +:10107C00935B0D019309050093850B001305040088 +:10108C00EF10D031032781001304050013850B00EA +:10109C0093050700EF10903003264100330535010E +:1010AC008326C100135706013307A7006374370169 +:1010BC0033049400370501001305F5FF9354070121 +:1010CC00B379A700939909013376A600B384840001 +:1010DC00B389C90063E89D001384060063949D04E2 +:1010EC0063723C05330CAC013337AC013307970109 +:1010FC00B38DED001384F6FF63E6BC016394BC036F +:10110C006362AC0363E69D00639EB401637C3C01A7 +:10111C00330CAC013337AC01330797011384E6FF72 +:10112C00B38DED00B3093C41B3849D40B3373C0112 +:10113C00B384F4409305F0FF63889C1A93850A00EE +:10114C0013850400EF105028930505002324A100FB +:10115C0013950C0113550501EF1050242322A10007 +:10116C0093850A0013850400EF10902A83268100D2 +:10117C00032741001315050193D7090133E5A70097 +:10118C00938D0600637EE50033059501938DF6FF84 +:10119C00636895016376E500938DE6FF3305950151 +:1011AC00B304E54093850A0013850400EF10D021A9 +:1011BC00930505002322A10013950C01135505017D +:1011CC00EF10D01D130C050093850A001385040045 +:1011DC00EF10102493990901032741001315050101 +:1011EC0093D9090133E5A90093070700637E8501B4 +:1011FC00330595019307F7FF6368950163768501C5 +:10120C009307E7FF3305950193940D01B3E4F400C4 +:10121C009397040193D7070193050B00B3098541FC +:10122C00138507002322F10093DD0401EF10101742 +:10123C0093050B00930A050013850D00EF10101693 +:10124C00130C050093850D0013850B00EF10101582 +:10125C0083274100130B050013850B0093850700B2 +:10126C00EF10D0133305850193D70A013385A700FE +:10127C0063768501B7070100330BFB00B70601004D +:10128C009386F6FF935705013377D50013170701A3 +:10129C00B3FADA00B38767013307570163E8F90043 +:1012AC00938504006390F9046300070433853C01C3 +:1012BC009385F4FF636495036366F5006314F5028C +:1012CC006370ED0293161D0033BDA601B30C9D0196 +:1012DC009385E4FF33059501138D06006314F50027 +:1012EC006304A70193E515001307FA3F6352E0125C +:1012FC0093F775006380070293F7F500930640009F +:10130C00638AD70093864500B3B5B6003304B400A6 +:10131C00938506009317740063DA0700B70700FF84 +:10132C009387F7FF3374F40013070A409307E07FA9 +:10133C0063C2E71A9317D40193D53500B3E7B7000E +:10134C0013543400B70610009386F6FF3374D400A0 +:10135C00B70610801377F77F9386F6FF13174701B4 +:10136C003374D4001319F9013364E4003367240196 +:10137C008320C10403248104832441040329010430 +:10138C008329C103032A8103832A4103032B01030D +:10139C00832BC102032C8102832C4102032D0102F9 +:1013AC00832DC10113850700930507001301010567 +:1013BC0067800000130AFAFF130C00006FF01FB9CE +:1013CC001389090013040B009385040093870B0009 +:1013DC00130720006380E710130730006382E70EC9 +:1013EC0013071000E392E7F01304000093070000CA +:1013FC006F00400913890A006FF09FFD3704080045 +:10140C009305000013090000930730006FF05FFC98 +:10141C0093061000B386E64093078003E3C6D7FC1F +:10142C009307F00163C4D706130AEA41B3174401CA +:10143C0033D7D500339A4501B3E7E700333A40017F +:10144C00B3E747013354D40013F777006300070266 +:10145C0013F7F70093064000630AD7001387470081 +:10146C00B337F7003304F400930707001317840015 +:10147C00634A07061317D40193D73700B367F700F5 +:10148C0013543400130700006FF0DFEB930710FECA +:10149C00B387E74013070002B357F40013050000AD +:1014AC006386E600130AEA4333154401336AB50038 +:1014BC00333A4001B3E74701130400006FF0DFF843 +:1014CC0037040800930700001307F07F130900008E +:1014DC006FF05FE713040000930700001307F07F21 +:1014EC006FF05FE613040000930700001307100071 +:1014FC006FF05FE5130101FA232C810423263105DB +:10150C003704100093D94501232A91042320610547 +:10151C00232E7103232C81031304F4FF232E1104B7 +:10152C00232821052324410523225105232A910335 +:10153C002328A1032326B10393F9F97F9304050013 +:10154C00930B0600138C06003374B40013DBF50107 +:10155C006388090A9307F07F6386F91037098000C6 +:10156C0013143400336424011359D50133698900F1 +:10157C00131D3500938919C0930C000013554C01B1 +:10158C00370A1000130AFAFF1375F57F337A8A01B4 +:10159C0093840B00135CFC01630405109307F07F2C +:1015AC006304F51637048000131A3A00336A8A0074 +:1015BC0013D4DB013364440193943B00130515C031 +:1015CC009307000013972C003367F700B389A90029 +:1015DC001307F7FF9306E000B34B8B01938A1900B6 +:1015EC0063E0E61697260000938686CF1317270034 +:1015FC003307D700032707003307D700670007001E +:10160C003369A400630E0906630004041305040087 +:10161C00EF104066930755FF1307C001634CF702A8 +:10162C001309D001130D85FF3309F9403314A401BC +:10163C0033D9240133698900339DA4019309D0C0A7 +:10164C00B389A9406FF05FF3EF10C0621305050278 +:10165C006FF05FFC130985FD33992401130D000015 +:10166C006FF0DFFD3369A40063040902130D05005C +:10167C00130904009309F07F930C30006FF01FF0F6 +:10168C00130D000093090000930C10006FF01FEF76 +:10169C00130D00009309F07F930C20006FF01FEEE8 +:1016AC0033647A01630E040663000A0413050A000E +:1016BC00EF10405C930755FF1307C001634EF70210 +:1016CC001304D001930485FF3304F440331A9A00B9 +:1016DC0033D48B0033644401B3949B009307D0C084 +:1016EC003385A7406FF0DFED13850B00EF108058AA +:1016FC00130505026FF01FFC130485FD33948B005A +:10170C00930400006FF09FFD33647A0163020402BE +:10171C0013040A001305F07F930730006FF09FEA63 +:10172C009304000013050000930710006FF09FE96D +:10173C00930400001305F07F930720006FF09FE8DF +:10174C0037070100130AF7FF135C0D0193DD040149 +:10175C00337D4D01B3F4440193050D001385040052 +:10176C002328E100EF108043930C050093850400BF +:10177C0013050C00EF1080422326A10093850D0069 +:10178C0013050C00EF108041130B050093050D00A1 +:10179C0013850D00EF1080408326C10093D70C01F8 +:1017AC003305D5003385A7006376D50003270101E7 +:1017BC00330BEB009356050133754501B3FC4C011B +:1017CC0013150501B3079501935C040133744401AF +:1017DC0093050D0013050400232AD1002326F100E4 +:1017EC00EF10C03B2328A1009305040013050C0047 +:1017FC00EF10C03A130A050093850C0013050C007A +:10180C00EF10C039130C050093050D0013850C0067 +:10181C00EF10C03803270101330545018326410130 +:10182C00935707013385A70063764501B70701007D +:10183C00330CFC003706010093570501338C8701EC +:10184C009307F6FF337AF5003377F700131A0A0182 +:10185C00135D0901330AEA003379F9003387460135 +:10186C0093050900138504002328E100232EC100F1 +:10187C00EF10C03293850400232CA10013050D003A +:10188C00EF10C031232AA10093050D0013850D0024 +:10189C00EF10C030930405009305090013850D006B +:1018AC00EF10C02F83264101032781013305D5009A +:1018BC00935707013385A7006376D5000326C10132 +:1018CC00B384C400B70601009387F6FF935D05014E +:1018DC00B3849D00B37DF5003377F70093050900C1 +:1018EC0013050400939D0D01B38DED00232CD10045 +:1018FC00EF10C02A93050400232AA10013050D0044 +:10190C00EF10C02993050D001304050013850C007E +:10191C00EF10C028130D05009305090013850C006A +:10192C00EF10C027032741013305850093570701AA +:10193C003385A7006376850083268101330DDD0096 +:10194C0083270101B70601009386F6FF330BFB00DA +:10195C00B377D5003377D70093970701B387E700A8 +:10196C00333A4B01B387870133844701330BBB01F7 +:10197C0033079400B33DBB01B306B70133BC8701F9 +:10198C0033344401935705013337970033648C008B +:10199C00B3BDB6013304F400B36DB7013304B40125 +:1019AC003304A40193D77601131494003364F40028 +:1019BC008327C10093149B00135B7B01B3E4F400F9 +:1019CC00B334900093979600B3E46401B3E4F4004D +:1019DC009317740063D2071293D7140093F4140076 +:1019EC00B3E497009317F401B3E4F4001354140018 +:1019FC001387FA3F6356E01093F774006380070275 +:101A0C0093F7F40093064000638AD7009387440051 +:101A1C00B3B49700330494009384070093177400B5 +:101A2C0063DA0700B70700FF9387F7FF3374F400FE +:101A3C0013870A409307E07F63C6E71893DA3400F4 +:101A4C009314D401B3E4540113543400B7071000B9 +:101A5C009387F7FF3374F4009377F77F3707108081 +:101A6C001307F7FF939747013374E400939BFB0133 +:101A7C003364F400B36774018320C105032481052A +:101A8C001385040003290105832441058329C1041E +:101A9C00032A8104832A4104032B0104832BC103F1 +:101AAC00032C8103832C4103032D0103832DC102DD +:101ABC00938507001301010667800000930B0B0050 +:101ACC001304090093040D0093870C0013072000E6 +:101ADC00638AE70E13073000638CE70C13071000C2 +:101AEC00E398E7F013040000930400006F008008F3 +:101AFC00930B0C006FF09FFD938A09006FF05FEF62 +:101B0C0093061000B386E64093078003E3CCD7FC22 +:101B1C009307F00163C4D706938AEA41B3175401C3 +:101B2C0033D7D400B3945401B3E7E700B334900037 +:101B3C00B3E497003354D40093F774006380070226 +:101B4C0093F7F40013074000638AE700938744007F +:101B5C00B3B4970033049400938407009317840064 +:101B6C0063CA07069317D40193D43400B3E49700E7 +:101B7C0013543400130700006FF05FED930710FE51 +:101B8C00B387E74013060002B357F40013070000B5 +:101B9C006386C600938AEA4333175401B3649700F3 +:101BAC00B3349000B3E49700130400006FF0DFF837 +:101BBC0037040800930400001307F07F930B000018 +:101BCC006FF0DFE813040000930400001307F07FAC +:101BDC006FF0DFE7130400009304000013071000FC +:101BEC006FF0DFE6130101FD23229102232A51013C +:101BFC0093547501B70A8000232021032328610127 +:101C0C00938AFAFF2326110223248102232E310109 +:101C1C00232C4101232671012324810193F4F40F19 +:101C2C00138B0500B3FAAA001359F5016388040855 +:101C3C009307F00F6384F40A939A3A00B7070004F1 +:101C4C00B3EAFA00938414F8930B000013557B014C +:101C5C00370480001304F4FF1375F50F337464011B +:101C6C00135BFB01630C05089307F00F6308F50A7F +:101C7C0013143400B70700043364F400130515F88B +:101C8C009307000013972B003367F7001307F7FF38 +:101C9C009306E000B3496901338AA44063E0E60A85 +:101CAC009716000093868667131727003307D70013 +:101CBC00032707003307D70067000700638A0A026F +:101CCC0013850A00EF00107B9307B5FF9304A0F86F +:101CDC00B39AFA00B384A4406FF01FF79304F00F8B +:101CEC00930B2000E3840AF6930B30006FF01FF681 +:101CFC0093040000930B10006FF05FF5630A04026D +:101D0C0013050400EF0010779307B5FF3314F400AC +:101D1C009307A0F83385A7406FF09FF61305F00FDB +:101D2C0093072000E30004F6930730006FF09FF553 +:101D3C0013050000930710006FF0DFF4131B540021 +:101D4C0063F68A12130AFAFF13090000935B0B0166 +:101D5C003704010093850B001304F4FF13850A006C +:101D6C00EF00906633748B0093050500130C05008F +:101D7C0013050400EF0090629304050093850B009B +:101D8C0013850A00EF00D0681359090113150501DA +:101D9C003365A90013090C00637E950033056501BA +:101DAC001309FCFF63686501637695001309ECFF6A +:101DBC0033056501B304954093850B00138504002E +:101DCC00EF00906093050500130C0500130504004B +:101DDC00EF00D05C930A050093850B00138504007B +:101DEC00EF0010631315050113040C00637E5501FD +:101DFC00330565011304FCFF6368650163765501C7 +:101E0C001304ECFF33056501131909013305554122 +:101E1C00336989003335A0003364A9001307FA072E +:101E2C006350E00A93777400638A07009377F40099 +:101E3C00930640006384D7001304440093174400B6 +:101E4C0063DA0700B70700F89387F7FF3374F400E1 +:101E5C0013070A089307E00F1354340063D2E70CFE +:101E6C00130400001307F00F6F00800B1399FA0195 +:101E7C0093DA1A006FF09FED9309090013840A009E +:101E8C0093870B0013072000E38CE7FC130730004B +:101E9C006382E70813071000E392E7F813040000CD +:101EAC00130700006F00C00793090B006FF09FFD34 +:101EBC003704400093090000930730006FF09FFC3B +:101ECC0093071000B387E7401307B001E348F7FC12 +:101EDC001305EA09B357F4003314A400333480001B +:101EEC0033E4870093777400638A07009377F400D8 +:101EFC00130740006384E700130444009317540055 +:101F0C0013543400E3DE07F8130400001307100029 +:101F1C006F000001370440001307F00F9309000015 +:101F2C00370580001305F5FF3374A4003705808056 +:101F3C001305F5FF1377F70F3374A400131777010C +:101F4C001395F9013364E4003365A4008320C102C6 +:101F5C000324810283244102032901028329C10144 +:101F6C00032A8101832A4101032B0101832BC10028 +:101F7C00032C81001301010367800000130101FD94 +:101F8C002322910223202103B704800013597501E9 +:101F9C00232E3101232671019384F4FF2326110291 +:101FAC0023248102232C4101232A5101232861017E +:101FBC0023248101232291011379F90F938B0500BE +:101FCC00B3F4A4009359F501630A09089307F00FC1 +:101FDC006306F90A93943400B7070004B3E4F400E1 +:101FEC00130919F8130B000013D57B01370480007B +:101FFC001304F4FF1375F50F3374740193DBFB01B9 +:10200C00630E05089307F00F630AF50A13143400E6 +:10201C00B70700043364F400130515F893060000A9 +:10202C0093172B00B3E7D7003309A9009387F7FF69 +:10203C001307E00033CA7901930A19006360F70AA9 +:10204C00171700001307473193972700B387E70052 +:10205C0083A70700B387E70067800700638A040241 +:10206C0013850400EF0010419307B5FF1309A0F886 +:10207C00B394F4003309A9406FF0DFF61309F00FA5 +:10208C00130B2000E38204F6130B30006FF0DFF526 +:10209C0013090000130B10006FF01FF5630A040204 +:1020AC0013050400EF00103D9307B5FF3314F40043 +:1020BC009307A0F83385A7406FF05FF61305F00F78 +:1020CC0093062000E30E04F4930630006FF05FF5E6 +:1020DC0013050000930610006FF09FF4370C0100FD +:1020EC00130BFCFF93DB0401935C0401B3F4640158 +:1020FC00337464019305040013850400EF00102A67 +:10210C00930504009309050013850B00EF001029BB +:10211C001304050093850C0013850B00EF001028A9 +:10212C00930B05009385040013850C00EF0010271A +:10213C003305850093D709013385A70063748500A7 +:10214C00B38B8B01B377650193970701B3F96901E1 +:10215C00B3873701139467003334800093D7A701FA +:10216C0013550501B367F4003304750113146400AF +:10217C003364F4009317440063D6070E935714008E +:10218C001374140033E487001387FA076350E00ECE +:10219C0093777400638A07009377F40093064000EA +:1021AC006384D700130444009317440063DA0700D8 +:1021BC00B70700F89387F7FF3374F40013870A0806 +:1021CC009307E00F63C4E710935734006F000003CC +:1021DC00138A09001384040093060B009307200054 +:1021EC006386F60E93073000638AF60C1306100014 +:1021FC009307000013070000E398C6F8370480002B +:10220C001304F4FF37058080B3F787001305F5FF3F +:10221C008320C102032481021377F70FB3F7A700C1 +:10222C00131777011315FA01B3E7E7008324410272 +:10223C00032901028329C101032A8101832A410157 +:10224C00032B0101832BC100032C8100832C410043 +:10225C0033E5A7001301010367800000138A0B000C +:10226C006FF0DFF7930A09006FF01FF2930710006D +:10227C00B387E7401307B0016340F706938AEA0976 +:10228C00B357F400331454013334800033E4870023 +:10229C0093777400638A07009377F4001307400068 +:1022AC006384E700130444009317540063CA0702C5 +:1022BC0093573400130700006FF05FF4B70740002A +:1022CC001307F00F130A00006FF05FF39307000081 +:1022DC001307F00F6FF09FF2930700006FF09FFD54 +:1022EC0093070000130710006FF05FF1B707800031 +:1022FC009387F7FF130101FF33F7A700935675017E +:10230C0013D67501B3F7B7002322910023202101C6 +:10231C0093F6F60F131837001376F60F23261100D9 +:10232C00232481001307F00F9354F5011389060041 +:10233C001305060093D5F501939737006314E60057 +:10234C006394070093C515003387C640639A951AAA +:10235C006356E00A63160606639C07009307F00FAA +:10236C00638CF60493070800138506006F00C014F5 +:10237C001307F7FF631E0702B387070113850600D7 +:10238C0013975700635A0712130515001307F00F24 +:10239C00630EE5323707007E93F617001307F7FF3D +:1023AC0093D71700B3F7E700B3E7D7006F00C0105F +:1023BC001306F00F639EC600930708006F004007DA +:1023CC001306F00FE38AC6FE37060004B3E7C70016 +:1023DC001306B0016356E600930710006FF0DFF9A7 +:1023EC00130600023306E640B3D5E700B397C700E7 +:1023FC00B337F000B3E7F5006FF01FF86300070880 +:10240C00639C0602631808001307F00F6316E60AB4 +:10241C006F0000029306F0FF6316D700B387070125 +:10242C006FF01FF69306F00F1347F7FF6310D602F9 +:10243C001305F00F6F0040089306F00FE30AD6FE69 +:10244C00B70600043307E0403368D8009306B001A8 +:10245C0063D6E600130710006F00C001930600025C +:10246C003356E8003387E6403317E8003337E00093 +:10247C003367E600B387E7006FF09FF01385160013 +:10248C001376F50F130710006342C7066394060416 +:10249C00130500006302080263860722B387070155 +:1024AC0013975700635A0700370700FC1307F7FF11 +:1024BC00B3F7E7001305100013F77700630A072042 +:1024CC0013F7F700930640006304D7209387470067 +:1024DC006F000020E30E08F4E38007EEB70700025C +:1024EC001305F00F930400006F00801E1307F00F0C +:1024FC00630EE51C3307F800935717006FF0DFFBF2 +:10250C006350E00863160604E38A07E41307F7FF39 +:10251C0063140702B307F84013850600139757009E +:10252C00E35C07F8370400041304F4FF33F487006A +:10253C00130905006F0080131306F00FE38EC6E637 +:10254C001306B0016350E602930710006FF09FFC76 +:10255C001306F00FE382C6E637060004B3E7C700A4 +:10256C006FF01FFE13060002B3D5E7003307E640F9 +:10257C00B397E700B337F000B3E7F5006FF09FF9BE +:10258C0063020708639E0602631808001307F00F26 +:10259C00938405006FF09FE79306F0FF6318D70054 +:1025AC00B3870741938405006FF05FF79306F00F34 +:1025BC001347F7FF6310D602938405006FF05FE7B3 +:1025CC009306F00FE30AD6FEB70600043307E0408B +:1025DC003368D8009306B00163D6E60013071000E9 +:1025EC006F00C001930600023356E8003387E640C3 +:1025FC003317E8003337E0003367E600B387E74072 +:10260C006FF05FFA138716001377F70F130610009D +:10261C006344E604639C060263180800639807127F +:10262C00130500006FF01FEC638607123307F840A8 +:10263C0093165700B387074163CA06109307070028 +:10264C0063100706930700006FF09FFDE31608E880 +:10265C00E39407F66FF09FE83304F8401317540027 +:10266C006354070433840741938405001305040065 +:10267C00EF0040601305B5FF3314A400634A250333 +:10268C00330525411305150013070002B357A400A9 +:10269C003305A7403314A40033348000B3E787001C +:1026AC00130500006FF05FE1E30E04F86FF01FFC00 +:1026BC00B70700FC9387F7FF3305A940B377F40005 +:1026CC006FF09FDF930708006FF01FDF9307000088 +:1026DC0013975700635E0700130515001307F00FDF +:1026EC00630EE506370700FC1307F7FFB3F7E700A7 +:1026FC001307F00F93D737006318E50063860700C4 +:10270C00B707400093040000370780001307F7FF5A +:10271C001375F50FB3F7E7001317750137058080B4 +:10272C008320C100032481001305F5FF33F5A700B6 +:10273C009394F4013365E50033659500032901009A +:10274C00832441001301010167800000938405007C +:10275C006FF01FF5930708006FF09FF493070000CC +:10276C006FF01FF937068000135775019307F6FFBA +:10277C001377F70F9305E007B3F7A7009356F5010E +:10278C0063F6E5049305D00963FAE500370500808C +:10279C001345F5FF3385A6006780000033E5C700BD +:1027AC009307500963DCE7001307A7F63315E50020 +:1027BC00638006023305A040678000009307600920 +:1027CC003387E7403355E5006FF09FFE130500009B +:1027DC0067800000130101FF2326110023248100D0 +:1027EC002322910063020510130405009354F50194 +:1027FC00635405003304A04013050400EF00804728 +:10280C009307E009B387A740130760096340F706F5 +:10281C00130780006356A700130585FF3314A4002B +:10282C00370580001305F5FF93F7F70F3374A400F9 +:10283C0013957701B70780809387F7FF3374F40003 +:10284C00B70700803364A40093C7F7FF1395F40116 +:10285C003374F4003365A4008320C1000324810089 +:10286C0083244100130101016780000013079009C4 +:10287C006350F702130750003307A7409306B501C6 +:10288C003357E4003314D4003334800033648700AE +:10289C00130750006356A7001307B5FF3314E40069 +:1028AC00370700FC1307F7FF937674003377E400C7 +:1028BC00638A06001374F400930640006304D4008A +:1028CC00130747009316570063DC0600B70700FC9C +:1028DC009387F7FF3377F7009307F009B387A74087 +:1028EC00135437006FF0DFF313040000930700005C +:1028FC00930400006FF0DFF293577501130101FF91 +:10290C0093F7F70F232481001387170037048000F7 +:10291C00232291001304F4FF232611001377F70FE1 +:10292C00930610003374A4009354F50163D2E606A9 +:10293C0013850738935734001314D401370710004C +:10294C001307F7FFB3F7E700370710801307F7FFFC +:10295C001375F57F13154501B3F7E70037070080B2 +:10296C00B3E7A7001347F7FF1395F401B3F7E7009C +:10297C0033E7A7008320C100130504000324810062 +:10298C0083244100930507001301010167800000B7 +:10299C00639407046302040613050400EF00802D02 +:1029AC009307A00063C2A7029307B000B387A740A8 +:1029BC0013075501B357F4003314E4001307903890 +:1029CC003305A7406FF09FF7930755FFB317F4003B +:1029DC00130400006FF09FFE93070000630A0400CD +:1029EC0093573400370708001314D401B3E7E700FA +:1029FC001305F07F6FF09FF49307000013050000A0 +:102A0C006FF0DFF3370610001306F6FF3376B600CF +:102A1C0013D845019357D5011378F87F1316360058 +:102A2C0033E6C7009307180093F7F77F930610005F +:102A3C0093D5F5011317350063D6F60A930608C82B +:102A4C009307E00F63C2D70C6340D008930790FE46 +:102A5C0063C4F612B70780001305E0013366F60075 +:102A6C003305D5409307F00163C8A702130828C8A3 +:102A7C00B3170701B337F000331606013355A7001F +:102A8C00B3E7C700B367F5009306000013F77700B0 +:102A9C00630007086F00C00E9307E0FFB386D740B2 +:102AAC0093070002B356D600930800006306F500A6 +:102ABC00130828CAB3180601B3E7E800B337F000CF +:102ACC00B3E7F6006FF05FFC131565003335A0001B +:102ADC00131636009357D7013366C500B367F6005B +:102AEC006FF0DFFAB367E60063160800B337F00047 +:102AFC006FF09FF99306F00F638C070013163600E6 +:102B0C00B70700026FF09FFD930700009306F00FCC +:102B1C0013975700635E0700938616001307F00F98 +:102B2C00638AE606370700FC1307F7FFB3F7E700E5 +:102B3C001307F00F93D737006398E60063860700FE +:102B4C00B707400093050000370580001305F5FF1B +:102B5C00B3F7A700370580801305F5FF93F6F60F42 +:102B6C0093967601B3F7A7009395F501B3E7D700D9 +:102B7C0033E5B70067800000930710009306000050 +:102B8C0013F7F70013064000E304C7F893874700D8 +:102B9C006FF01FF8930700006FF09FF91306050004 +:102BAC001305000093F61500638406003305C50079 +:102BBC0093D5150013161600E39605FE67800000EA +:102BCC006340050663C605061386050093050500DC +:102BDC001305F0FF630C060293061000637AB6002F +:102BEC006358C0001316160093961600E36AB6FEDF +:102BFC001305000063E6C500B385C5403365D500F9 +:102C0C0093D6160013561600E39606FE6780000056 +:102C1C0093820000EFF05FFB1385050067800200D4 +:102C2C003305A04063D80500B305B0406FF0DFF961 +:102C3C00B305B04093820000EFF01FF93305A040BC +:102C4C00678002009382000063CA0500634C050094 +:102C5C00EFF09FF71385050067800200B305B040C5 +:102C6C00E35805FE3305A040EFF01FF63305B040E6 +:102C7C0067800200B7070100637AF5029307F00F33 +:102C8C00B3B7A70093973700130700023307F74039 +:102C9C00B357F500170500001305C56FB307F50012 +:102CAC0003C507003305A740678000003707000104 +:102CBC0093070001E36AE5FC930780016FF0DFFCEA +:102CCC00411106C6EFD0CFD4B240B70710F023A005 +:082CDC0007F20145410182806D +:102CE4004448525953544F4E452050524F47524135 +:102CF4004D2C20534F4D4520535452494E4700000C +:102D04004468727973746F6E652042656E63686D92 +:102D140061726B2C2056657273696F6E20322E318E +:102D240020284C616E67756167653A20432900006D +:102D340050726F6772616D20636F6D70696C65644A +:102D440020776974682027726567697374657227D0 +:102D540020617474726962757465000050726F67E3 +:102D640072616D20636F6D70696C6564207769743E +:102D7400686F75742027726567697374657227209C +:102D8400617474726962757465000000506C6561E9 +:102D94007365206769766520746865206E756D6259 +:102DA4006572206F662072756E73207468726F7519 +:102DB4006768207468652062656E63686D61726B14 +:102DC4003A200000457865637574696F6E207374EA +:102DD400617274732C2025642072756E732074687C +:102DE400726F756768204468727973746F6E650AD0 +:102DF40000000000457865637574696F6E20656E28 +:102E04006473000046696E616C2076616C7565734D +:102E1400206F6620746865207661726961626C65F2 +:102E240073207573656420696E207468652062651B +:102E34006E63686D61726B3A00000000496E745FE6 +:102E4400476C6F623A202020202020202020202060 +:102E54002025640A000000002020202020202020BB +:102E640073686F756C642062653A20202025640ABB +:102E740000000000426F6F6C5F476C6F623A202065 +:102E840020202020202020202025640A000000008B +:102E940043685F315F476C6F623A20202020202016 +:102EA400202020202025630A00000000202020206C +:102EB4002020202073686F756C642062653A20209E +:102EC4002025630A0000000043685F325F476C6F8F +:102ED400623A202020202020202020202025630A60 +:102EE400000000004172725F315F476C6F625B38B3 +:102EF4005D3A2020202020202025640A00000000C4 +:102F04004172725F325F476C6F625B385D5B375D45 +:102F14003A2020202025640A0000000020202020E0 +:102F24002020202073686F756C642062653A20202D +:102F3400204E756D6265725F4F665F52756E7320C9 +:102F44002B203130000000005074725F476C6F62B8 +:102F54002D3E000020205074725F436F6D703A2044 +:102F640020202020202020202025640A00000000AA +:102F7400202020202020202073686F756C6420623C +:102F8400653A20202028696D706C656D656E7461EA +:102F940074696F6E2D646570656E64656E74290066 +:102FA400202044697363723A2020202020202020AE +:102FB400202020202025640A000000002020456EE7 +:102FC400756D5F436F6D703A2020202020202020F3 +:102FD4002025640A000000002020496E745F436FBE +:102FE4006D703A2020202020202020202025640AF3 +:102FF4000000000020205374725F436F6D703A200C +:1030040020202020202020202025730A00000000FA +:10301400202020202020202073686F756C6420629B +:10302400653A2020204448525953544F4E4520506D +:10303400524F4752414D2C20534F4D45205354522B +:10304400494E47004E6578745F5074725F476C6FE9 +:10305400622D3E00202020202020202073686F75E0 +:103064006C642062653A20202028696D706C656D5F +:10307400656E746174696F6E2D646570656E6465E8 +:103084006E74292C2073616D652061732061626FF9 +:1030940076650000496E745F315F4C6F633A20209F +:1030A40020202020202020202025640A0000000069 +:1030B400496E745F325F4C6F633A202020202020D9 +:1030C400202020202025640A00000000496E745F3F +:1030D400335F4C6F633A20202020202020202020C2 +:1030E4002025640A00000000456E756D5F4C6F6317 +:1030F4003A20202020202020202020202025640A7F +:10310400000000005374725F315F4C6F633A2020FB +:1031140020202020202020202025730A00000000E9 +:10312400202020202020202073686F756C6420628A +:10313400653A2020204448525953544F4E4520505C +:10314400524F4752414D2C2031275354205354524F +:10315400494E47005374725F325F4C6F633A2020CC +:1031640020202020202020202025730A0000000099 +:10317400202020202020202073686F756C6420623A +:10318400653A2020204448525953544F4E4520500C +:10319400524F4752414D2C2032274E442053545213 +:1031A400494E47004D656173757265642074696D9D +:1031B4006520746F6F20736D616C6C20746F206F69 +:1031C400627461696E206D65616E696E6766756CA7 +:1031D40020726573756C747300000000506C656137 +:1031E400736520696E637265617365206E756D62C7 +:1031F4006572206F662072756E730000436C6F6396 +:103204006B206379636C65733D2564200A000000BC +:10321400444D49505320706572204D687A3A2020FD +:10322400202020202020202020202020202020209A +:10323400202020202020202020202020000000000A +:1032440025642E00256400004448525953544F4EBF +:10325400452050524F4752414D2C20312753542082 +:10326400535452494E4700004448525953544F4E08 +:10327400452050524F4752414D2C2032274E442076 +:10328400535452494E4700004448525953544F4EE8 +:10329400452050524F4752414D2C20332752442051 +:1032A400535452494E47000034E2FFFF48E1FFFF08 +:1032B40054E1FFFF48E1FFFF20E2FFFF48E1FFFF89 +:1032C40054E1FFFF34E2FFFF34E2FFFF20E2FFFF9F +:1032D40054E1FFFF20E1FFFF20E1FFFF20E1FFFFBA +:1032E4005CE1FFFFF0E7FFFFF0E7FFFF14E8FFFFFB +:1032F400E4E7FFFFE4E7FFFFD4E8FFFF14E8FFFF84 +:10330400E4E7FFFFD4E8FFFFE4E7FFFF14E8FFFF73 +:10331400E0E7FFFFE0E7FFFFE0E7FFFFD4E8FFFFA0 +:1033240048EBFFFF84EBFFFF90EBFFFF84EBFFFF15 +:10333400FCEBFFFF84EBFFFF90EBFFFF48EBFFFF8D +:1033440048EBFFFFFCEBFFFF90EBFFFF60EBFFFFA1 +:1033540060EBFFFF60EBFFFF98EBFFFF88EEFFFFE2 +:1033640088EEFFFF08EFFFFF80EEFFFF80EEFFFF18 +:1033740068EFFFFF08EFFFFF80EEFFFF68EFFFFF3E +:1033840080EEFFFF08EFFFFF7CEEFFFF7CEEFFFF08 +:103394007CEEFFFF68EFFFFF00010202030303035B +:1033A40004040404040404040505050505050505D1 +:1033B40005050505050505050606060606060606B1 +:1033C4000606060606060606060606060606060699 +:1033D4000606060606060606070707070707070781 +:1033E4000707070707070707070707070707070769 +:1033F4000707070707070707070707070707070759 +:103404000707070707070707070707070707070748 +:103414000707070707070707080808080808080830 +:103424000808080808080808080808080808080818 +:103434000808080808080808080808080808080808 +:1034440008080808080808080808080808080808F8 +:1034540008080808080808080808080808080808E8 +:1034640008080808080808080808080808080808D8 +:1034740008080808080808080808080808080808C8 +:1034840008080808080808080808080808080808B8 +:083494000808080808080808F0 +:1034A0000000000080842E41000000205FA0124236 +:0C34B000F90295503353DE470000C8427B +:040000058000000077 +:00000001FF diff --git a/src/test/resources/hex/dhrystoneO3MC.hex b/src/test/resources/hex/dhrystoneO3MC.hex new file mode 100644 index 0000000..813fe40 --- /dev/null +++ b/src/test/resources/hex/dhrystoneO3MC.hex @@ -0,0 +1,785 @@ +:0200000480007A +:10000000ADA8010001000100010001000100010094 +:10001000232E11FE232C51FE232A61FE232871FE7C +:100020002326A1FE2324B1FE2322C1FE2320D1FEDC +:10003000232EE1FC232CF1FC232A01FD232811FDB2 +:100040002326C1FD2324D1FD2322E1FD2320F1FD40 +:100050003971AD28F250E2525253C2533255A25573 +:10006000125682567247E2475248C248324EA24E5A +:10007000124F824F2161730020309741000093811D +:10008000E182176100001301E1041385C1819765C6 +:1000900000009385E5C36306B50023200500110524 +:1000A000DDBF1735000013052500711197350000DD +:1000B000938585FF6308B500144111052AC0829617 +:0C00C0000245EDB71101EF20F00001A097 +:1000CC00828003C75183930710046303F700828077 +:1000DC001C4103A7C183A507998F1CC1828003A66D +:1000EC00418409C6184218C103A6418483A5C18363 +:1000FC00310629456F00806C41114AC083A74184A9 +:10010C0022C40041984326C283AE470003AE870049 +:10011C0003A3070183A8470103A887018C53D0537D +:10012C00945706C6AA84C84FDC5718C0984048CCD0 +:10013C005CD42322D40195472324C40123286400D2 +:10014C00232A1401232C04010CD050D014D4DCC469 +:10015C005CC418C0228561375C40B1CF9C40B24072 +:10016C00224483AF070003AF470083AE870003AE82 +:10017C00C70003A3070183A8470103A88701CC4F3D +:10018C009053D4539857DC5723A0F40123A2E401D5 +:10019C0023A4D40123A6C40123A8640023AA140118 +:1001AC0023AC0401CCCC90D0D4D098D4DCD402496C +:1001BC0092444101828088449947930584005CC431 +:1001CC00EF00E06983A7418448441306C4009C43B4 +:1001DC00B24092441CC022440249A94541016F001F +:1001EC00E05D83C7518383A681839387F7FB93B725 +:1001FC001700D58F23ACF18213072004238AE182E8 +:10020C00828013071004A38AE18223AC01828280CE +:10021C0035711305000306CF22CDE6DAEED626CBD8 +:10022C004AC94EC752C556C35AC1DEDEE2DCEAD813 +:10023C00EF00407123A0A18413050003EF00807030 +:10024C0083A7018423A2A1841CC189471CC5B7358F +:10025C000080930780025CC57D469385C58E232262 +:10026C0005004105EF00407E37370080930747E5D6 +:10027C00032E47E503A3470083A8870003A8C70004 +:10028C008C4BD04B944F03D7C70183C7E701B73DC5 +:10029C000080231EE102230FF1021387CD1BA94717 +:1002AC002945232EF76472D01AD246D442D62ED8C2 +:1002BC0032DA36DCEF00E077373500801305C59075 +:1002CC00EF00C0742945EF00C07683A70183638ECD +:1002DC00074A373500801305C593EF002073294575 +:1002EC00EF0020753735008013058599EF00A06766 +:1002FC002945EF000074373500809305800C1305F9 +:10030C00059DEF004066EF00607337340080832753 +:10031C0044E7373D0080032C4DE93EC623A6A1825D +:10032C008549130444E78944E93D653D8347E4016D +:10033C005048032E4400032384008328C400032860 +:10034C000401144C0357C401B24E230FF1048C006A +:10035C0085470810B2CA3ECE26CAF6C0F2C29AC46D +:10036C00C6C6C2C8B6CC231EE10455295246133565 +:10037C00150023ACA18263C0C40293172600B29768 +:10038C00F51732858D4530083ECC0D2952460506B1 +:10039C0032CAE3D4C4FEE2461385C1849385CD1BD7 +:1003AC00152103A54184930A10040D4AB13303C7E8 +:1003BC00418393070004130B4DE963F1E702568563 +:1003CC00930530048921F24713871A006306F5362A +:1003DC0083C74183937AF70FE3F357FFD247624BFE +:1003EC004808330AFA028509B34A6A0356CAD13956 +:1003FC009307900CE39AF9F2EF00406423A4A182D6 +:10040C0037350080130505A0EF0040602945EF004B +:10041C00406237350080130505A1EF00205F2945A8 +:10042C00EF00206183A5C18337350080130585A4B7 +:10043C00373400800D2B9545130544A62D2383A539 +:10044C00818337350080130505A8312B85451305AD +:10045C0044A6112B83C55183373500801305C5A9DC +:10046C001923B734008093051004138584ABE52958 +:10047C0083C5418337350080130545ADED219305C8 +:10048C002004138584ABC5219387C1848C533735E5 +:10049C000080130505AFC1299D45130544A6E12134 +:1004AC00B73700809387C71B83A5C7653735008096 +:1004BC001305C5B04D2937350080130585B2EF0003 +:1004CC00E05437350080130545B5EF00205403A7E1 +:1004DC004184B7370080138507B60C433EC6373DC1 +:1004EC0000805121373500801305C5B7052303A7BC +:1004FC0041841305CDBA373C00804C43B73B008098 +:10050C00B73900808D218145130544A6A92903A77D +:10051C00418413058CBC373900800C47330A6A417F +:10052C0099218945130544A63D2903A741841385C8 +:10053C004BBE4C470D29C545130544A62D2183A55B +:10054C004184138509C0C10539291305C9C17D2909 +:10055C0037350080130505C5552903A70184B2471B +:10056C000C43138507B6012137350080130505C6EA +:10057C00712983A701841305CDBACC43ED2681459F +:10058C00130544A6CD2683A7018413058CBC8C4788 +:10059C00D92E8545130544A6F92683A70184138516 +:1005AC004BBECC47C926C945130544A66D2E83A561 +:1005BC000184138509C0C1057D261305C9C1B92164 +:1005CC00D24537350080130505CA712E95451305A4 +:1005DC0044A6512E93173A00338A47413735008091 +:1005EC00B3055A411305C5CBBD2EB545130544A61D +:1005FC009D2EE24537350080130585CDAD269D45F2 +:10060C00130544A68D26F24537350080130545CFDA +:10061C00992E8545130544A6B926373500800C1054 +:10062C00130505D18926373500801305C5D2F92E5F +:10063C00373500808C00130505D6352637350080FC +:10064C001305C5D7E1262945ED2603A7C18283A54D +:10065C0081829307301F998D23A2B18263DFB71279 +:10066C0037350080130585E0FD2C03A54182EF1082 +:10067C0070642A84EF105076B737008003A6870A7F +:10068C0083A6C70AEF009050B737008003A6070B6C +:10069C0083A6470BEF008061EF20C00423A0A1824A +:1006AC00B737008003A5870BA285EF10E02B23AE94 +:1006BC00A180373500801305C5E1752403A541825F +:1006CC00EF10505FB7370080AA8503A5C70BEF105A +:1006DC00A0292A84EF101057AA84EF10B05DAA85C8 +:1006EC002285EF10B00EB737008083A5070CEF10F2 +:1006FC00A05BEF1030552A8437350080A685130592 +:10070C00C5E49524A54763D7870A37350080A285B1 +:10071C00130505E5892C2945292EFA406A44DA444B +:10072C004A49BA492A4A9A4A0A4BF65B665CD65C35 +:10073C00465DB65D0D6182806C0801450D22032378 +:10074C004B0083288B000328CB0003250B0183254A +:10075C004B0103268B018356CB010347EB0183C767 +:10076C004183850AE2C09AC2C6C4C2C6AAC8AECA30 +:10077C00B2CC231ED104230FE10423AE318393FAB0 +:10078C00FA0F4E8AE3FD57C391B937350080130534 +:10079C008596AD2C2945712CB1B6373500801305E3 +:1007AC0005DBAD2437350080130585DE852429450E +:1007BC004924A5B713050003AD2C81BF0905AA95E3 +:1007CC000CC28280130756001308800C33080703F1 +:1007DC000A06931727003E9514C138DD54C1B307A0 +:1007EC00C800AE97944BD8CB98CF1387160098CBF4 +:1007FC001C41C295B2950566B29523AAF5FA154728 +:10080C0023AEE18282801375F50F93F5F50F630427 +:10081C00B50001458280A38AA182054582804111E1 +:10082C0022C426C206C62A84AE8483C5340003457E +:10083C002400D13F7DF9A6852285DD2C81476356A6 +:10084C00A000294723AEE1828547B240224492445E +:10085C003E85410182807915133515008280411146 +:10086C0022C426C206C62A84AE84F53715C180C0C0 +:10087C0085476304F40205C80947630DE4029147F8 +:10088C006313F40098C0B240224492444101828028 +:10089C008D479CC08547E310F4FE03A7C1839307E3 +:1008AC00400663DFE700B240224423A004009244D8 +:1008BC0041018280B24022449CC09244410182801A +:1008CC00B24022448D479CC0924441018280411128 +:1008DC0022C406C62A840345050011C50504912AC5 +:1008EC000345040065FDB24022444101828091A27F +:1008FC00797126D206D622D44AD0AA84634E050238 +:10090C000A894A84294799E0631C2401B3E7E4026D +:10091C00050493870703B3C4E402A30FF4FEE5B701 +:10092C007D1403450400E137E31C24FFB25022542C +:10093C0092540259456182801305D0024D3FB30495 +:10094C0090407DBF03A78184B307A7003765008063 +:10095C0023A4F1841305C58C930600403A9563D308 +:10096C00F600029082805D7152CC06D622D426D23B +:10097C004AD04ECE56CA2A8A03450500BEC25C1820 +:10098C002EDA32DC36DEBAC0C2C4C6C63EC61DC1C3 +:10099C000144930A5002930430061309300793095B +:1009AC00400663025503A1370504B3078A0003C54B +:1009BC00070065F9B250225492540259F249624A26 +:1009CC00D24A61618280930614003307DA0031A0A9 +:1009DC0063822703638637038506834707003684C3 +:1009EC000507F9D3E39697FEB247884391073EC6B5 +:1009FC00FD3D5DBFB247884391073EC6C93D6DB70B +:100A0C00B247884391073EC6E53579BF411122C4F0 +:100A1C0006C62A840345050011C50504192803459B +:100A2C00040065FD29453120B240224401454101B5 +:100A3C008280B70710F023A0A7F08280B70710F0D0 +:100A4C0003A507F182800000B3C7A50093F7370018 +:100A5C003307C500639607009307300063E4C702B1 +:100A6C0093070500636CE5006780000083C60500F2 +:100A7C009387170093851500A38FD7FEE3E8E7FE55 +:100A8C006780000093773500639207089307050091 +:100A9C009376C7FF138606FE63F6C70883A305008B +:100AAC0083A2450083AF850003AFC50083AE05016B +:100ABC0003AE450103A3850183A8C50193854502B7 +:100ACC009387470203A8C5FF23AE77FC23A057FEEC +:100ADC0023A2F7FF23A4E7FF23A6D7FF23A8C7FF72 +:100AEC0023AA67FE23AC17FF23AE07FF6FF0DFFAD4 +:100AFC0083C605009387170093851500A38FD7FE37 +:100B0C0093F63700E39606FE6FF09FF89307050007 +:100B1C006FF01FFF03A605009387470093854500E0 +:100B2C0023AEC7FEE3E8D7FEE3EAE7F467800000F4 +:100B3C003367B5009303F0FF13773700631007108A +:100B4C00B7877F7F9387F7F70326050083A60500F9 +:100B5C00B372F6003363F600B382F200B3E26200C4 +:100B6C00639272106316D6080326450083A64500CF +:100B7C00B372F6003363F600B382F200B3E26200A4 +:100B8C00639E720C6316D6060326850083A6850029 +:100B9C00B372F6003363F600B382F200B3E2620084 +:100BAC006398720C6316D6040326C50083A6C50091 +:100BBC00B372F6003363F600B382F200B3E2620064 +:100BCC006392720C6316D6020326050183A60501F7 +:100BDC00B372F6003363F600B382F200B3E2620044 +:100BEC00639C720A1305450193854501E30ED6F407 +:100BFC001317060193970601631EF700135706019E +:100C0C0093D706013305F7409375F50F63900502F2 +:100C1C00678000001357070193D707013305F7408E +:100C2C009375F50F63940500678000001377F70F39 +:100C3C0093F7F70F3305F740678000000346050074 +:100C4C0083C6050013051500938515006314D600A3 +:100C5C00E31606FE3305D6406780000013054500F9 +:100C6C0093854500E31CD6FC13050000678000004B +:100C7C001305850093858500E312D6FC130500004F +:100C8C00678000001305C5009385C500E318D6FAEC +:100C9C00130500006780000013050501938505010D +:100CAC00E31ED6F81305000067800000130101FD58 +:100CBC0023248102232291022328610113040500BD +:100CCC00130B0500B704100013D545012320210395 +:100CDC00232E3101232671019384F4FF2326110264 +:100CEC00232C4101232A51011375F57F930B060028 +:100CFC0093890600B3F4B40013D9F5016306050A11 +:100D0C009307F07F6306F51093943400B7068000C8 +:100D1C00B3E4D400935ADB01B3EA9A0013143B00FA +:100D2C00130A15C0130B000013D54901B7041000AA +:100D3C009384F4FF1375F57FB3F43401938F0B0098 +:100D4C0093D9F901630205109307F07F6302F5163E +:100D5C00B707800093943400B3E4F40093D7DB011D +:100D6C00B3E79700939F3B00130515C013070000D2 +:100D7C0093162B00B3E6E6009386F6FF9305E0008E +:100D8C00334639013305AA4063E0D5169725000098 +:100D9C009385C51193962600B386B60083A60600EC +:100DAC00B386B60067800600B3EA6401638E0A0658 +:100DBC006380040413850400EF10502C930755FF37 +:100DCC001307C001634EF702930AD001130485FF89 +:100DDC00B38AFA40B3948400B35A5B01B3EA9A0025 +:100DEC0033148B00130AD0C0330AAA406FF09FF360 +:100DFC0013050B00EF109028130505026FF01FFC74 +:100E0C00930485FDB31A9B00130400006FF09FFD43 +:100E1C00B3EA640163820A02938A0400130AF07F26 +:100E2C00130B30006FF05FF013040000130A000086 +:100E3C00130B10006FF05FEF13040000130AF07F28 +:100E4C00130B20006FF05FEEB3E77401638E07069F +:100E5C006380040413850400EF105022130755FF20 +:100E6C009307C00163CEE7029307D001930F85FF70 +:100E7C00B387E740B394F401B3D7FB00B3E7970013 +:100E8C00B39FFB011306D0C03305A6406FF01FEED5 +:100E9C0013850B00EF10901E130505026FF01FFC5D +:100EAC00930785FDB397FB00930F00006FF09FFD38 +:100EBC00B3E7740163820702938704001305F07F84 +:100ECC00130730006FF0DFEA930F000013050000EA +:100EDC00130710006FF0DFE9930F00001305F07F8C +:100EEC00130720006FF0DFE863E657016390FA36D2 +:100EFC00636EF4359395FA01935614001317F401AD +:100F0C0093DA1A0033E4D5009397870013D88F0136 +:100F1C003368F800935E0801B3D5DA03131E080199 +:100F2C00135E0E019356040193988F00B3F4DA0309 +:100F3C00938F0500B307BE0293940401B3E69600A9 +:100F4C0063FEF600B3860601938FF5FF63E8060196 +:100F5C0063F6F600938FE5FFB3860601B386F64081 +:100F6C0033D3D6031314040113540401B3F6D6037C +:100F7C0093070300B3056E0293960601B366D40083 +:100F8C0063FEB600B38606019307F3FF63E8060120 +:100F9C0063F6B6009307E3FFB38606013384B640CD +:100FAC00939F0F01B7050100B3EFFF001383F5FF0B +:100FBC0093D60F01B3F76F0013DF080133F368000A +:100FCC00B3836702B3846602B307FF02B382E603FE +:100FDC00B386970093D70301B387D70063F49700C8 +:100FEC00B382B20093D60701B3865600B702010054 +:100FFC009382F2FFB3F5570093950501B3F35300B9 +:10100C00B38575006368D40093870F006314D40410 +:10101C006372B70433071701B3321701B3820201AD +:10102C00330454009387FFFF6366880063148802BF +:10103C00636217036366D400639E8600637CB7000B +:10104C00330717019387EFFFB33F1701B38F0F01DE +:10105C003304F401B305B7403304D4403337B7003D +:10106C003304E440930FF0FF63048812B352D403AB +:10107C0093D605013374D40313870200B30F5E02B9 +:10108C001314040133E48600637EF4013304040179 +:10109C001387F2FF636804016376F4011387E2FFA0 +:1010AC00330404013304F441B356D403939505017E +:1010BC0093D505013374D403330EDE0213140401EB +:1010CC0033E4850093850600637EC4013304040178 +:1010DC009385F6FF636804016376C4019385E6FF8C +:1010EC003304040113170701B365B7001397050107 +:1010FC00135707013304C44113DE0501B30E670215 +:10110C0033036E02330ECF03330FEF0213D70E01EE +:10111C00330F6F003307E70163766700B7060100F2 +:10112C00330EDE00135307013303C301370E0100E6 +:10113C00130EFEFFB376C70193960601B3FECE01E4 +:10114C00B386D60163686400938F05006310640452 +:10115C006380060433048800938FF5FF63640403F3 +:10116C00636664006314640263F0D802139718007A +:10117C00B338170133880801938FE5FF330404015A +:10118C0093080700631464006384160193EF1F0037 +:10119C009306F53F635AD01013F77F0063000702E4 +:1011AC0013F7FF0093054000630AB70093854F00C7 +:1011BC00B3BFF501B387F701938F05001397770041 +:1011CC00635A0700370700FF1307F7FFB3F7E70071 +:1011DC00930605401307E07F634AD7181397D7018E +:1011EC0093DF3F003367F70193D73700B705100043 +:1011FC009385F5FFB3F7B700B70510809385F5FF1E +:10120C0093F6F67F93964601B3F7B7008320C1029D +:10121C00032481021316F601B3E7D700B3E6C70027 +:10122C0083244102032901028329C101032A81017C +:10123C00832A4101032B0101832BC10013050700F5 +:10124C009385060013010103678000001305F5FF69 +:10125C00130700006FF05FCB1306090093870A0099 +:10126C00930F040013070B00930620006300D710A4 +:10127C00930630006302D70E93061000E31AD7F0E2 +:10128C0093070000130700006F0040091386090044 +:10129C006FF09FFDB7070800930F000013060000C6 +:1012AC00130730006FF05FFC93051000B385D54039 +:1012BC0013078003E346B7FC1307F0016344B7063A +:1012CC001305E5413397A700B3D6BF003395AF00A4 +:1012DC003367D7003335A0003367A700B3D7B70007 +:1012EC0093767700638006029376F70093054000AF +:1012FC00638AB6009306470033B7E600B387E7006E +:10130C00138706009396870063CA06069396D70147 +:10131C001357370033E7E60093D7370093060000E6 +:10132C006FF0DFEC130710FE3307D74013080002F1 +:10133C0033D7E70093060000638605011305E543E8 +:10134C00B396A70033E5F6013335A0003367A70049 +:10135C00930700006FF0DFF8B707080013070000D1 +:10136C009306F07F130600006FF05FE89307000010 +:10137C00130700009306F07F6FF05FE79307000000 +:10138C0013070000930610006FF05FE6130101FDD8 +:10139C0023202103232A51013709100093DA450138 +:1013AC00232E3101232C41012328610123267101B5 +:1013BC001309F9FF2326110223248102232291020F +:1013CC0093FAFA7F130B0500930B0600138A0600A1 +:1013DC003379B90093D9F50163880A0A9307F07F32 +:1013EC006386FA10370480001319390033698900B9 +:1013FC001354D5013364240193143500938A1AC015 +:10140C00130B000013554A01370910001309F9FF9B +:10141C001375F57F3379490113870B00135AFA01C1 +:10142C00630405109307F07F6304F516B70780007B +:10143C00131939003369F90093D7DB01B3E727019E +:10144C0013973B00130515C09306000093152B0052 +:10145C00B3E5D5003385AA009385F5FF9308E0002A +:10146C0033C649011308150063E0B81617250000B0 +:10147C00130585A793952500B385A50083A50500C5 +:10148C00B385A500678005003364A900630E0406CC +:10149C006300090413050900EF10403E930755FF44 +:1014AC001307C001634CF7021304D001930485FFAA +:1014BC003304F4403319990033548B003364240102 +:1014CC00B3149B00930AD0C0B38AAA406FF05FF3A9 +:1014DC00EF10C03A130505026FF05FFC130485FD95 +:1014EC0033148B00930400006FF0DFFD3364A9000C +:1014FC00630404029304050013040900930AF07FAB +:10150C00130B30006FF01FF093040000930A0000DF +:10151C00130B10006FF01FEF93040000930AF07F81 +:10152C00130B20006FF01FEEB3677901638E070673 +:10153C006300090413050900EF104034930655FFAE +:10154C009307C00163CED7029307D001130785FF21 +:10155C00B387D7403319E900B3D7FB00B3E72701B2 +:10156C003397EB009306D0C03385A6406FF0DFEDC8 +:10157C0013850B00EF108030130505026FF01FFC74 +:10158C00930785FDB397FB00130700006FF09FFDD9 +:10159C00B367790163820702930709001305F07F93 +:1015AC00930630006FF09FEA13070000130500004C +:1015BC00930610006FF09FE9130700001305F07FEE +:1015CC00930620006FF09FE8B70F0100138FFFFF09 +:1015DC0093D6040113530701B3F4E4013377E70105 +:1015EC00B3089302B3059702B382E602338E580018 +:1015FC0093D80501B388C801B38E660263F4580012 +:10160C00B38EFE0113D90801B3F8E80193DF07018B +:10161C00B3F5E501B3F3E70193980801B388B8007B +:10162C00B3877602B3859302B3849F02338EF400A2 +:10163C0093D40501B384C401B386F60363F6F400B6 +:10164C00B7070100B386F60013DF0401B7090100E8 +:10165C00330FDF009386F9FFB3F4D400B3F5D50054 +:10166C0093570401939404013374D400B384B400ED +:10167C00B306870233099900338EE702B305830260 +:10168C003307F3023383C50193D50601B385650097 +:10169C0063F4C5013307370113D30501B709010002 +:1016AC00B302E3001387F9FFB3F5E500B3F6E600E8 +:1016BC003383830293950501B385D5003387770275 +:1016CC0033848F02338EFF023304E40093570301FB +:1016DC00338487006374E400330E3E01B7070100C6 +:1016EC009387F7FFB376F4003373F30093960601F8 +:1016FC00B38E2E01B3866600B3B49E00B386E601AA +:10170C00B3879600B38EBE00B3B5BE0033835700CB +:10171C00B30FB300B3B6E601B3B79700B3E7F60067 +:10172C001354040133335300B3B5BF00B3878700A0 +:10173C00B365B300B387B700B387C70113D77F0175 +:10174C0093979700B3E7E70013979E003367170151 +:10175C003337E00093DE7E0193969F003367D70109 +:10176C003367D7009396770063DA06109356170009 +:10177C001377170033E7E6009396F7013367D7002A +:10178C0093D717009305F83F635EB00E93767700FE +:10179C00638006029376F70013054000638AA60067 +:1017AC009306470033B7E600B387E70013870600BC +:1017BC009396770063DA0600B70600FF9386F6FF70 +:1017CC00B3F7D700930508409306E07F63CEB616B7 +:1017DC00935637001397D7013367D70093D7370049 +:1017EC00B70610009386F6FFB3F7D70093F6F57F94 +:1017FC00B70510809385F5FF93964601B3F7B700B4 +:10180C008320C102032481021316F601B3E7D7002B +:10181C00B3E6C70083244102032901028329C101D5 +:10182C00032A8101832A4101032B0101832BC1006F +:10183C001305070093850600130101036780000060 +:10184C0013860900930704001387040093060B000A +:10185C0093052000638AB60E93053000638CB60C9A +:10186C0093051000E390B6F29307000013070000F5 +:10187C006F00800813060A006FF09FFD1308050027 +:10188C006FF05FF0130510003305B540930680032D +:10189C00E3CCA6FC9306F00163C4A6061308E8414A +:1018AC00B3960701B355A70033170701B3E6B6008B +:1018BC003337E00033E7E600B3D7A7009376770021 +:1018CC00638006029376F70093054000638AB600A6 +:1018DC009306470033B7E600B387E700138706008B +:1018EC009396870063CA06069396D7011357370061 +:1018FC0033E7E60093D73700930500006FF05FEEF7 +:10190C00930610FEB386B64093080002B3D6D700F8 +:10191C0093050000630615011308E843B39507010E +:10192C0033E7E5003337E00033E7E60093070000C8 +:10193C006FF0DFF8B7070800130700009305F07F7E +:10194C00130600006FF0DFE9930700001307000097 +:10195C009305F07F6FF0DFE893070000130700009A +:10196C00930510006FF0DFE7130101FE232A9100AD +:10197C002326310193547501B709800023282101D6 +:10198C00232441019389F9FF232E1100232C81007C +:10199C002322510193F4F40F138A0500B3F9A90023 +:1019AC001359F501638804089307F00F6384F40A54 +:1019BC0093993900B7070004B3E9F900938414F83C +:1019CC00930A000013557A01370480001304F4FFC6 +:1019DC001375F50F33744401135AFA01630C05089F +:1019EC009307F00F6308F50A13143400B7070004CB +:1019FC003364F400130515F89307000093962A003E +:101A0C00B3E6F6009386F6FF1307E0003346490170 +:101A1C003385A4406360D70A9715000093858550E1 +:101A2C0093962600B386B60003A706003307B700CB +:101A3C0067000700638A090213850900EF00106430 +:101A4C009307B5FF9304A0F8B399F900B384A440AD +:101A5C006FF01FF79304F00F930A2000E38409F64C +:101A6C00930A30006FF01FF693040000930A1000E5 +:101A7C006FF05FF5630A040213050400EF001060B9 +:101A8C009307B5FF3314F4009307A0F83385A740F0 +:101A9C006FF09FF61305F00F93072000E30004F698 +:101AAC00930730006FF09FF51305000093071000AB +:101ABC006FF0DFF41318540063F6890E1305F5FF6D +:101ACC00930600001354080133D38902B7070100B1 +:101ADC009387F7FFB377F80093D6060133F78902A3 +:101AEC0093050300B38867021317070133E7E60079 +:101AFC00637E1701330707019305F3FF6368070142 +:101B0C00637617019305E3FF33070701330717418A +:101B1C00B358870233778702B386170393170701ED +:101B2C001387080063FED700B38707011387F8FFFC +:101B3C0063E8070163F6D7001387E8FFB387070153 +:101B4C0013940501B387D7403364E400B337F00036 +:101B5C003364F4001307F5076350E00A93777400BD +:101B6C00638A07009377F400930640006384D700E0 +:101B7C00130444009317440063DA0700B70700F816 +:101B8C009387F7FF3374F400130705089307E00FEE +:101B9C001354340063D2E70C130400001307F00F46 +:101BAC006F00800B9396F90193D919006FF09FF198 +:101BBC00130609001384090093870A0013072000F9 +:101BCC00E38CE7FC130730006382E708130710006F +:101BDC00E392E7F813040000130700006F00C0073E +:101BEC0013060A006FF09FFD370440001306000037 +:101BFC00930730006FF09FFC93071000B387E7400A +:101C0C001307B001E348F7FC1305E509B357F400DB +:101C1C003314A4003334800033E4870093777400CA +:101C2C00638A07009377F400130740006384E7008E +:101C3C00130444009317540013543400E3DE07F8E4 +:101C4C0013040000130710006F000001370440005C +:101C5C001307F00F13060000370580001305F5FF7E +:101C6C003374A400370580801305F5FF1377F70F45 +:101C7C003374A400131777013364E4001315F601D1 +:101C8C003365A4008320C101032481018324410115 +:101C9C00032901018329C100032A8100832A410001 +:101CAC001301010267800000130101FE232A910039 +:101CBC0023282101B7048000135975012326310113 +:101CCC00232251019384F4FF232E1100232C810035 +:101CDC00232441011379F90F938A0500B3F4A4006E +:101CEC009359F501630A09089307F00F6306F90A83 +:101CFC0093943400B7070004B3E4F400130919F803 +:101D0C00130A000013D57A01370480001304F4FF82 +:101D1C001375F50F3374540193DAFA01630E050849 +:101D2C009307F00F630AF50A13143400B707000485 +:101D3C003364F400130515F89306000093172A007A +:101D4C00B3E7D7003305A9009387F7FF1307E0002B +:101D5C0033C65901130815006360F70A1717000002 +:101D6C001307072093972700B387E70083A7070083 +:101D7C00B387E70067800700638A040213850400B9 +:101D8C00EF00D02F9307B5FF1309A0F8B394F4001C +:101D9C003309A9406FF0DFF61309F00F130A200086 +:101DAC00E38204F6130A30006FF0DFF5130900002C +:101DBC00130A10006FF01FF5630A040213050400E8 +:101DCC00EF00D02B9307B5FF3314F4009307A0F862 +:101DDC003385A7406FF05FF61305F00F93062000D4 +:101DEC00E30E04F4930630006FF05FF5130500006A +:101DFC00930610006FF09FF4B70701001383F7FFF1 +:101E0C0013D7040193560401B3F4640033746400D3 +:101E1C00B3888402B30587023304D702B3869602D3 +:101E2C0093D40801B386B600B384D40063F4B40031 +:101E3C003304F400B3F7640093970701B3F8680018 +:101E4C00B38717011397670093D404013337E0006D +:101E5C0093D7A70133848400B367F700131464008D +:101E6C003364F4009317440063DE070C935714009B +:101E7C001374140033E487001307F8076358E00C5D +:101E8C0093777400638A07009377F40093064000FD +:101E9C006384D700130444009317440063DA0700EB +:101EAC00B70700F89387F7FF3374F400130708089B +:101EBC009307E00F63CCE70E935734006F000003D9 +:101ECC00138609001384040093060A00930720006C +:101EDC00638EF60C930730006382F60C93051000AA +:101EEC009307000013070000E398B6F8370480004E +:101EFC001304F4FF37058080B3F787001305F5FF53 +:101F0C008320C101032481011377F70FB3F7A700D6 +:101F1C00131777011315F601B3E7E700832441018A +:101F2C00032901018329C100032A8100832A41006E +:101F3C0033E5A700130101026780000013860A0035 +:101F4C006FF0DFF8130805006FF01FF39307100014 +:101F5C00B387E7401307B0016340F7061308E8099D +:101F6C00B357F400331404013334800033E4870096 +:101F7C0093777400638A07009377F400130740008B +:101F8C006384E700130444009317540063CA0702E8 +:101F9C0093573400130700006FF05FF5B70740004C +:101FAC001307F00F130600006FF05FF493070000A7 +:101FBC001307F00F6FF09FF3930700006FF09FFD76 +:101FCC0093070000130710006FF05FF2B707800053 +:101FDC009387F7FF130101FF33F7A70093567501A1 +:101FEC0013D67501B3F7B7002322910023202101EA +:101FFC0093F6F60F131837001376F60F23261100FD +:10200C00232481001307F00F9354F5011389060064 +:10201C001305060093D5F501939737006314E6007A +:10202C006394070093C515003387C640639A951ACD +:10203C006356E00A63160606639C07009307F00FCD +:10204C00638CF60493070800138506006F00C01418 +:10205C001307F7FF631E0702B387070113850600FA +:10206C0013975700635A0712130515001307F00F47 +:10207C00630EE5323707007E93F617001307F7FF60 +:10208C0093D71700B3F7E700B3E7D7006F00C01082 +:10209C001306F00F639EC600930708006F004007FD +:1020AC001306F00FE38AC6FE37060004B3E7C70039 +:1020BC001306B0016356E600930710006FF0DFF9CA +:1020CC00130600023306E640B3D5E700B397C7000A +:1020DC00B337F000B3E7F5006FF01FF863000708A3 +:1020EC00639C0602631808001307F00F6316E60AD8 +:1020FC006F0000029306F0FF6316D700B387070149 +:10210C006FF01FF69306F00F1347F7FF6310D6021C +:10211C001305F00F6F0040089306F00FE30AD6FE8C +:10212C00B70600043307E0403368D8009306B001CB +:10213C0063D6E600130710006F00C001930600027F +:10214C003356E8003387E6403317E8003337E000B6 +:10215C003367E600B387E7006FF09FF01385160036 +:10216C001376F50F130710006342C7066394060439 +:10217C00130500006302080263860722B387070178 +:10218C0013975700635A0700370700FC1307F7FF34 +:10219C00B3F7E7001305100013F77700630A072065 +:1021AC0013F7F700930640006304D720938747008A +:1021BC006F000020E30E08F4E38007EEB70700027F +:1021CC001305F00F930400006F00801E1307F00F2F +:1021DC00630EE51C3307F800935717006FF0DFFB15 +:1021EC006350E00863160604E38A07E41307F7FF5D +:1021FC0063140702B307F8401385060013975700C2 +:10220C00E35C07F8370400041304F4FF33F487008D +:10221C00130905006F0080131306F00FE38EC6E65A +:10222C001306B0016350E602930710006FF09FFC99 +:10223C001306F00FE382C6E637060004B3E7C700C7 +:10224C006FF01FFE13060002B3D5E7003307E6401C +:10225C00B397E700B337F000B3E7F5006FF09FF9E1 +:10226C0063020708639E0602631808001307F00F49 +:10227C00938405006FF09FE79306F0FF6318D70077 +:10228C00B3870741938405006FF05FF79306F00F57 +:10229C001347F7FF6310D602938405006FF05FE7D6 +:1022AC009306F00FE30AD6FEB70600043307E040AE +:1022BC003368D8009306B00163D6E600130710000C +:1022CC006F00C001930600023356E8003387E640E6 +:1022DC003317E8003337E0003367E600B387E74095 +:1022EC006FF05FFA138716001377F70F13061000C1 +:1022FC006344E604639C06026318080063980712A3 +:10230C00130500006FF01FEC638607123307F840CB +:10231C0093165700B387074163CA0610930707004B +:10232C0063100706930700006FF09FFDE31608E8A3 +:10233C00E39407F66FF09FE83304F840131754004A +:10234C006354070433840741938405001305040088 +:10235C00EF00C0521305B5FF3314A400634A2503E4 +:10236C00330525411305150013070002B357A400CC +:10237C003305A7403314A40033348000B3E787003F +:10238C00130500006FF05FE1E30E04F86FF01FFC23 +:10239C00B70700FC9387F7FF3305A940B377F40028 +:1023AC006FF09FDF930708006FF01FDF93070000AB +:1023BC0013975700635E0700130515001307F00F02 +:1023CC00630EE506370700FC1307F7FFB3F7E700CA +:1023DC001307F00F93D737006318E50063860700E7 +:1023EC00B707400093040000370780001307F7FF7E +:1023FC001375F50FB3F7E7001317750137058080D8 +:10240C008320C100032481001305F5FF33F5A700D9 +:10241C009394F4013365E5003365950003290100BD +:10242C00832441001301010167800000938405009F +:10243C006FF01FF5930708006FF09FF493070000EF +:10244C006FF01FF937068000135775019307F6FFDD +:10245C001377F70F9305E007B3F7A7009356F50131 +:10246C0063F6E5049305D00963FAE50037050080AF +:10247C001345F5FF3385A6006780000033E5C700E0 +:10248C009307500963DCE7001307A7F63315E50043 +:10249C00638006023305A040678000009307600943 +:1024AC003387E7403355E5006FF09FFE13050000BE +:1024BC0067800000130101FF2326110023248100F3 +:1024CC002322910063020510130405009354F501B7 +:1024DC00635405003304A04013050400EF00003AD8 +:1024EC009307E009B387A740130760096340F70619 +:1024FC00130780006356A700130585FF3314A4004F +:10250C00370580001305F5FF93F7F70F3374A4001C +:10251C0013957701B70780809387F7FF3374F40026 +:10252C00B70700803364A40093C7F7FF1395F40139 +:10253C003374F4003365A4008320C10003248100AC +:10254C0083244100130101016780000013079009E7 +:10255C006350F702130750003307A7409306B501E9 +:10256C003357E4003314D4003334800033648700D1 +:10257C00130750006356A7001307B5FF3314E4008C +:10258C00370700FC1307F7FF937674003377E400EA +:10259C00638A06001374F400930640006304D400AD +:1025AC00130747009316570063DC0600B70700FCBF +:1025BC009387F7FF3377F7009307F009B387A740AA +:1025CC00135437006FF0DFF313040000930700007F +:1025DC00930400006FF0DFF293577501130101FFB4 +:1025EC0093F7F70F2324810013871700370480001B +:1025FC00232291001304F4FF232611001377F70F05 +:10260C00930610003374A4009354F50163D2E606CC +:10261C0013850738935734001314D401370710006F +:10262C001307F7FFB3F7E700370710801307F7FF1F +:10263C001375F57F13154501B3F7E70037070080D5 +:10264C00B3E7A7001347F7FF1395F401B3F7E700BF +:10265C0033E7A7008320C100130504000324810085 +:10266C0083244100930507001301010167800000DA +:10267C00639407046302040613050400EF000020B2 +:10268C009307A00063C2A7029307B000B387A740CB +:10269C0013075501B357F4003314E40013079038B3 +:1026AC003305A7406FF09FF7930755FFB317F4005E +:1026BC00130400006FF09FFE93070000630A0400F0 +:1026CC0093573400370708001314D401B3E7E7001D +:1026DC001305F07F6FF09FF49307000013050000C3 +:1026EC006FF0DFF3370610001306F6FF3376B600F3 +:1026FC0013D845019357D5011378F87F131636007C +:10270C0033E6C7009307180093F7F77F9306100082 +:10271C0093D5F5011317350063D6F60A930608C84E +:10272C009307E00F63C2D70C6340D008930790FE69 +:10273C0063C4F612B70780001305E0013366F60098 +:10274C003305D5409307F00163C8A702130828C8C6 +:10275C00B3170701B337F000331606013355A70042 +:10276C00B3E7C700B367F5009306000013F77700D3 +:10277C00630007086F00C00E9307E0FFB386D740D5 +:10278C0093070002B356D600930800006306F500C9 +:10279C00130828CAB3180601B3E7E800B337F000F2 +:1027AC00B3E7F6006FF05FFC131565003335A0003E +:1027BC00131636009357D7013366C500B367F6007E +:1027CC006FF0DFFAB367E60063160800B337F0006A +:1027DC006FF09FF99306F00F638C07001316360009 +:1027EC00B70700026FF09FFD930700009306F00FF0 +:1027FC0013975700635E0700938616001307F00FBC +:10280C00638AE606370700FC1307F7FFB3F7E70008 +:10281C001307F00F93D737006398E6006386070021 +:10282C00B707400093050000370580001305F5FF3E +:10283C00B3F7A700370580801305F5FF93F6F60F65 +:10284C0093967601B3F7A7009395F501B3E7D700FC +:10285C0033E5B70067800000930710009306000073 +:10286C0013F7F70013064000E304C7F893874700FB +:10287C006FF01FF8930700006FF09FF9B707010086 +:10288C00637AF5029307F00FB3B7A700939737005D +:10289C00130700023307F740B357F5001705000084 +:1028AC001305C56FB307F50003C507003305A74033 +:1028BC00678000003707000193070001E36AE5FC1D +:0828CC00930780016FF0DFFCAF +:1028D400411106C6EFD05F94B240B70710F023A0B1 +:0828E40007F201454101828069 +:1028EC004448525953544F4E452050524F47524131 +:1028FC004D2C20534F4D4520535452494E47000008 +:10290C004468727973746F6E652042656E63686D8E +:10291C0061726B2C2056657273696F6E20322E318A +:10292C0020284C616E67756167653A204329000069 +:10293C0050726F6772616D20636F6D70696C656446 +:10294C0020776974682027726567697374657227CC +:10295C0020617474726962757465000050726F67DF +:10296C0072616D20636F6D70696C6564207769743A +:10297C00686F757420277265676973746572272098 +:10298C00617474726962757465000000506C6561E5 +:10299C007365206769766520746865206E756D6255 +:1029AC006572206F662072756E73207468726F7515 +:1029BC006768207468652062656E63686D61726B10 +:1029CC003A200000457865637574696F6E207374E6 +:1029DC00617274732C2025642072756E7320746878 +:1029EC00726F756768204468727973746F6E650ACC +:1029FC0000000000457865637574696F6E20656E24 +:102A0C006473000046696E616C2076616C75657349 +:102A1C00206F6620746865207661726961626C65EE +:102A2C0073207573656420696E2074686520626517 +:102A3C006E63686D61726B3A00000000496E745FE2 +:102A4C00476C6F623A20202020202020202020205C +:102A5C002025640A000000002020202020202020B7 +:102A6C0073686F756C642062653A20202025640AB7 +:102A7C0000000000426F6F6C5F476C6F623A202061 +:102A8C0020202020202020202025640A0000000087 +:102A9C0043685F315F476C6F623A20202020202012 +:102AAC00202020202025630A000000002020202068 +:102ABC002020202073686F756C642062653A20209A +:102ACC002025630A0000000043685F325F476C6F8B +:102ADC00623A202020202020202020202025630A5C +:102AEC00000000004172725F315F476C6F625B38AF +:102AFC005D3A2020202020202025640A00000000C0 +:102B0C004172725F325F476C6F625B385D5B375D41 +:102B1C003A2020202025640A0000000020202020DC +:102B2C002020202073686F756C642062653A202029 +:102B3C00204E756D6265725F4F665F52756E7320C5 +:102B4C002B203130000000005074725F476C6F62B4 +:102B5C002D3E000020205074725F436F6D703A2040 +:102B6C0020202020202020202025640A00000000A6 +:102B7C00202020202020202073686F756C64206238 +:102B8C00653A20202028696D706C656D656E7461E6 +:102B9C0074696F6E2D646570656E64656E74290062 +:102BAC00202044697363723A2020202020202020AA +:102BBC00202020202025640A000000002020456EE3 +:102BCC00756D5F436F6D703A2020202020202020EF +:102BDC002025640A000000002020496E745F436FBA +:102BEC006D703A2020202020202020202025640AEF +:102BFC000000000020205374725F436F6D703A2008 +:102C0C0020202020202020202025730A00000000F6 +:102C1C00202020202020202073686F756C64206297 +:102C2C00653A2020204448525953544F4E45205069 +:102C3C00524F4752414D2C20534F4D452053545227 +:102C4C00494E47004E6578745F5074725F476C6FE5 +:102C5C00622D3E00202020202020202073686F75DC +:102C6C006C642062653A20202028696D706C656D5B +:102C7C00656E746174696F6E2D646570656E6465E4 +:102C8C006E74292C2073616D652061732061626FF5 +:102C9C0076650000496E745F315F4C6F633A20209B +:102CAC0020202020202020202025640A0000000065 +:102CBC00496E745F325F4C6F633A202020202020D5 +:102CCC00202020202025640A00000000496E745F3B +:102CDC00335F4C6F633A20202020202020202020BE +:102CEC002025640A00000000456E756D5F4C6F6313 +:102CFC003A20202020202020202020202025640A7B +:102D0C00000000005374725F315F4C6F633A2020F7 +:102D1C0020202020202020202025730A00000000E5 +:102D2C00202020202020202073686F756C64206286 +:102D3C00653A2020204448525953544F4E45205058 +:102D4C00524F4752414D2C2031275354205354524B +:102D5C00494E47005374725F325F4C6F633A2020C8 +:102D6C0020202020202020202025730A0000000095 +:102D7C00202020202020202073686F756C64206236 +:102D8C00653A2020204448525953544F4E45205008 +:102D9C00524F4752414D2C2032274E44205354520F +:102DAC00494E47004D656173757265642074696D99 +:102DBC006520746F6F20736D616C6C20746F206F65 +:102DCC00627461696E206D65616E696E6766756CA3 +:102DDC0020726573756C747300000000506C656133 +:102DEC00736520696E637265617365206E756D62C3 +:102DFC006572206F662072756E730000436C6F6392 +:102E0C006B206379636C65733D2564200A000000B8 +:102E1C00444D49505320706572204D687A3A2020F9 +:102E2C002020202020202020202020202020202096 +:102E3C002020202020202020202020200000000006 +:102E4C0025642E00256400004448525953544F4EBB +:102E5C00452050524F4752414D2C2031275354207E +:102E6C00535452494E4700004448525953544F4E04 +:102E7C00452050524F4752414D2C2032274E442072 +:102E8C00535452494E4700004448525953544F4EE4 +:102E9C00452050524F4752414D2C2033275244204D +:102EAC00535452494E470000C4E4FFFFD8E3FFFFE0 +:102EBC00E4E3FFFFD8E3FFFFB0E4FFFFD8E3FFFF3D +:102ECC00E4E3FFFFC4E4FFFFC4E4FFFFB0E4FFFF53 +:102EDC00E4E3FFFFB0E3FFFFB0E3FFFFB0E3FFFF6E +:102EEC00ECE3FFFF6CE9FFFF6CE9FFFF90E9FFFFEC +:102EFC0060E9FFFF60E9FFFF50EAFFFF90E9FFFF89 +:102F0C0060E9FFFF50EAFFFF60E9FFFF90E9FFFF78 +:102F1C005CE9FFFF5CE9FFFF5CE9FFFF50EAFFFFA4 +:102F2C0078ECFFFFB4ECFFFFC0ECFFFFB4ECFFFF4D +:102F3C002CEDFFFFB4ECFFFFC0ECFFFF78ECFFFFC4 +:102F4C0078ECFFFF2CEDFFFFC0ECFFFF90ECFFFFD8 +:102F5C0090ECFFFF90ECFFFFC8ECFFFF70EFFFFF62 +:102F6C0070EFFFFFE0EFFFFF68EFFFFF68EFFFFF81 +:102F7C0040F0FFFFE0EFFFFF68EFFFFF40F0FFFFC7 +:102F8C0068EFFFFFE0EFFFFF64EFFFFF64EFFFFF71 +:102F9C0064EFFFFF40F0FFFF000102020303030395 +:102FAC0004040404040404040505050505050505CD +:102FBC0005050505050505050606060606060606AD +:102FCC000606060606060606060606060606060695 +:102FDC00060606060606060607070707070707077D +:102FEC000707070707070707070707070707070765 +:102FFC000707070707070707070707070707070755 +:10300C000707070707070707070707070707070744 +:10301C00070707070707070708080808080808082C +:10302C000808080808080808080808080808080814 +:10303C000808080808080808080808080808080804 +:10304C0008080808080808080808080808080808F4 +:10305C0008080808080808080808080808080808E4 +:10306C0008080808080808080808080808080808D4 +:10307C0008080808080808080808080808080808C4 +:10308C0008080808080808080808080808080808B4 +:08309C000808080808080808EC +:1030A8000000000080842E41000000205FA0124232 +:0C30B800F90295503353DE470000C84277 +:040000058000000077 +:00000001FF