diff --git a/dev/sim/verilator/readme.md b/dev/sim/verilator/readme.md index 55b46c1..adc5478 100644 --- a/dev/sim/verilator/readme.md +++ b/dev/sim/verilator/readme.md @@ -45,6 +45,60 @@ obj_dir_$mod/V$mod | tee sim_soc.txt vcd2fst a2olitex.vcd soc.fst rm a2olitex.vcd gtkwave soc.fst soc.gtkw + +time obj_dir_$mod/V$mod > sim_soc_notrace.txt + +real 1m3.318s +user 0m58.941s +sys 0m3.368s +``` + +* notrace - faster execution? + +``` +dir=obj_dir_${mod}_notrace +verilator -cc --exe -CFLAGS -DNO_TRACE=1 --Mdir $dir --language 1364-2001 -Wno-fatal -Wno-LITENDIAN --error-limit 1 -I$. -Iverilog/a2o_litex -Iverilog/work -Iverilog/trilib -Iverilog/unisims -Iverilog/unisims_soc $mod tb_litex_$mod.cpp |& tee verilator_$mod.txt +make -j6 -C $dir -f V$mod.mk V$mod + +time $dir/V$mod > sim_soc_notrace.txt + +real 0m19.814s +user 0m19.577s +sys 0m0.188s +``` + + that is ~1.25KHz clk (25K cycs/20s). + +* -O3 + notrace + +``` +dir=obj_dir_${mod}_notrace_o3 +verilator -cc --exe -O3 -CFLAGS -DNO_TRACE=1 --Mdir $dir --language 1364-2001 -Wno-fatal -Wno-LITENDIAN --error-limit 1 -I$. -Iverilog/a2o_litex -Iverilog/work -Iverilog/trilib -Iverilog/unisims -Iverilog/unisims_soc $mod tb_litex_$mod.cpp |& tee verilator_$mod.txt +make -j6 -C $dir -f V$mod.mk V$mod +$dir/V$mod | tee sim_soc_o3.txt + +time $dir/V$mod > sim_soc_notrace_o3.txt + +real 0m23.279s +user 0m22.916s +sys 0m0.260s + +``` + +* -O3 -O3 + notrace + +``` +dir=obj_dir_${mod}_notrace_o3_o3 +verilator -cc --exe -O3 -CFLAGS -O3 -CFLAGS -DNO_TRACE=1 --Mdir $dir --language 1364-2001 -Wno-fatal -Wno-LITENDIAN --error-limit 1 -I$. -Iverilog/a2o_litex -Iverilog/work -Iverilog/trilib -Iverilog/unisims -Iverilog/unisims_soc $mod tb_litex_$mod.cpp |& tee verilator_$mod.txt +make -j6 -C $dir -f V$mod.mk V$mod +$dir/V$mod | tee sim_soc_o3_o3.txt + +time $dir/V$mod > sim_soc_notrace_o3_o3.txt + +real 0m23.244s +user 0m22.963s +sys 0m0.192s + ``` ##### first try diff --git a/dev/sim/verilator/tb_litex_soc.cpp b/dev/sim/verilator/tb_litex_soc.cpp index 8cc0265..064672f 100644 --- a/dev/sim/verilator/tb_litex_soc.cpp +++ b/dev/sim/verilator/tb_litex_soc.cpp @@ -1,7 +1,9 @@ // simple verilator top // litex soc w/a2o +#ifndef NO_TRACE #define TRACING +#endif // old public access method //#define OLD_PUBLIC diff --git a/dev/src/test3_smt/arcitst.h b/dev/src/test3_smt/arcitst.h new file mode 100755 index 0000000..6e95460 --- /dev/null +++ b/dev/src/test3_smt/arcitst.h @@ -0,0 +1,297 @@ +# asmtst.tpl +# powerpc-linux-gnu-as -c arcitst.s + +.include "defines.s" + +# ------------------------------------------------------------------------------------------------- +# c-accessible + +.global init_tst +.global tst_start +.global tst_end +.global tst_inits +.global tst_results +.global tst_expects + +# ------------------------------------------------------------------------------------------------- +tst_misc: + +tst_info: .asciz "info text" +tst_header: .asciz "header text" + +.set SAVESPR,sprg3 +.set MAGIC,0x8675309 + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_inits: + +init_r0: .int 0x5EA9536C +init_r1: .int 0x07EC9BA7 +init_r2: .int 0xFFFFFFFF +init_r3: .int 0x18FAD811 +init_r4: .int 0xFFFFFFFF +init_r5: .int 0xFFFFFFFF +init_r6: .int 0xFFFFFFFF +init_r7: .int 0xFFFFFFFF +init_r8: .int 0xFFFFFFFF +init_r9: .int 0xFFFFFFFF +init_r10: .int 0xB186394A +init_r11: .int 0x07EC9BA7 +init_r12: .int 0xFFFFFFFF +init_r13: .int 0xFC9D07CE +init_r14: .int 0x7305868F +init_r15: .int 0xFFFFFFFF +init_r16: .int 0xFFFFFFFF +init_r17: .int 0x6E078D56 +init_r18: .int 0xFFFFFFFF +init_r19: .int 0xFFFFFFFF +init_r20: .int 0x0F8F2BB1 +init_r21: .int 0xFFFFFFFF +init_r22: .int 0xFFFFFFFF +init_r23: .int 0x9E47F6C0 +init_r24: .int 0x46B0FC81 +init_r25: .int 0xFFFFFFFF +init_r26: .int 0xFFFFFFFF +init_r27: .int 0x48026438 +init_r28: .int 0xEFB046E4 +init_r29: .int 0x4B5CBE25 +init_r30: .int 0xFFFFFFFF +init_r31: .int 0xFFFFFFFF + +init_cr: .int 0xB0215BC8 +init_xer: .int 0xBFC0004B +init_ctr: .int 0xF7DA2C8A +init_lr: .int 0x8BC7C22B +init_tar: .int 0xFFFFFFFF +init_msr: .int 0x00001081 + +init_iar: .int 0x00010000 + +save_r1: .int 0 + +codelen: .int 13 +ops: .int 0x36E86A7F,0x10748A7F,0x71AE9D7E,0x1C865B55,0xF45EAA7D,0x2000154D,0x50E01B7C,0x4933037B,0x00082B7D,0x36B8317C,0x00000060,0x00000060,0x00000060 +iars: .int 0x00010000,0x00010004,0x00010008,0x0001000C,0x00010010,0x00010014,0x00010018,0x0001001C,0x00010020,0x00010024,0x00010028,0x0001002C,0x00010030 + +# ------------------------------------------------------------------------------------------------- +# r3=@tst_inits +.align 5 +init_tst: + +# save c stuff + stw r1,(save_r1-tst_inits)(r3) + +# copy ops +opcopy: + lwz r1,(codelen-tst_inits)(r3) + mtctr r1 +opcopy_loop: + la r1,(cops-tst_inits)(r3) + la r2,(iars-tst_inits)(r3) + stw r1,0(r2) + addi r2,r2,4 + bdnz opcopy_loop + +# init test regs +init_regs: + lwz r1,(init_cr-tst_inits)(r3) + mtcr r1 + lwz r1,(init_xer-tst_inits)(r3) + mtxer r1 + lwz r1,(init_ctr-tst_inits)(r3) + mtctr r1 + lwz r1,(init_lr-tst_inits)(r3) + mtlr r1 + lwz r1,(init_tar-tst_inits)(r3) + mtspr tar,r1 + + lwz r0,(init_r0-tst_inits)(r3) + lwz r1,(init_r1-tst_inits)(r3) + lwz r2,(init_r2-tst_inits)(r3) + lwz r4,(init_r4-tst_inits)(r3) + lwz r5,(init_r5-tst_inits)(r3) + lwz r6,(init_r6-tst_inits)(r3) + lwz r7,(init_r7-tst_inits)(r3) + lwz r8,(init_r8-tst_inits)(r3) + lwz r9,(init_r9-tst_inits)(r3) + lwz r10,(init_r10-tst_inits)(r3) + lwz r11,(init_r11-tst_inits)(r3) + lwz r12,(init_r12-tst_inits)(r3) + lwz r13,(init_r13-tst_inits)(r3) + lwz r14,(init_r14-tst_inits)(r3) + lwz r15,(init_r15-tst_inits)(r3) + lwz r16,(init_r16-tst_inits)(r3) + lwz r17,(init_r17-tst_inits)(r3) + lwz r18,(init_r18-tst_inits)(r3) + lwz r19,(init_r19-tst_inits)(r3) + lwz r20,(init_r20-tst_inits)(r3) + lwz r21,(init_r21-tst_inits)(r3) + lwz r22,(init_r22-tst_inits)(r3) + lwz r23,(init_r23-tst_inits)(r3) + lwz r24,(init_r24-tst_inits)(r3) + lwz r25,(init_r25-tst_inits)(r3) + lwz r26,(init_r26-tst_inits)(r3) + lwz r27,(init_r27-tst_inits)(r3) + lwz r28,(init_r28-tst_inits)(r3) + lwz r29,(init_r29-tst_inits)(r3) + lwz r30,(init_r30-tst_inits)(r3) + lwz r31,(init_r31-tst_inits)(r3) + lwz r3,(init_r3-tst_inits)(r3) + +jmp2tst: rfi + +# needs to be inserted into epilogue of tst! +#tst_end: +# b save_results + +# ------------------------------------------------------------------------------------------------- +.align 5 +save_results: +# use a designated spr to save (sprgx, ...) + mtspr SAVESPR,r1 + lis r1,tst_results@h + ori r1,r1,tst_results@l + stw r0,(rslt_r0-tst_results)(r1) + stw r2,(rslt_r2-tst_results)(r1) + stw r3,(rslt_r3-tst_results)(r1) + stw r4,(rslt_r4-tst_results)(r1) + stw r5,(rslt_r5-tst_results)(r1) + stw r6,(rslt_r6-tst_results)(r1) + stw r7,(rslt_r7-tst_results)(r1) + stw r8,(rslt_r8-tst_results)(r1) + stw r9,(rslt_r9-tst_results)(r1) + stw r10,(rslt_r10-tst_results)(r1) + stw r11,(rslt_r11-tst_results)(r1) + stw r12,(rslt_r12-tst_results)(r1) + stw r13,(rslt_r13-tst_results)(r1) + stw r14,(rslt_r14-tst_results)(r1) + stw r15,(rslt_r15-tst_results)(r1) + stw r16,(rslt_r16-tst_results)(r1) + stw r17,(rslt_r17-tst_results)(r1) + stw r18,(rslt_r18-tst_results)(r1) + stw r19,(rslt_r19-tst_results)(r1) + stw r20,(rslt_r20-tst_results)(r1) + stw r21,(rslt_r21-tst_results)(r1) + stw r22,(rslt_r22-tst_results)(r1) + stw r23,(rslt_r23-tst_results)(r1) + stw r24,(rslt_r24-tst_results)(r1) + stw r25,(rslt_r25-tst_results)(r1) + stw r26,(rslt_r26-tst_results)(r1) + stw r27,(rslt_r27-tst_results)(r1) + stw r28,(rslt_r28-tst_results)(r1) + stw r29,(rslt_r29-tst_results)(r1) + stw r30,(rslt_r30-tst_results)(r1) + stw r31,(rslt_r31-tst_results)(r1) + mfspr r2,SAVESPR + stw r2,(rslt_r1-tst_results)(r1) + mfcr r2 + stw r2,(rslt_cr-tst_results)(r1) + mfxer r2 + stw r2,(rslt_xer-tst_results)(r1) + mfctr r2 + stw r2,(rslt_ctr-tst_results)(r1) + mflr r2 + stw r2,(rslt_lr-tst_results)(r1) + mfspr r2,tar + stw r2,(rslt_tar-tst_results)(r1) + +tst_cleanup: +# restore c stuff + lis r3,tst_inits@h + ori r3,r3,tst_inits@l + lwz r1,(save_r1-tst_inits)(r3) + lis r3,MAGIC@h + ori r3,r3,MAGIC@l + + b tst_done + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_results: + +rslt_r0: .int 0xFFFFFFFF +rslt_r1: .int 0xFFFFFFFF +rslt_r2: .int 0xFFFFFFFF +rslt_r3: .int 0xFFFFFFFF +rslt_r4: .int 0xFFFFFFFF +rslt_r5: .int 0xFFFFFFFF +rslt_r6: .int 0xFFFFFFFF +rslt_r7: .int 0xFFFFFFFF +rslt_r8: .int 0xFFFFFFFF +rslt_r9: .int 0xFFFFFFFF +rslt_r10: .int 0xFFFFFFFF +rslt_r11: .int 0xFFFFFFFF +rslt_r12: .int 0xFFFFFFFF +rslt_r13: .int 0xFFFFFFFF +rslt_r14: .int 0xFFFFFFFF +rslt_r15: .int 0xFFFFFFFF +rslt_r16: .int 0xFFFFFFFF +rslt_r17: .int 0xFFFFFFFF +rslt_r18: .int 0xFFFFFFFF +rslt_r19: .int 0xFFFFFFFF +rslt_r20: .int 0xFFFFFFFF +rslt_r21: .int 0xFFFFFFFF +rslt_r22: .int 0xFFFFFFFF +rslt_r23: .int 0xFFFFFFFF +rslt_r24: .int 0xFFFFFFFF +rslt_r25: .int 0xFFFFFFFF +rslt_r26: .int 0xFFFFFFFF +rslt_r27: .int 0xFFFFFFFF +rslt_r28: .int 0xFFFFFFFF +rslt_r29: .int 0xFFFFFFFF +rslt_r30: .int 0xFFFFFFFF +rslt_r31: .int 0xFFFFFFFF + +rslt_cr: .int 0xFFFFFFFF +rslt_xer: .int 0xFFFFFFFF +rslt_ctr: .int 0xFFFFFFFF +rslt_lr: .int 0xFFFFFFFF +rslt_tar: .int 0xFFFFFFFF + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_expects: + +expt_r0: .int 0x7305868F +expt_r1: .int 0x07EC9BA7 +expt_r2: .int 0xFFFFFFFF +expt_r3: .int 0xAC3F2040 +expt_r4: .int 0xFFFFFFFF +expt_r5: .int 0xFFFFFFFF +expt_r6: .int 0xFFFFFFFF +expt_r7: .int 0xFFFFFFFF +expt_r8: .int 0xFFFFFFFF +expt_r9: .int 0xFFFFFFFF +expt_r10: .int 0xE83E7000 +expt_r11: .int 0x07EC9BA7 +expt_r12: .int 0xFFFFFFFF +expt_r13: .int 0xFC9D07CE +expt_r14: .int 0x7305868F +expt_r15: .int 0xFFFFFFFF +expt_r16: .int 0xFFFFFFFF +expt_r17: .int 0x00000000 +expt_r18: .int 0xFFFFFFFF +expt_r19: .int 0xFFFFFFFF +expt_r20: .int 0x0F8F2BB1 +expt_r21: .int 0xFFFFFFFF +expt_r22: .int 0xFFFFFFFF +expt_r23: .int 0x9E47F6C0 +expt_r24: .int 0x46B0FC81 +expt_r25: .int 0xFFFFFFFF +expt_r26: .int 0xFFFFFFFF +expt_r27: .int 0x00000000 +expt_r28: .int 0x7305868F +expt_r29: .int 0x0000007C +expt_r30: .int 0xFFFFFFFF +expt_r31: .int 0xFFFFFFFF + +expt_cr: .int 0x90315BC8 +expt_xer: .int 0x82C0004B +expt_ctr: .int 0xF7DA2C89 +expt_lr: .int 0x8BC7C22B +expt_tar: .int 0xFFFFFFFF +expt_msr: .int 0x00001081 + +expt_iar: .int 0x00010038 + diff --git a/dev/src/test3_smt/arcitst.lst b/dev/src/test3_smt/arcitst.lst new file mode 100644 index 0000000..5a8a98d --- /dev/null +++ b/dev/src/test3_smt/arcitst.lst @@ -0,0 +1,492 @@ + 1 # asmtst.tpl + 2 + 3 .include "defines.s" + 1 # © IBM Corp. 2020 + 2 # Licensed under and subject to the terms of the CC-BY 4.0 + 3 # license (https://creativecommons.org/licenses/by/4.0/legalcode). + 4 # Additional rights, including the right to physically implement a softcore + 5 # that is compliant with the required sections of the Power ISA + 6 # Specification, will be available at no cost via the OpenPOWER Foundation. + 7 # This README will be updated with additional information when OpenPOWER's + 8 # license is available. + 9 + 10 #----------------------------------------- + 11 # Defines + 12 #----------------------------------------- + 13 + 14 # Regs + 15 + 16 .set r0, 0 + 17 .set r1, 1 + 18 .set r2, 2 + 19 .set r3, 3 + 20 .set r4, 4 + 21 .set r5, 5 + 22 .set r6, 6 + 23 .set r7, 7 + 24 .set r8, 8 + 25 .set r9, 9 + 26 .set r10,10 + 27 .set r11,11 + 28 .set r12,12 + 29 .set r13,13 + 30 .set r14,14 + 31 .set r15,15 + 32 .set r16,16 + 33 .set r17,17 + 34 .set r18,18 + 35 .set r19,19 + 36 .set r20,20 + 37 .set r21,21 + 38 .set r22,22 + 39 .set r23,23 + 40 .set r24,24 + 41 .set r25,25 + 42 .set r26,26 + 43 .set r27,27 + 44 .set r28,28 + 45 .set r29,29 + 46 .set r30,30 + 47 .set r31,31 + 48 + 49 .set f0, 0 + 50 .set f1, 1 + 51 .set f2, 2 + 52 .set f3, 3 + 53 .set f4, 4 + 54 .set f5, 5 + 55 .set f6, 6 + 56 .set f7, 7 + 57 .set f8, 8 + 58 .set f9, 9 + 59 .set f10,10 + 60 .set f11,11 + 61 .set f12,12 + 62 .set f13,13 + 63 .set f14,14 + 64 .set f15,15 + 65 .set f16,16 + 66 .set f17,17 + 67 .set f18,18 + 68 .set f19,19 + 69 .set f20,20 + 70 .set f21,21 + 71 .set f22,22 + 72 .set f23,23 + 73 .set f24,24 + 74 .set f25,25 + 75 .set f26,26 + 76 .set f27,27 + 77 .set f28,28 + 78 .set f29,29 + 79 .set f30,30 + 80 .set f31,31 + 81 + 82 .set cr0, 0 + 83 .set cr1, 1 + 84 .set cr2, 2 + 85 .set cr3, 3 + 86 .set cr4, 4 + 87 .set cr5, 5 + 88 .set cr6, 6 + 89 .set cr7, 7 + 90 + 91 # SPR numbers + 92 + 93 .set srr0, 26 + 94 .set srr1, 27 + 95 .set dar, 19 + 96 .set dsisr, 18 + 97 .set epcr, 307 + 98 .set tar, 815 + 99 + 100 .set dbsr, 304 + 101 .set dbcr0, 308 + 102 .set dbcr1, 309 + 103 .set dbcr2, 310 + 104 .set dbcr3, 848 + 105 + 106 .set ivpr, 63 + 107 + 108 .set iucr0, 1011 + 109 .set iucr1, 883 + 110 .set iucr2, 884 + 111 + 112 .set iudbg0, 888 + 113 .set iudbg1, 889 + 114 .set iudbg2, 890 + 115 .set iulfsr, 891 + 116 .set iullcr, 892 + 117 + 118 .set mmucr0, 1020 + 119 .set mmucr1, 1021 + 120 .set mmucr2, 1022 + 121 .set mmucr3, 1023 + 122 + 123 .set tb, 268 + 124 .set tbl, 284 + 125 .set tbh, 285 + 126 + 127 .set dec, 22 + 128 .set udec, 550 + 129 .set tsr, 336 + 130 .set tcr, 340 + 131 + 132 .set xucr0, 1014 + 133 .set xucr1, 851 + 134 .set xucr2, 1016 + 135 .set xucr3, 852 + 136 .set xucr4, 853 + 137 + 138 .set tens, 438 + 139 .set tenc, 439 + 140 .set tensr, 437 + 141 + 142 .set pid, 48 + 143 .set pir, 286 + 144 .set pvr, 287 + 145 .set tir, 446 + 146 + 147 #.set sprg0, + 148 #.set sprg1, + 149 #.set sprg2, + 150 .set sprg3, 259 + 4 + 5 # ------------------------------------------------------------------------------------------------- + 6 # c-accessible + 7 + 8 .global init_tst + 9 .global tst_start + 10 .global tst_end + 11 .global tst_inits + 12 .global tst_results + 13 .global tst_expects + 14 + 15 # ------------------------------------------------------------------------------------------------- + 16 tst_misc: + 17 + 18 0000 696E666F tst_info: .asciz "info text" + 18 20746578 + 18 7400 + 19 000a 68656164 tst_header: .asciz "header text" + 19 65722074 + 19 65787400 + 20 + 21 .set SAVESPR,tar + 22 .set MAGIC,0x8675309 + 23 + 24 # ------------------------------------------------------------------------------------------------- + 25 0016 00000000 .align 5 + 25 00000000 + 25 0000 + 26 tst_inits: + 27 + 28 0020 00000000 init_r0: .int 0x00000000 + 29 0024 5822C905 init_r1: .int 0x5822C905 + 30 0028 FFFFFFFF init_r2: .int 0xFFFFFFFF + 31 002c 91B6D1A3 init_r3: .int 0x91B6D1A3 + 32 0030 FFFFFFFF init_r4: .int 0xFFFFFFFF + 33 0034 FFFFFFFF init_r5: .int 0xFFFFFFFF + 34 0038 FFFFFFFF init_r6: .int 0xFFFFFFFF + 35 003c FFFFFFFF init_r7: .int 0xFFFFFFFF + 36 0040 FFFFFFFF init_r8: .int 0xFFFFFFFF + 37 0044 7E11EE88 init_r9: .int 0x7E11EE88 + 38 0048 FFFFFFFF init_r10: .int 0xFFFFFFFF + 39 004c 7FFFFFFF init_r11: .int 0x7FFFFFFF + 40 0050 FFFFFFFF init_r12: .int 0xFFFFFFFF + 41 0054 FFFFFFFF init_r13: .int 0xFFFFFFFF + 42 0058 8C20BDE6 init_r14: .int 0x8C20BDE6 + 43 005c FFFFFFFF init_r15: .int 0xFFFFFFFF + 44 0060 76D0DADF init_r16: .int 0x76D0DADF + 45 0064 15111F42 init_r17: .int 0x15111F42 + 46 0068 FFFFFFFF init_r18: .int 0xFFFFFFFF + 47 006c 36108E50 init_r19: .int 0x36108E50 + 48 0070 FFFFFFFF init_r20: .int 0xFFFFFFFF + 49 0074 FFFFFFFF init_r21: .int 0xFFFFFFFF + 50 0078 328A0CED init_r22: .int 0x328A0CED + 51 007c FFFFFFFF init_r23: .int 0xFFFFFFFF + 52 0080 FFFFFFFF init_r24: .int 0xFFFFFFFF + 53 0084 AF224C19 init_r25: .int 0xAF224C19 + 54 0088 FFFFFFFF init_r26: .int 0xFFFFFFFF + 55 008c FFFFFFFF init_r27: .int 0xFFFFFFFF + 56 0090 D624B27A init_r28: .int 0xD624B27A + 57 0094 FFFFFFFF init_r29: .int 0xFFFFFFFF + 58 0098 FFFFFFFF init_r30: .int 0xFFFFFFFF + 59 009c FFFFFFFF init_r31: .int 0xFFFFFFFF + 60 + 61 00a0 DBFD3628 init_cr: .int 0xDBFD3628 + 62 00a4 89F0006E init_xer: .int 0x89F0006E + 63 00a8 FFFFFFFF init_ctr: .int 0xFFFFFFFF + 64 00ac FFFFFFFF init_lr: .int 0xFFFFFFFF + 65 00b0 FFFFFFFF init_tar: .int 0xFFFFFFFF + 66 00b4 00001104 init_msr: .int 0x00001104 + 67 + 68 00b8 00010000 init_iar: .int 0x00010000 + 69 + 70 00bc 00000000 save_r1: .int 0 + 71 + 72 00c0 0000000D codelen: .int 13 + 73 00c4 7C61CC14 ops: .int 0x7C61CC14,0x7D230595,0x7AC37392,0x7E094C11,0x7E1CB115,0x7A338886,0x7C6004D1,0x + 73 7D230595 + 73 7AC37392 + 73 7E094C11 + 73 7E1CB115 + 74 00f8 00010000 iars: .int 0x00010000,0x00010004,0x00010008,0x0001000C,0x00010010,0x00010014,0x00010018,0x + 74 00010004 + 74 00010008 + 74 0001000C + 74 00010010 + 75 + 76 # ------------------------------------------------------------------------------------------------- + 77 # r3=@tst_inits + 78 012c 48000014 .align 5 + 78 60000000 + 78 60000000 + 78 60000000 + 78 60000000 + 79 init_tst: + 80 + 81 # save c stuff + 82 0140 9023009C stw r1,(save_r1-tst_inits)(r3) + 83 + 84 # copy ops + 85 opcopy: + 86 0144 802300A0 lwz r1,(codelen-tst_inits)(r3) + 87 0148 7C2903A6 mtctr r1 + 88 014c 382300A4 la r1,(ops-tst_inits)(r3) # @ ops list + 89 0150 384300D8 la r2,(iars-tst_inits)(r3) # @ iars list + 90 opcopy_loop: + 91 0154 80810000 lwz r4,0(r1) # next op + 92 0158 80A20000 lwz r5,0(r2) # next iar + 93 015c 90850000 stw r4,0(r5) # store it + 94 0160 38210004 addi r1,r1,4 # inc to next + 95 0164 38420004 addi r2,r2,4 + 96 0168 4200FFEC bdnz opcopy_loop + 97 + 98 # add end of test op - could be done here or by builder + 99 # ways to end: + 100 # ba - avoid reloc, target op can then branch to tst_end + 101 # trap,sc,scv - branch to tst_end in handler + 102 # attn, priv op, etc. - " + 103 # overwrite the last epilogue op to avoid any crossing + 104 opcopy_eot: + 105 016c 3C804800 lis r4,0x4800 + 106 0170 60840006 ori r4,r4,0x0006 # ba 0x0004 + 107 0174 90850000 stw r4,0(r5) + 108 + 109 # get tst start + 110 0178 80200000 lwz r1,init_msr(r0) + 111 017c 7C3B03A6 mtsrr1 r1 + 112 0180 80200000 lwz r1,iars(r0) + 113 0184 7C3A03A6 mtsrr0 r1 + 114 + 115 # init test regs + 116 init_regs: + 117 0188 80230080 lwz r1,(init_cr-tst_inits)(r3) + 118 018c 7C2FF120 mtcr r1 + 119 0190 80230084 lwz r1,(init_xer-tst_inits)(r3) + 120 0194 7C2103A6 mtxer r1 + 121 0198 80230088 lwz r1,(init_ctr-tst_inits)(r3) + 122 019c 7C2903A6 mtctr r1 + 123 01a0 8023008C lwz r1,(init_lr-tst_inits)(r3) + 124 01a4 7C2803A6 mtlr r1 + 125 01a8 80230090 lwz r1,(init_tar-tst_inits)(r3) + 126 01ac 7C2FCBA6 mtspr tar,r1 + 127 + 128 01b0 80030000 lwz r0,(init_r0-tst_inits)(r3) + 129 01b4 80230004 lwz r1,(init_r1-tst_inits)(r3) + 130 01b8 80430008 lwz r2,(init_r2-tst_inits)(r3) + 131 01bc 80830010 lwz r4,(init_r4-tst_inits)(r3) + 132 01c0 80A30014 lwz r5,(init_r5-tst_inits)(r3) + 133 01c4 80C30018 lwz r6,(init_r6-tst_inits)(r3) + 134 01c8 80E3001C lwz r7,(init_r7-tst_inits)(r3) + 135 01cc 81030020 lwz r8,(init_r8-tst_inits)(r3) + 136 01d0 81230024 lwz r9,(init_r9-tst_inits)(r3) + 137 01d4 81430028 lwz r10,(init_r10-tst_inits)(r3) + 138 01d8 8163002C lwz r11,(init_r11-tst_inits)(r3) + 139 01dc 81830030 lwz r12,(init_r12-tst_inits)(r3) + 140 01e0 81A30034 lwz r13,(init_r13-tst_inits)(r3) + 141 01e4 81C30038 lwz r14,(init_r14-tst_inits)(r3) + 142 01e8 81E3003C lwz r15,(init_r15-tst_inits)(r3) + 143 01ec 82030040 lwz r16,(init_r16-tst_inits)(r3) + 144 01f0 82230044 lwz r17,(init_r17-tst_inits)(r3) + 145 01f4 82430048 lwz r18,(init_r18-tst_inits)(r3) + 146 01f8 8263004C lwz r19,(init_r19-tst_inits)(r3) + 147 01fc 82830050 lwz r20,(init_r20-tst_inits)(r3) + 148 0200 82A30054 lwz r21,(init_r21-tst_inits)(r3) + 149 0204 82C30058 lwz r22,(init_r22-tst_inits)(r3) + 150 0208 82E3005C lwz r23,(init_r23-tst_inits)(r3) + 151 020c 83030060 lwz r24,(init_r24-tst_inits)(r3) + 152 0210 83230064 lwz r25,(init_r25-tst_inits)(r3) + 153 0214 83430068 lwz r26,(init_r26-tst_inits)(r3) + 154 0218 8363006C lwz r27,(init_r27-tst_inits)(r3) + 155 021c 83830070 lwz r28,(init_r28-tst_inits)(r3) + 156 0220 83A30074 lwz r29,(init_r29-tst_inits)(r3) + 157 0224 83C30078 lwz r30,(init_r30-tst_inits)(r3) + 158 0228 83E3007C lwz r31,(init_r31-tst_inits)(r3) + 159 022c 8063000C lwz r3,(init_r3-tst_inits)(r3) + 160 + 161 jmp2tst: + 162 0230 4C000064 rfi + 163 #rfid + 164 #ba 0x10000 + 165 + 166 tst_end: + 167 0234 4800000C b save_results + 168 + 169 # ------------------------------------------------------------------------------------------------- + 170 0238 60000000 .align 5 + 170 60000000 + 171 save_results: + 172 # use a designated spr to save (sprgx, ...) + 173 0240 7C2FCBA6 mtspr SAVESPR,r1 + 174 0244 3C200000 lis r1,tst_results@h + 175 0248 60210000 ori r1,r1,tst_results@l + 176 024c 90010000 stw r0,(rslt_r0-tst_results)(r1) + 177 0250 90410008 stw r2,(rslt_r2-tst_results)(r1) + 178 0254 9061000C stw r3,(rslt_r3-tst_results)(r1) + 179 0258 90810010 stw r4,(rslt_r4-tst_results)(r1) + 180 025c 90A10014 stw r5,(rslt_r5-tst_results)(r1) + 181 0260 90C10018 stw r6,(rslt_r6-tst_results)(r1) + 182 0264 90E1001C stw r7,(rslt_r7-tst_results)(r1) + 183 0268 91010020 stw r8,(rslt_r8-tst_results)(r1) + 184 026c 91210024 stw r9,(rslt_r9-tst_results)(r1) + 185 0270 91410028 stw r10,(rslt_r10-tst_results)(r1) + 186 0274 9161002C stw r11,(rslt_r11-tst_results)(r1) + 187 0278 91810030 stw r12,(rslt_r12-tst_results)(r1) + 188 027c 91A10034 stw r13,(rslt_r13-tst_results)(r1) + 189 0280 91C10038 stw r14,(rslt_r14-tst_results)(r1) + 190 0284 91E1003C stw r15,(rslt_r15-tst_results)(r1) + 191 0288 92010040 stw r16,(rslt_r16-tst_results)(r1) + 192 028c 92210044 stw r17,(rslt_r17-tst_results)(r1) + 193 0290 92410048 stw r18,(rslt_r18-tst_results)(r1) + 194 0294 9261004C stw r19,(rslt_r19-tst_results)(r1) + 195 0298 92810050 stw r20,(rslt_r20-tst_results)(r1) + 196 029c 92A10054 stw r21,(rslt_r21-tst_results)(r1) + 197 02a0 92C10058 stw r22,(rslt_r22-tst_results)(r1) + 198 02a4 92E1005C stw r23,(rslt_r23-tst_results)(r1) + 199 02a8 93010060 stw r24,(rslt_r24-tst_results)(r1) + 200 02ac 93210064 stw r25,(rslt_r25-tst_results)(r1) + 201 02b0 93410068 stw r26,(rslt_r26-tst_results)(r1) + 202 02b4 9361006C stw r27,(rslt_r27-tst_results)(r1) + 203 02b8 93810070 stw r28,(rslt_r28-tst_results)(r1) + 204 02bc 93A10074 stw r29,(rslt_r29-tst_results)(r1) + 205 02c0 93C10078 stw r30,(rslt_r30-tst_results)(r1) + 206 02c4 93E1007C stw r31,(rslt_r31-tst_results)(r1) + 207 02c8 7C4FCAA6 mfspr r2,SAVESPR + 208 02cc 90410004 stw r2,(rslt_r1-tst_results)(r1) + 209 02d0 7C400026 mfcr r2 + 210 02d4 90410080 stw r2,(rslt_cr-tst_results)(r1) + 211 02d8 7C4102A6 mfxer r2 + 212 02dc 90410084 stw r2,(rslt_xer-tst_results)(r1) + 213 02e0 7C4902A6 mfctr r2 + 214 02e4 90410088 stw r2,(rslt_ctr-tst_results)(r1) + 215 02e8 7C4802A6 mflr r2 + 216 02ec 9041008C stw r2,(rslt_lr-tst_results)(r1) + 217 02f0 7C4FCAA6 mfspr r2,tar + 218 02f4 90410090 stw r2,(rslt_tar-tst_results)(r1) + 219 + 220 tst_cleanup: + 221 # restore c stuff + 222 02f8 3C600000 lis r3,tst_inits@h + 223 02fc 60630000 ori r3,r3,tst_inits@l + 224 0300 8023009C lwz r1,(save_r1-tst_inits)(r3) + 225 0304 3C600867 lis r3,MAGIC@h + 226 0308 60635309 ori r3,r3,MAGIC@l + 227 + 228 030c 48000003 bla tst_done + 229 + 230 # ------------------------------------------------------------------------------------------------- + 231 0310 60000000 .align 5 + 231 60000000 + 231 60000000 + 231 60000000 + 232 tst_results: + 233 + 234 0320 FFFFFFFF rslt_r0: .int 0xFFFFFFFF + 235 0324 FFFFFFFF rslt_r1: .int 0xFFFFFFFF + 236 0328 FFFFFFFF rslt_r2: .int 0xFFFFFFFF + 237 032c FFFFFFFF rslt_r3: .int 0xFFFFFFFF + 238 0330 FFFFFFFF rslt_r4: .int 0xFFFFFFFF + 239 0334 FFFFFFFF rslt_r5: .int 0xFFFFFFFF + 240 0338 FFFFFFFF rslt_r6: .int 0xFFFFFFFF + 241 033c FFFFFFFF rslt_r7: .int 0xFFFFFFFF + 242 0340 FFFFFFFF rslt_r8: .int 0xFFFFFFFF + 243 0344 FFFFFFFF rslt_r9: .int 0xFFFFFFFF + 244 0348 FFFFFFFF rslt_r10: .int 0xFFFFFFFF + 245 034c FFFFFFFF rslt_r11: .int 0xFFFFFFFF + 246 0350 FFFFFFFF rslt_r12: .int 0xFFFFFFFF + 247 0354 FFFFFFFF rslt_r13: .int 0xFFFFFFFF + 248 0358 FFFFFFFF rslt_r14: .int 0xFFFFFFFF + 249 035c FFFFFFFF rslt_r15: .int 0xFFFFFFFF + 250 0360 FFFFFFFF rslt_r16: .int 0xFFFFFFFF + 251 0364 FFFFFFFF rslt_r17: .int 0xFFFFFFFF + 252 0368 FFFFFFFF rslt_r18: .int 0xFFFFFFFF + 253 036c FFFFFFFF rslt_r19: .int 0xFFFFFFFF + 254 0370 FFFFFFFF rslt_r20: .int 0xFFFFFFFF + 255 0374 FFFFFFFF rslt_r21: .int 0xFFFFFFFF + 256 0378 FFFFFFFF rslt_r22: .int 0xFFFFFFFF + 257 037c FFFFFFFF rslt_r23: .int 0xFFFFFFFF + 258 0380 FFFFFFFF rslt_r24: .int 0xFFFFFFFF + 259 0384 FFFFFFFF rslt_r25: .int 0xFFFFFFFF + 260 0388 FFFFFFFF rslt_r26: .int 0xFFFFFFFF + 261 038c FFFFFFFF rslt_r27: .int 0xFFFFFFFF + 262 0390 FFFFFFFF rslt_r28: .int 0xFFFFFFFF + 263 0394 FFFFFFFF rslt_r29: .int 0xFFFFFFFF + 264 0398 FFFFFFFF rslt_r30: .int 0xFFFFFFFF + 265 039c FFFFFFFF rslt_r31: .int 0xFFFFFFFF + 266 + 267 03a0 FFFFFFFF rslt_cr: .int 0xFFFFFFFF + 268 03a4 FFFFFFFF rslt_xer: .int 0xFFFFFFFF + 269 03a8 FFFFFFFF rslt_ctr: .int 0xFFFFFFFF + 270 03ac FFFFFFFF rslt_lr: .int 0xFFFFFFFF + 271 03b0 FFFFFFFF rslt_tar: .int 0xFFFFFFFF + 272 + 273 # ------------------------------------------------------------------------------------------------- + 274 03b4 60000000 .align 5 + 274 60000000 + 274 60000000 + 275 tst_expects: + 276 + 277 03c0 00000000 expt_r0: .int 0x00000000 + 278 03c4 CD75F313 expt_r1: .int 0xCD75F313 + 279 03c8 FFFFFFFF expt_r2: .int 0xFFFFFFFF + 280 03cc 00000000 expt_r3: .int 0x00000000 + 281 03d0 FFFFFFFF expt_r4: .int 0xFFFFFFFF + 282 03d4 FFFFFFFF expt_r5: .int 0xFFFFFFFF + 283 03d8 FFFFFFFF expt_r6: .int 0xFFFFFFFF + 284 03dc FFFFFFFF expt_r7: .int 0xFFFFFFFF + 285 03e0 FFFFFFFF expt_r8: .int 0xFFFFFFFF + 286 03e4 008A0C68 expt_r9: .int 0x008A0C68 + 287 03e8 FFFFFFFF expt_r10: .int 0xFFFFFFFF + 288 03ec 7FFFFFFF expt_r11: .int 0x7FFFFFFF + 289 03f0 FFFFFFFF expt_r12: .int 0xFFFFFFFF + 290 03f4 FFFFFFFF expt_r13: .int 0xFFFFFFFF + 291 03f8 8C20BDE6 expt_r14: .int 0x8C20BDE6 + 292 03fc FFFFFFFF expt_r15: .int 0xFFFFFFFF + 293 0400 08AEBF68 expt_r16: .int 0x08AEBF68 + 294 0404 80000001 expt_r17: .int 0x80000001 + 295 0408 FFFFFFFF expt_r18: .int 0xFFFFFFFF + 296 040c 00000000 expt_r19: .int 0x00000000 + 297 0410 FFFFFFFF expt_r20: .int 0xFFFFFFFF + 298 0414 FFFFFFFF expt_r21: .int 0xFFFFFFFF + 299 0418 328A0CED expt_r22: .int 0x328A0CED + 300 041c FFFFFFFF expt_r23: .int 0xFFFFFFFF + 301 0420 FFFFFFFF expt_r24: .int 0xFFFFFFFF + 302 0424 AF224C19 expt_r25: .int 0xAF224C19 + 303 0428 FFFFFFFF expt_r26: .int 0xFFFFFFFF + 304 042c FFFFFFFF expt_r27: .int 0xFFFFFFFF + 305 0430 D624B27A expt_r28: .int 0xD624B27A + 306 0434 FFFFFFFF expt_r29: .int 0xFFFFFFFF + 307 0438 FFFFFFFF expt_r30: .int 0xFFFFFFFF + 308 043c FFFFFFFF expt_r31: .int 0xFFFFFFFF + 309 + 310 0440 9BFD3628 expt_cr: .int 0x9BFD3628 + 311 0444 98F0006E expt_xer: .int 0x98F0006E + 312 0448 FFFFFFFF expt_ctr: .int 0xFFFFFFFF + 313 044c FFFFFFFF expt_lr: .int 0xFFFFFFFF + 314 0450 FFFFFFFF expt_tar: .int 0xFFFFFFFF + 315 0454 00001104 expt_msr: .int 0x00001104 + 316 + 317 0458 00010038 expt_iar: .int 0x00010038 + 318 diff --git a/dev/src/test3_smt/arcitst.s b/dev/src/test3_smt/arcitst.s new file mode 100755 index 0000000..0908b12 --- /dev/null +++ b/dev/src/test3_smt/arcitst.s @@ -0,0 +1,318 @@ +# asmtst.tpl + +.include "defines.s" + +# ------------------------------------------------------------------------------------------------- +# c-accessible + +.global init_tst +.global tst_start +.global tst_end +.global tst_inits +.global tst_results +.global tst_expects + +# ------------------------------------------------------------------------------------------------- +tst_misc: + +tst_info: .asciz "info text" +tst_header: .asciz "header text" + +.set SAVESPR,tar +.set MAGIC,0x8675309 + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_inits: + +init_r0: .int 0x00000000 +init_r1: .int 0x5822C905 +init_r2: .int 0xFFFFFFFF +init_r3: .int 0x91B6D1A3 +init_r4: .int 0xFFFFFFFF +init_r5: .int 0xFFFFFFFF +init_r6: .int 0xFFFFFFFF +init_r7: .int 0xFFFFFFFF +init_r8: .int 0xFFFFFFFF +init_r9: .int 0x7E11EE88 +init_r10: .int 0xFFFFFFFF +init_r11: .int 0x7FFFFFFF +init_r12: .int 0xFFFFFFFF +init_r13: .int 0xFFFFFFFF +init_r14: .int 0x8C20BDE6 +init_r15: .int 0xFFFFFFFF +init_r16: .int 0x76D0DADF +init_r17: .int 0x15111F42 +init_r18: .int 0xFFFFFFFF +init_r19: .int 0x36108E50 +init_r20: .int 0xFFFFFFFF +init_r21: .int 0xFFFFFFFF +init_r22: .int 0x328A0CED +init_r23: .int 0xFFFFFFFF +init_r24: .int 0xFFFFFFFF +init_r25: .int 0xAF224C19 +init_r26: .int 0xFFFFFFFF +init_r27: .int 0xFFFFFFFF +init_r28: .int 0xD624B27A +init_r29: .int 0xFFFFFFFF +init_r30: .int 0xFFFFFFFF +init_r31: .int 0xFFFFFFFF + +init_cr: .int 0xDBFD3628 +init_xer: .int 0x89F0006E +init_ctr: .int 0xFFFFFFFF +init_lr: .int 0xFFFFFFFF +init_tar: .int 0xFFFFFFFF +init_msr: .int 0x00001104 + +init_iar: .int 0x00010000 + +save_r1: .int 0 + +codelen: .int 13 +ops: .int 0x7C61CC14,0x7D230595,0x7AC37392,0x7E094C11,0x7E1CB115,0x7A338886,0x7C6004D1,0x7E09B038,0x7C360591,0x7E2B00D1,0x60000000,0x60000000,0x60000000 +iars: .int 0x00010000,0x00010004,0x00010008,0x0001000C,0x00010010,0x00010014,0x00010018,0x0001001C,0x00010020,0x00010024,0x00010028,0x0001002C,0x00010030 + +# ------------------------------------------------------------------------------------------------- +# r3=@tst_inits +.align 5 +init_tst: + +# save c stuff + stw r1,(save_r1-tst_inits)(r3) + +# copy ops +opcopy: + lwz r1,(codelen-tst_inits)(r3) + mtctr r1 + la r1,(ops-tst_inits)(r3) # @ ops list + la r2,(iars-tst_inits)(r3) # @ iars list +opcopy_loop: + lwz r4,0(r1) # next op + lwz r5,0(r2) # next iar + stw r4,0(r5) # store it + addi r1,r1,4 # inc to next + addi r2,r2,4 + bdnz opcopy_loop + +# add end of test op - could be done here or by builder +# ways to end: +# ba - avoid reloc, target op can then branch to tst_end +# trap,sc,scv - branch to tst_end in handler +# attn, priv op, etc. - " +# overwrite the last epilogue op to avoid any crossing +opcopy_eot: + lis r4,0x4800 + ori r4,r4,0x0006 # ba 0x0004 + stw r4,0(r5) + +# get tst start + lwz r1,init_msr(r0) + mtsrr1 r1 + lwz r1,iars(r0) + mtsrr0 r1 + +# init test regs +init_regs: + lwz r1,(init_cr-tst_inits)(r3) + mtcr r1 + lwz r1,(init_xer-tst_inits)(r3) + mtxer r1 + lwz r1,(init_ctr-tst_inits)(r3) + mtctr r1 + lwz r1,(init_lr-tst_inits)(r3) + mtlr r1 + lwz r1,(init_tar-tst_inits)(r3) + mtspr tar,r1 + + lwz r0,(init_r0-tst_inits)(r3) + lwz r1,(init_r1-tst_inits)(r3) + lwz r2,(init_r2-tst_inits)(r3) + lwz r4,(init_r4-tst_inits)(r3) + lwz r5,(init_r5-tst_inits)(r3) + lwz r6,(init_r6-tst_inits)(r3) + lwz r7,(init_r7-tst_inits)(r3) + lwz r8,(init_r8-tst_inits)(r3) + lwz r9,(init_r9-tst_inits)(r3) + lwz r10,(init_r10-tst_inits)(r3) + lwz r11,(init_r11-tst_inits)(r3) + lwz r12,(init_r12-tst_inits)(r3) + lwz r13,(init_r13-tst_inits)(r3) + lwz r14,(init_r14-tst_inits)(r3) + lwz r15,(init_r15-tst_inits)(r3) + lwz r16,(init_r16-tst_inits)(r3) + lwz r17,(init_r17-tst_inits)(r3) + lwz r18,(init_r18-tst_inits)(r3) + lwz r19,(init_r19-tst_inits)(r3) + lwz r20,(init_r20-tst_inits)(r3) + lwz r21,(init_r21-tst_inits)(r3) + lwz r22,(init_r22-tst_inits)(r3) + lwz r23,(init_r23-tst_inits)(r3) + lwz r24,(init_r24-tst_inits)(r3) + lwz r25,(init_r25-tst_inits)(r3) + lwz r26,(init_r26-tst_inits)(r3) + lwz r27,(init_r27-tst_inits)(r3) + lwz r28,(init_r28-tst_inits)(r3) + lwz r29,(init_r29-tst_inits)(r3) + lwz r30,(init_r30-tst_inits)(r3) + lwz r31,(init_r31-tst_inits)(r3) + lwz r3,(init_r3-tst_inits)(r3) + +jmp2tst: + rfi + #rfid + #ba 0x10000 + +tst_end: + b save_results + +# ------------------------------------------------------------------------------------------------- +.align 5 +save_results: +# use a designated spr to save (sprgx, ...) + mtspr SAVESPR,r1 + lis r1,tst_results@h + ori r1,r1,tst_results@l + stw r0,(rslt_r0-tst_results)(r1) + stw r2,(rslt_r2-tst_results)(r1) + stw r3,(rslt_r3-tst_results)(r1) + stw r4,(rslt_r4-tst_results)(r1) + stw r5,(rslt_r5-tst_results)(r1) + stw r6,(rslt_r6-tst_results)(r1) + stw r7,(rslt_r7-tst_results)(r1) + stw r8,(rslt_r8-tst_results)(r1) + stw r9,(rslt_r9-tst_results)(r1) + stw r10,(rslt_r10-tst_results)(r1) + stw r11,(rslt_r11-tst_results)(r1) + stw r12,(rslt_r12-tst_results)(r1) + stw r13,(rslt_r13-tst_results)(r1) + stw r14,(rslt_r14-tst_results)(r1) + stw r15,(rslt_r15-tst_results)(r1) + stw r16,(rslt_r16-tst_results)(r1) + stw r17,(rslt_r17-tst_results)(r1) + stw r18,(rslt_r18-tst_results)(r1) + stw r19,(rslt_r19-tst_results)(r1) + stw r20,(rslt_r20-tst_results)(r1) + stw r21,(rslt_r21-tst_results)(r1) + stw r22,(rslt_r22-tst_results)(r1) + stw r23,(rslt_r23-tst_results)(r1) + stw r24,(rslt_r24-tst_results)(r1) + stw r25,(rslt_r25-tst_results)(r1) + stw r26,(rslt_r26-tst_results)(r1) + stw r27,(rslt_r27-tst_results)(r1) + stw r28,(rslt_r28-tst_results)(r1) + stw r29,(rslt_r29-tst_results)(r1) + stw r30,(rslt_r30-tst_results)(r1) + stw r31,(rslt_r31-tst_results)(r1) + mfspr r2,SAVESPR + stw r2,(rslt_r1-tst_results)(r1) + mfcr r2 + stw r2,(rslt_cr-tst_results)(r1) + mfxer r2 + stw r2,(rslt_xer-tst_results)(r1) + mfctr r2 + stw r2,(rslt_ctr-tst_results)(r1) + mflr r2 + stw r2,(rslt_lr-tst_results)(r1) + mfspr r2,tar + stw r2,(rslt_tar-tst_results)(r1) + +tst_cleanup: +# restore c stuff + lis r3,tst_inits@h + ori r3,r3,tst_inits@l + lwz r1,(save_r1-tst_inits)(r3) + lis r3,MAGIC@h + ori r3,r3,MAGIC@l + + bla tst_done + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_results: + +rslt_r0: .int 0xFFFFFFFF +rslt_r1: .int 0xFFFFFFFF +rslt_r2: .int 0xFFFFFFFF +rslt_r3: .int 0xFFFFFFFF +rslt_r4: .int 0xFFFFFFFF +rslt_r5: .int 0xFFFFFFFF +rslt_r6: .int 0xFFFFFFFF +rslt_r7: .int 0xFFFFFFFF +rslt_r8: .int 0xFFFFFFFF +rslt_r9: .int 0xFFFFFFFF +rslt_r10: .int 0xFFFFFFFF +rslt_r11: .int 0xFFFFFFFF +rslt_r12: .int 0xFFFFFFFF +rslt_r13: .int 0xFFFFFFFF +rslt_r14: .int 0xFFFFFFFF +rslt_r15: .int 0xFFFFFFFF +rslt_r16: .int 0xFFFFFFFF +rslt_r17: .int 0xFFFFFFFF +rslt_r18: .int 0xFFFFFFFF +rslt_r19: .int 0xFFFFFFFF +rslt_r20: .int 0xFFFFFFFF +rslt_r21: .int 0xFFFFFFFF +rslt_r22: .int 0xFFFFFFFF +rslt_r23: .int 0xFFFFFFFF +rslt_r24: .int 0xFFFFFFFF +rslt_r25: .int 0xFFFFFFFF +rslt_r26: .int 0xFFFFFFFF +rslt_r27: .int 0xFFFFFFFF +rslt_r28: .int 0xFFFFFFFF +rslt_r29: .int 0xFFFFFFFF +rslt_r30: .int 0xFFFFFFFF +rslt_r31: .int 0xFFFFFFFF + +rslt_cr: .int 0xFFFFFFFF +rslt_xer: .int 0xFFFFFFFF +rslt_ctr: .int 0xFFFFFFFF +rslt_lr: .int 0xFFFFFFFF +rslt_tar: .int 0xFFFFFFFF + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_expects: + +expt_r0: .int 0x00000000 +expt_r1: .int 0xCD75F313 +expt_r2: .int 0xFFFFFFFF +expt_r3: .int 0x00000000 +expt_r4: .int 0xFFFFFFFF +expt_r5: .int 0xFFFFFFFF +expt_r6: .int 0xFFFFFFFF +expt_r7: .int 0xFFFFFFFF +expt_r8: .int 0xFFFFFFFF +expt_r9: .int 0x008A0C68 +expt_r10: .int 0xFFFFFFFF +expt_r11: .int 0x7FFFFFFF +expt_r12: .int 0xFFFFFFFF +expt_r13: .int 0xFFFFFFFF +expt_r14: .int 0x8C20BDE6 +expt_r15: .int 0xFFFFFFFF +expt_r16: .int 0x08AEBF68 +expt_r17: .int 0x80000001 +expt_r18: .int 0xFFFFFFFF +expt_r19: .int 0x00000000 +expt_r20: .int 0xFFFFFFFF +expt_r21: .int 0xFFFFFFFF +expt_r22: .int 0x328A0CED +expt_r23: .int 0xFFFFFFFF +expt_r24: .int 0xFFFFFFFF +expt_r25: .int 0xAF224C19 +expt_r26: .int 0xFFFFFFFF +expt_r27: .int 0xFFFFFFFF +expt_r28: .int 0xD624B27A +expt_r29: .int 0xFFFFFFFF +expt_r30: .int 0xFFFFFFFF +expt_r31: .int 0xFFFFFFFF + +expt_cr: .int 0x9BFD3628 +expt_xer: .int 0x98F0006E +expt_ctr: .int 0xFFFFFFFF +expt_lr: .int 0xFFFFFFFF +expt_tar: .int 0xFFFFFFFF +expt_msr: .int 0x00001104 + +expt_iar: .int 0x00010038 + diff --git a/dev/src/test3_smt/bin b/dev/src/test3_smt/bin new file mode 120000 index 0000000..19f285a --- /dev/null +++ b/dev/src/test3_smt/bin @@ -0,0 +1 @@ +../bin \ No newline at end of file diff --git a/dev/src/test3_smt/bios.c b/dev/src/test3_smt/bios.c new file mode 100644 index 0000000..6210221 --- /dev/null +++ b/dev/src/test3_smt/bios.c @@ -0,0 +1,175 @@ +#include +#include + +#include "bios.h" + +#ifdef PRINTF +#include "liblitex.h" + +//static char printbuf[1000]; // make this a pointer with address a define +//const char* printbuf = (char *)0x12000; +#ifndef PRINTBUF +#define PRINTBUF 0x0001C000 +#endif +//static int printbuf_ptr = 0; +static char *printbuf_ptr = (char *)PRINTBUF; +//wtf needs smt +void putchar_handler(char c) { + //printbuf[printbuf_ptr++] = c; + //*(printbuf + printbuf_ptr++) = c; + *printbuf_ptr++ = c; +} +#endif + +// arci stuff +//void tst_done(unsigned int rc); +void tst_done(unsigned int rc); + +// in kernel (for constant locs) +extern void tst_pass(void); +extern void tst_fail(int i); +/* +void tst_pass(void); +void tst_fail(int i); + +void tst_fail(int i) { + while(1) {} +} + +void tst_pass(void) { + while(1) {} +} +*/ + +//inline unsigned int checkResult(unsigned int r) __attribute__((always_inline)); +unsigned int checkResult(unsigned int r); + +extern unsigned int tst_start; +extern unsigned int tst_end; +extern unsigned int tst_inits; +extern unsigned int tst_results; +extern unsigned int tst_expects; + +int main(int tid) { + int *p; + int *fdata = &_fdata; + unsigned int *inits = &tst_inits; + + if (tid != 0) { + return -1; + } + + // r/w memory init + + // copy + for (p = &_fdata_rom; p < &_edata_rom; p++){ + *(fdata++) = *p; + } + // zero + for (p = &_fbss; p < &_ebss; p++) { + *(p++) = 0; + } + +#ifdef PRINTF + console_set_write_hook(putchar_handler); + putchar('w'); + putchar('t'); + putchar('f'); + putchar('\n'); + printf("main(%i)\n", tid); +#endif + + // core init + set_epcr(0x03000000); // icm=gicm=1 + set_dec(0); + set_tbh(0); + set_tbl(0); + set_tsr(0xFE000000); // mask: clear enw,wis,wrs,dis,fis,udis + set_xucr0(get_xucr0() & ~0x00000200); // set tcs=0 + set_tsr(0); + set_tcr(0); // disable all timers + + // thread enable + // set_tens(0x3); + + // run a .tst + // danger! once r1 is whacked, any c code like bad int handler, etc. needs + // to make sure it has a safe stack for calls + asm ( + "mr 3,%0\n" + //"lis 4,init_tst@h\n" + //"ori 4,4,init_tst@l\n" + //"mtctr 4\n" + //"bcctr\n" + "b init_tst\n" + : // outputs + : "r"(inits) // inputs + : "r3" // clobbers + ); + + while(1) {} + return 0; +} + +#define MAGIC 0x08675309 + +// r1 has been restored to where it was for 'b init_tst' above +void tst_done(unsigned int rc) { + unsigned int i, ok = 1; + unsigned int act, exp; + + if (rc != MAGIC) { + tst_fail(0x80000000); + } + + // check GPR & CR + for (i = 0; i < 32; i++) { + act = *(&tst_results + i); + exp = *(&tst_expects + i); + ok = ok && (act == exp); + if (!ok) { + tst_fail(i); + } + } + + // check XER - a2o not compliant right now (only so/ov/ca/len) + i = 33; + act = *(&tst_results + i); + exp = *(&tst_expects + i) & 0xE000007F; + ok = ok && (act == exp); + if (!ok) { + tst_fail(i); + } + + // check CLT - skip tar, a2o doesn't have usermode sprg to use for save reg, so using tar + //for (i = 34; i < 37; i++) { + for (i = 34; i < 36; i++) { + act = *(&tst_results + i); + exp = *(&tst_expects + i); + ok = ok && (act == exp); + if (!ok) { + tst_fail(i); + } + } + + // could get back to kernel + tst_pass(); + while (1) {} +} + +// these are branched to! but if fun, they assume r1 is stack!!!! + +// tst is ended with sc to return to priv mode; then save results +void int_sc(int code, int srr0) { + asm ( + "b tst_end\n" + : // outputs + : // inputs + : // clobbers + ); +} + +void int_unhandled(void) { + while(1) {} +} + diff --git a/dev/src/test3_smt/bios.h b/dev/src/test3_smt/bios.h new file mode 100644 index 0000000..2cbb9c4 --- /dev/null +++ b/dev/src/test3_smt/bios.h @@ -0,0 +1,111 @@ +#ifndef _BIOS_H_ +#define _BIOS_H_ + +// need address for linker constants! +extern int _fdata_rom; +extern int _edata_rom; +extern int _fdata; +extern int _fbss; +extern int _ebss; + +// printf to mem +void putchar_handler(char c); + + +void int_sc(int code, int srr0); +void int_unhandled(void); + +inline void set_epcr(int v) __attribute__((always_inline)); +inline void set_dec(int v) __attribute__((always_inline)); +inline void set_tbh(int v) __attribute__((always_inline)); +inline void set_tbl(int v) __attribute__((always_inline)); +inline void set_tsr(int v) __attribute__((always_inline)); +inline void set_tcr(int v) __attribute__((always_inline)); +inline void set_tens(int v) __attribute__((always_inline)); +inline void set_xucr0(int v) __attribute__((always_inline)); +inline int get_xucr0(void) __attribute__((always_inline)); + +inline void set_epcr(int v) { + asm volatile( + "mtspr 307,%0\n" // epcr + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_dec(int v) { + asm volatile( + "mtspr 22,%0\n" // dec + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tbh(int v) { + asm volatile( + "mtspr 285,%0\n" // tbh + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tbl(int v) { + asm volatile( + "mtspr 284,%0\n" // tbl + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tsr(int v) { + asm volatile( + "mtspr 336,%0\n" // tsr + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tcr(int v) { + asm volatile( + "mtspr 340,%0\n" // tcr + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline int get_xucr0(void) { + int v; + asm volatile( + "mfspr %0,1014\n" // xucr0 + : "=r"(v) // outputs + : // inputs + : // clobbers + ); + return v; +} + +inline void set_xucr0(int v) { + asm volatile( + "mtspr 1014,%0\n" // xucr0 + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tens(int v) { + asm volatile( + "mtspr 438,%0\n" // tens + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +#endif \ No newline at end of file diff --git a/dev/src/test3_smt/boot.s b/dev/src/test3_smt/boot.s new file mode 100755 index 0000000..0e4a605 --- /dev/null +++ b/dev/src/test3_smt/boot.s @@ -0,0 +1,390 @@ +# © IBM Corp. 2022 +# Licensed under and subject to the terms of the CC-BY 4.0 +# license (https://creativecommons.org/licenses/by/4.0/legalcode). +# Additional rights, including the right to physically implement a softcore +# that is compliant with the required sections of the Power ISA +# Specification, will be available at no cost via the OpenPOWER Foundation. +# This README will be updated with additional information when OpenPOWER's +# license is available. + +# boot kernel +# resets to 32BE +# set up translations for starting bios (inc. BE/LE) +# copy modifiable rom data to ram - or do in bios? +# set up msr for running bios (inc. 32/64) +# jump to bios + + +.include "defines.s" + +.macro load32 rx,v + li \rx,0 + oris \rx,\rx,\v>>16 + ori \rx,\rx,\v&0x0000FFFF +.endm + +.macro load16swiz rx,v + li \rx,0 + ori \rx,\rx,(\v<<8)&0xFF00 + ori \rx,\rx,(\v>>8)&0x00FF +.endm + +# constants from linker script, or defsym + +.ifndef THREAD_ENABLES +.set THREAD_ENABLES 0x1 +.endif + +.ifdef BIOS_32 +# sup MSR cm=1 ce=1 ee=1 pr=0 fp=1 me=1 fe=00 de=0 is=0 ds=0 +.set BIOS_MSR,0x0002B000 +.else +# sup MSR cm=1 ce=1 ee=1 pr=0 fp=1 me=1 fe=00 de=0 is=0 ds=0 +.set BIOS_MSR,0x8002B000 +.endif + +#wtf this should to be done in bios based on the tst +# erat w2 (test) # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw=60:61 ur/sr=62:63 +.ifdef BIOS_LE +.set BIOS_ERATW2,0x000000BF +.else +.set BIOS_ERATW2,0x0000003F +.endif + +# bios might be able to use one stack during thread startup if careful +.ifndef BIOS_STACK_0 +.set BIOS_STACK_0,_stack_0 +.endif + +.ifndef BIOS_STACK_1 +.set BIOS_STACK_1,_stack_1 +.endif + +#wtf get rid of this and just make the low 1G a single erat entry - it can be fixed up by bios later +.ifndef BIOS_START +.set BIOS_START,0x00010000 +.endif + +.section .text + +.global _start + +.org 0x000 +_start: +int_000: + b boot_start + +.ifdef TST_END +# tst ends with ba here, which switches to priv and jumps to tst_end + sc +.endif + +# critical input +.org 0x020 +int_020: +.ifdef INT_UNHANDLED + b int_unhandled +.else + b . +.endif + +# debug +.org 0x040 +int_040: + b . + +# dsi +.org 0x060 +int_060: + b . + +# isi +.org 0x080 +int_080: + b . + +# external +.org 0x0A0 +int_0A0: + b . + +# alignment +.org 0x0C0 +int_0C0: + b . + +# program +.org 0x0E0 +int_0E0: + b . + +# fp unavailable +.org 0x100 +int_100: + b . + +# sc +.org 0x120 +int_120: +.ifdef TST_END +# tst results haven't been saved yet; if want to call bios, need to save r1, then restore or set stack + b tst_end +.else +.ifdef INT_SC + # lev is in 20:26, but supposed to use scv now + li r3,0 + mfsrr0 r4 + b int_sc +.else +.ifdef INT_UNHANDLED + b int_unhandled +.else + b . +.endif +.endif +.endif + +# apu unavailable +.org 0x140 +int_140: + b . + +# decrementer +.org 0x160 +int_160: + b . + +# fit +.org 0x180 +int_180: + b . + +# watchdog +.org 0x1A0 +int_1A0: + b . + +# dtlb +.org 0x1C0 +int_1C0: + b . + +# itlb +.org 0x1E0 +int_1E0: + b . + +# vector unavailable +.org 0x200 +int_200: + b . + +# +.org 0x220 +int_220: + b . + +# +.org 0x240 +int_240: + b . + +# +.org 0x260 +int_260: + b . + +# doorbell +.org 0x280 +int_280: + b . + +# doorbell critical +.org 0x2A0 +int_2A0: + b . + +# doorbell guest +.org 0x2C0 +int_2C0: + b . + +# doorbell guest critical +.org 0x2E0 +int_2E0: + b . + +# hvsc +.org 0x300 +int_300: + b . + +# hvpriv +.org 0x320 +int_320: + b . + +# lrat +.org 0x340 +int_340: + b . + +# ------------------------------------------------------------------------------------------------------------------------------ +# initial translation +# both erats: +# 00000000 64K: (rom, BE) +# 00010000 64K: (ram, BE or LE) +# +.org 0x400 +boot_start: + + mfspr r5,tir # who am i? + cmpdi r5,0x00 # skip unless T0 + bne init_t123 + + lis r3,0x8C00 # 32=ecl 36:37=tlbsel (10=i, 11=d) + +# derat 31 @00000000 + li r0,0x001F # entry #31 + li r2,0x0015 # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw=60:61 ur/sr=62:63 + li r4,0 # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + li r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + mtspr mmucr0,r3 + eratwe r2,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + + load32 r10,BIOS_ERATW2 # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw=60:61 ur/sr=62:63 + +# derat 30 @ + li r0,0x001E # entry #30 + load32 r4,BIOS_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + load32 r8,BIOS_START + ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + eratwe r10,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + + lis r3,0x8800 # 32=ecl 36:37=tlbsel (10=i, 11=d) + +# ierat 15 @00000000 + li r0,0x000F # entry #15 + li r2,0x003F # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw=60:61 ur/sr=62:63 + li r4,0 # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + li r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + mtspr mmucr0,r3 + eratwe r2,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + + # *** leave the init'd entry 14 for MT access to FFFFFFC0 + # ierat 13 @ + li r0,0x000D # entry #13 + load32 r4,BIOS_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + load32 r8,BIOS_START + ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + eratwe r10,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + + b init_t0 + +# ------------------------------------------------------------------------------------------------------------------------------ +# init +# + +# T0 + +init_t0: + +# set up threads +# set thread configuration + + li r1,THREAD_ENABLES + mtspr tens,r1 # 60:63 = tid 3:0 enabled + not r1,r1 + mtspr tenc,r1 # in case T0 is marked disabled + isync + +# set up BIOS msr + + load32 r10,BIOS_MSR + mtmsr r10 + isync +# can't use load32 unless you can .set BIOS_STACK_0 to the linked value +# load32 r1,BIOS_STACK_0 # @stack_0 +# this ignores def +# lis r1,_stack_0@h +# ori r1,r1,_stack_0@l +# this requires data load + lwz r1,stack_0(r0) + + b boot_complete + +# except T0 + +init_t123: + +# set up BIOS msr + + load32 r10,BIOS_MSR + mtmsr r10 + isync + # check tir if more than 2 threads possible + lwz r1,stack_1(r0) + + b boot_complete + +# ------------------------------------------------------------------------------------------------------------------------------ +boot_complete: + +# set up thread and hop to it + + lis r3,main@h + ori r3,r3,main@l + mtctr r3 + mfspr r3,tir # who am i? + bctrl + b kernel_return + +# ------------------------------------------------------------------------------------------------------------------------------ + +.ifdef TST_PASSFAIL +.global tst_pass +.global tst_fail + +.org 0x7F0 +tst_pass: + b . + +.org 0x7F4 +tst_fail: + b . +.endif + +.org 0x7FC +kernel_return: + b . + +# dec +.org 0x800 +int_800: + b . + +# perf +.org 0x820 +int_820: + b . + +.org 0x8F0 +.section .rodata +stack_0: .long BIOS_STACK_0 +stack_1: .long BIOS_STACK_1 diff --git a/dev/src/test3_smt/build b/dev/src/test3_smt/build new file mode 100755 index 0000000..517ec9c --- /dev/null +++ b/dev/src/test3_smt/build @@ -0,0 +1,102 @@ +#!/usr/bin/bash + +export COMMONFLAGS="-ffreestanding -fomit-frame-pointer -Wall -fno-stack-protector" +export CFLAGS="$COMMONFLAGS -fexceptions -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes" + +#LITEXLIB= +#PRINTF= +LITEXLIB="libc.o vsnprintf.o console.o" +# getting dtlb in vsnprintf +PRINTF="-DPRINTF" + +# defines + +## define vars to init rom with csr's it uses... + +# +#csr_base=`grep '#define CSR_BASE' generated/csr.h | cut -d ' ' -f 3 | cut -c 1-6` +#uart_base=`grep 'CSR_UART_BASE' generated/csr.h | cut -d ' ' -f 5 | cut -c 3-6` +#UART_ADDR="${csr_base}${uart_base}" +#defsyms="-defsym $UART_ADDR" +# +#uart_base=`grep 'CSR_UART_1_BASE' generated/csr.h | cut -d ' ' -f 5 | cut -c 3-6` +#if [[ "$uart_base" != "" ]] ; then +# UART_1_ADDR="${csr_base}${uart_base}" +# defsyms="$defsyms -defsym $UART_1_ADDR" +#fi +# +#uart_base=`grep 'CSR_UART_2_BASE' generated/csr.h | cut -d ' ' -f 5 | cut -c 3-6` +#if [[ "$uart_base" != "" ]] ; then +# UART_2_ADDR="${csr_base}${uart_base}" +# defsyms="$defsyms -defsym $UART_2_ADDR" +#fi +# +#leds_base=`grep 'CSR_LEDS_BASE' generated/csr.h | cut -d ' ' -f 5 | cut -c 3-6` +#if [[ "$leds_base" != "" ]] ; then +# LEDS_ADDR="${csr_base}${leds_base}" +# defsyms="$defsyms -defsym $LEDS_ADDR" +#fi +# +#echo "CSR Addresses" +#echo "Console UART: ${UART_ADDR}" +#echo " LEDS: ${LEDS_ADDR}" +#echo " UART_1: ${UART_1_ADDR}" +#echo " UART_2: ${UART_1_ADDR}" + +# a2o nanokernel + +echo -n "Compiling..." + +echo -n "boot.s " +#powerpc-linux-gnu-as -mbig-endian -ma2 -defsym INT_SC=1 -defsym INT_UNHANDLED=1 -I. boot.s -ahlnd -o crt0.o > crt0.lst +powerpc-linux-gnu-as -mbig-endian -ma2 -defsym THREAD_ENABLES=3 -defsym TST_END=1 -defsym INT_UNHANDLED=1 -defsym TST_PASSFAIL=1 -I. boot.s -ahlnd -o crt0.o > crt0.lst + +if [ $? -ne 0 ]; then + exit +fi + +echo -n "arcitst.s " +#powerpc-linux-gnu-as -defsym UART_ADDR=$UART_ADDR -defsym LEDS_ADDR=$LEDS_ADDR -defsym UNHANDLED=1 -mbig-endian -mpower9 -I./asm asm/cmod7-boot.s -ahlnd -o crt0.o > crt0.lst +powerpc-linux-gnu-as -mbig-endian -ma2 -I. arcitst.s -ahlnd -o arcitst.o > arcitst.lst +if [ $? -ne 0 ]; then + exit +fi + +echo "" +echo -n "bios.c " +powerpc-linux-gnu-gcc $PRINTF -c -I. $CFLAGS bios.c +if [ $? -ne 0 ]; then + exit +fi + +echo "" +echo "Linking..." +powerpc-linux-gnu-ld -nostdlib -nodefaultlibs -T linker.ld crt0.o bios.o arcitst.o $LITEXLIB -o rom +if [ $? -ne 0 ]; then + exit +fi + +powerpc-linux-gnu-objdump -d rom > rom.d #wtf: why not getting labels in asm code? +powerpc-linux-gnu-objdump -s rom > rom.s +#powerpc-linux-gnu-objcopy --change-section-lma .bios=0x10000 -O binary rom rom.bin +powerpc-linux-gnu-objcopy -O binary rom rom.bin + +#python3 -m litex.soc.software.memusage rom ./generated/regions.ld powerpc-linux-gnu + +# make rom.bin.hex +bin/bin2init rom.bin +mv rom.bin.hex rom.init + +echo "Built rom.d, rom.s, rom.init." + +romsize=`grep rom regions.ld | cut -d " " -f 8 | cut -c 3-10` + +echo "Hardware ROM Size $romsize" +#echo "" +#echo "CSR Addresses" +#echo "Console UART: ${UART_ADDR}" +#echo " LEDS: ${LEDS_ADDR}" +#echo " UART_1: ${UART_1_ADDR}" +#echo " UART_2: ${UART_2_ADDR}" +# + diff --git a/dev/src/test3_smt/build_litex_base b/dev/src/test3_smt/build_litex_base new file mode 100755 index 0000000..fdd2579 --- /dev/null +++ b/dev/src/test3_smt/build_litex_base @@ -0,0 +1,43 @@ +#!/usr/bin/bash + +export COMMONFLAGS="-ffreestanding -fomit-frame-pointer -Wall -fno-stack-protector" +export CFLAGS="$COMMONFLAGS -fexceptions -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes" + +echo -n "Compiling..." + +echo "" + +echo -n "libc.c " +powerpc-linux-gnu-gcc -c -Ilitex/include/base -Ilitex/include/flibm $CFLAGS -DNO_FLOAT litex/libbase/libc.c +if [ $? -ne 0 ]; then + exit +fi + +echo -n "vsnprintf.c " +# NO_FLOAT gets rid of +#snprintf.c:(.text+0x800): undefined reference to `log10' +#powerpc-linux-gnu-ld: vsnprintf.c:(.text+0x80c): undefined reference to `floor' +#powerpc-linux-gnu-ld: vsnprintf.c:(.text+0x824): undefined reference to `pow' +#powerpc-linux-gnu-ld: vsnprintf.c:(.text+0x898): undefined reference to `fmod' +#powerpc-linux-gnu-ld: vsnprintf.c:(.text+0x950): undefined reference to `fmod' +powerpc-linux-gnu-gcc -c -Ilitex/include/base -Ilitex/include/flibm $CFLAGS -DNO_FLOAT litex/libbase/vsnprintf.c +if [ $? -ne 0 ]; then + exit +fi + +echo -n "console.c " +# use hacked console.c to printf to mem instead of uart - use console_set_write_hook(console_write_hook putchar_handler)) to print to buffer +#powerpc-linux-gnu-gcc -c -Ilitex/include/base -Ilitex/include/flibm $CFLAGS litex/libbase/console.c +powerpc-linux-gnu-gcc -nostdlib -nodefaultlibs -c -Ilitex/include/base -Ilitex/include/flibm $CFLAGS console.c + +if [ $? -ne 0 ]; then + exit +fi + +echo "" + +#echo "Linking to test dependencies..." +#powerpc-linux-gnu-ld -nostdlib -nodefaultlibs libc.o vsnprintf.o console.o -o litexlib.o +#if [ $? -ne 0 ]; then +# exit +#fi diff --git a/dev/src/test3_smt/console.c b/dev/src/test3_smt/console.c new file mode 100755 index 0000000..c0ddc6d --- /dev/null +++ b/dev/src/test3_smt/console.c @@ -0,0 +1,113 @@ +// use console_set_write_hook(func) to do putchar() to mem + +//#include +#include +#include +#include + +//#include + +FILE *stdin, *stdout, *stderr; + +static console_write_hook write_hook; +static console_read_hook read_hook; +static console_read_nonblock_hook read_nonblock_hook; + +void console_set_write_hook(console_write_hook h) +{ + write_hook = h; +} + +void console_set_read_hook(console_read_hook r, console_read_nonblock_hook rn) +{ + read_hook = r; + read_nonblock_hook = rn; +} + +#ifdef CSR_UART_BASE +int putchar(int c) +{ + uart_write(c); + if(write_hook != NULL) + write_hook(c); + if (c == '\n') + putchar('\r'); + return c; +} + +char readchar(void) +{ + while(1) { + if(uart_read_nonblock()) + return uart_read(); + if((read_nonblock_hook != NULL) && read_nonblock_hook()) + return read_hook(); + } +} + +int readchar_nonblock(void) +{ + return (uart_read_nonblock() + || ((read_nonblock_hook != NULL) && read_nonblock_hook())); +} + +#else + +int putchar(int c) +{ + if(write_hook != NULL) + write_hook(c); + return c; +} + +char readchar(void) +{ + while(1) { + if((read_nonblock_hook != NULL) && read_nonblock_hook()) + return read_hook(); + } +} + +int readchar_nonblock(void) +{ + return ((read_nonblock_hook != NULL) && read_nonblock_hook()); +} + +#endif + +int puts(const char *s) +{ + putsnonl(s); + putchar('\n'); + return 1; +} + +void putsnonl(const char *s) +{ + while(*s) { + putchar(*s); + s++; + } +} + +#define PRINTF_BUFFER_SIZE 256 + +int vprintf(const char *fmt, va_list args) +{ + int len; + char outbuf[PRINTF_BUFFER_SIZE]; + len = vscnprintf(outbuf, sizeof(outbuf), fmt, args); + outbuf[len] = 0; + putsnonl(outbuf); + return len; +} + +int printf(const char *fmt, ...) +{ + int len; + va_list args; + va_start(args, fmt); + len = vprintf(fmt, args); + va_end(args); + return len; +} diff --git a/dev/src/test3_smt/cpl_hang.png b/dev/src/test3_smt/cpl_hang.png new file mode 100644 index 0000000..b98460f Binary files /dev/null and b/dev/src/test3_smt/cpl_hang.png differ diff --git a/dev/src/test3_smt/crt0.lst b/dev/src/test3_smt/crt0.lst new file mode 100644 index 0000000..a52615d --- /dev/null +++ b/dev/src/test3_smt/crt0.lst @@ -0,0 +1,674 @@ + 1 # © IBM Corp. 2022 + 2 # Licensed under and subject to the terms of the CC-BY 4.0 + 3 # license (https://creativecommons.org/licenses/by/4.0/legalcode). + 4 # Additional rights, including the right to physically implement a softcore + 5 # that is compliant with the required sections of the Power ISA + 6 # Specification, will be available at no cost via the OpenPOWER Foundation. + 7 # This README will be updated with additional information when OpenPOWER's + 8 # license is available. + 9 + 10 # boot kernel + 11 # resets to 32BE + 12 # set up translations for starting bios (inc. BE/LE) + 13 # copy modifiable rom data to ram - or do in bios? + 14 # set up msr for running bios (inc. 32/64) + 15 # jump to bios + 16 + 17 + 18 .include "defines.s" + 1 # © IBM Corp. 2020 + 2 # Licensed under and subject to the terms of the CC-BY 4.0 + 3 # license (https://creativecommons.org/licenses/by/4.0/legalcode). + 4 # Additional rights, including the right to physically implement a softcore + 5 # that is compliant with the required sections of the Power ISA + 6 # Specification, will be available at no cost via the OpenPOWER Foundation. + 7 # This README will be updated with additional information when OpenPOWER's + 8 # license is available. + 9 + 10 #----------------------------------------- + 11 # Defines + 12 #----------------------------------------- + 13 + 14 # Regs + 15 + 16 .set r0, 0 + 17 .set r1, 1 + 18 .set r2, 2 + 19 .set r3, 3 + 20 .set r4, 4 + 21 .set r5, 5 + 22 .set r6, 6 + 23 .set r7, 7 + 24 .set r8, 8 + 25 .set r9, 9 + 26 .set r10,10 + 27 .set r11,11 + 28 .set r12,12 + 29 .set r13,13 + 30 .set r14,14 + 31 .set r15,15 + 32 .set r16,16 + 33 .set r17,17 + 34 .set r18,18 + 35 .set r19,19 + 36 .set r20,20 + 37 .set r21,21 + 38 .set r22,22 + 39 .set r23,23 + 40 .set r24,24 + 41 .set r25,25 + 42 .set r26,26 + 43 .set r27,27 + 44 .set r28,28 + 45 .set r29,29 + 46 .set r30,30 + 47 .set r31,31 + 48 + 49 .set f0, 0 + 50 .set f1, 1 + 51 .set f2, 2 + 52 .set f3, 3 + 53 .set f4, 4 + 54 .set f5, 5 + 55 .set f6, 6 + 56 .set f7, 7 + 57 .set f8, 8 + 58 .set f9, 9 + 59 .set f10,10 + 60 .set f11,11 + 61 .set f12,12 + 62 .set f13,13 + 63 .set f14,14 + 64 .set f15,15 + 65 .set f16,16 + 66 .set f17,17 + 67 .set f18,18 + 68 .set f19,19 + 69 .set f20,20 + 70 .set f21,21 + 71 .set f22,22 + 72 .set f23,23 + 73 .set f24,24 + 74 .set f25,25 + 75 .set f26,26 + 76 .set f27,27 + 77 .set f28,28 + 78 .set f29,29 + 79 .set f30,30 + 80 .set f31,31 + 81 + 82 .set cr0, 0 + 83 .set cr1, 1 + 84 .set cr2, 2 + 85 .set cr3, 3 + 86 .set cr4, 4 + 87 .set cr5, 5 + 88 .set cr6, 6 + 89 .set cr7, 7 + 90 + 91 # SPR numbers + 92 + 93 .set srr0, 26 + 94 .set srr1, 27 + 95 .set dar, 19 + 96 .set dsisr, 18 + 97 .set epcr, 307 + 98 .set tar, 815 + 99 + 100 .set dbsr, 304 + 101 .set dbcr0, 308 + 102 .set dbcr1, 309 + 103 .set dbcr2, 310 + 104 .set dbcr3, 848 + 105 + 106 .set ivpr, 63 + 107 + 108 .set iucr0, 1011 + 109 .set iucr1, 883 + 110 .set iucr2, 884 + 111 + 112 .set iudbg0, 888 + 113 .set iudbg1, 889 + 114 .set iudbg2, 890 + 115 .set iulfsr, 891 + 116 .set iullcr, 892 + 117 + 118 .set mmucr0, 1020 + 119 .set mmucr1, 1021 + 120 .set mmucr2, 1022 + 121 .set mmucr3, 1023 + 122 + 123 .set tb, 268 + 124 .set tbl, 284 + 125 .set tbh, 285 + 126 + 127 .set dec, 22 + 128 .set udec, 550 + 129 .set tsr, 336 + 130 .set tcr, 340 + 131 + 132 .set xucr0, 1014 + 133 .set xucr1, 851 + 134 .set xucr2, 1016 + 135 .set xucr3, 852 + 136 .set xucr4, 853 + 137 + 138 .set tens, 438 + 139 .set tenc, 439 + 140 .set tensr, 437 + 141 + 142 .set pid, 48 + 143 .set pir, 286 + 144 .set pvr, 287 + 145 .set tir, 446 + 146 + 147 #.set sprg0, + 148 #.set sprg1, + 149 #.set sprg2, + 150 .set sprg3, 259 + 19 + 20 .macro load32 rx,v + 21 li \rx,0 + 22 oris \rx,\rx,\v>>16 + 23 ori \rx,\rx,\v&0x0000FFFF + 24 .endm + 25 + 26 .macro load16swiz rx,v + 27 li \rx,0 + 28 ori \rx,\rx,(\v<<8)&0xFF00 + 29 ori \rx,\rx,(\v>>8)&0x00FF + 30 .endm + 31 + 32 # constants from linker script, or defsym + 33 + 34 .ifndef THREAD_ENABLES + 35 .set THREAD_ENABLES 0x1 + 36 .endif + 37 + 38 .ifdef BIOS_32 + 39 # sup MSR cm=1 ce=1 ee=1 pr=0 fp=1 me=1 fe=00 de=0 is=0 ds=0 + 40 .set BIOS_MSR,0x0002B000 + 41 .else + 42 # sup MSR cm=1 ce=1 ee=1 pr=0 fp=1 me=1 fe=00 de=0 is=0 ds=0 + 43 .set BIOS_MSR,0x8002B000 + 44 .endif + 45 + 46 #wtf this should to be done in bios based on the tst + 47 # erat w2 (test) # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw + 48 .ifdef BIOS_LE + 49 .set BIOS_ERATW2,0x000000BF + 50 .else + 51 .set BIOS_ERATW2,0x0000003F + 52 .endif + 53 + 54 # bios might be able to use one stack during thread startup if careful + 55 .ifndef BIOS_STACK_0 + 56 .set BIOS_STACK_0,_stack_0 + 57 .endif + 58 + 59 .ifndef BIOS_STACK_1 + 60 .set BIOS_STACK_1,_stack_1 + 61 .endif + 62 + 63 #wtf get rid of this and just make the low 1G a single erat entry - it can be fixed up by bios late + 64 .ifndef BIOS_START + 65 .set BIOS_START,0x00010000 + 66 .endif + 67 + 68 .section .text + 69 + 70 .global _start + 71 + 72 .org 0x000 + 73 _start: + 74 int_000: + 75 0000 48000400 b boot_start + 76 + 77 .ifdef TST_END + 78 # tst ends with ba here, which switches to priv and jumps to tst_end + 79 0004 44000002 sc + 80 .endif + 81 + 82 # critical input + 83 0008 00000000 .org 0x020 + 83 00000000 + 83 00000000 + 83 00000000 + 83 00000000 + 84 int_020: + 85 .ifdef INT_UNHANDLED + 86 0020 48000000 b int_unhandled + 87 .else + 88 b . + 89 .endif + 90 + 91 # debug + 92 0024 00000000 .org 0x040 + 92 00000000 + 92 00000000 + 92 00000000 + 92 00000000 + 93 int_040: + 94 0040 48000000 b . + 95 + 96 # dsi + 97 0044 00000000 .org 0x060 + 97 00000000 + 97 00000000 + 97 00000000 + 97 00000000 + 98 int_060: + 99 0060 48000000 b . + 100 + 101 # isi + 102 0064 00000000 .org 0x080 + 102 00000000 + 102 00000000 + 102 00000000 + 102 00000000 + 103 int_080: + 104 0080 48000000 b . + 105 + 106 # external + 107 0084 00000000 .org 0x0A0 + 107 00000000 + 107 00000000 + 107 00000000 + 107 00000000 + 108 int_0A0: + 109 00a0 48000000 b . + 110 + 111 # alignment + 112 00a4 00000000 .org 0x0C0 + 112 00000000 + 112 00000000 + 112 00000000 + 112 00000000 + 113 int_0C0: + 114 00c0 48000000 b . + 115 + 116 # program + 117 00c4 00000000 .org 0x0E0 + 117 00000000 + 117 00000000 + 117 00000000 + 117 00000000 + 118 int_0E0: + 119 00e0 48000000 b . + 120 + 121 # fp unavailable + 122 00e4 00000000 .org 0x100 + 122 00000000 + 122 00000000 + 122 00000000 + 122 00000000 + 123 int_100: + 124 0100 48000000 b . + 125 + 126 # sc + 127 0104 00000000 .org 0x120 + 127 00000000 + 127 00000000 + 127 00000000 + 127 00000000 + 128 int_120: + 129 .ifdef TST_END + 130 # tst results haven't been saved yet; if want to call bios, need to save r1, then restore or set st + 131 0120 48000000 b tst_end + 132 .else + 133 .ifdef INT_SC + 134 # lev is in 20:26, but supposed to use scv now + 135 li r3,0 + 136 mfsrr0 r4 + 137 b int_sc + 138 .else + 139 .ifdef INT_UNHANDLED + 140 b int_unhandled + 141 .else + 142 b . + 143 .endif + 144 .endif + 145 .endif + 146 + 147 # apu unavailable + 148 0124 00000000 .org 0x140 + 148 00000000 + 148 00000000 + 148 00000000 + 148 00000000 + 149 int_140: + 150 0140 48000000 b . + 151 + 152 # decrementer + 153 0144 00000000 .org 0x160 + 153 00000000 + 153 00000000 + 153 00000000 + 153 00000000 + 154 int_160: + 155 0160 48000000 b . + 156 + 157 # fit + 158 0164 00000000 .org 0x180 + 158 00000000 + 158 00000000 + 158 00000000 + 158 00000000 + 159 int_180: + 160 0180 48000000 b . + 161 + 162 # watchdog + 163 0184 00000000 .org 0x1A0 + 163 00000000 + 163 00000000 + 163 00000000 + 163 00000000 + 164 int_1A0: + 165 01a0 48000000 b . + 166 + 167 # dtlb + 168 01a4 00000000 .org 0x1C0 + 168 00000000 + 168 00000000 + 168 00000000 + 168 00000000 + 169 int_1C0: + 170 01c0 48000000 b . + 171 + 172 # itlb + 173 01c4 00000000 .org 0x1E0 + 173 00000000 + 173 00000000 + 173 00000000 + 173 00000000 + 174 int_1E0: + 175 01e0 48000000 b . + 176 + 177 # vector unavailable + 178 01e4 00000000 .org 0x200 + 178 00000000 + 178 00000000 + 178 00000000 + 178 00000000 + 179 int_200: + 180 0200 48000000 b . + 181 + 182 # + 183 0204 00000000 .org 0x220 + 183 00000000 + 183 00000000 + 183 00000000 + 183 00000000 + 184 int_220: + 185 0220 48000000 b . + 186 + 187 # + 188 0224 00000000 .org 0x240 + 188 00000000 + 188 00000000 + 188 00000000 + 188 00000000 + 189 int_240: + 190 0240 48000000 b . + 191 + 192 # + 193 0244 00000000 .org 0x260 + 193 00000000 + 193 00000000 + 193 00000000 + 193 00000000 + 194 int_260: + 195 0260 48000000 b . + 196 + 197 # doorbell + 198 0264 00000000 .org 0x280 + 198 00000000 + 198 00000000 + 198 00000000 + 198 00000000 + 199 int_280: + 200 0280 48000000 b . + 201 + 202 # doorbell critical + 203 0284 00000000 .org 0x2A0 + 203 00000000 + 203 00000000 + 203 00000000 + 203 00000000 + 204 int_2A0: + 205 02a0 48000000 b . + 206 + 207 # doorbell guest + 208 02a4 00000000 .org 0x2C0 + 208 00000000 + 208 00000000 + 208 00000000 + 208 00000000 + 209 int_2C0: + 210 02c0 48000000 b . + 211 + 212 # doorbell guest critical + 213 02c4 00000000 .org 0x2E0 + 213 00000000 + 213 00000000 + 213 00000000 + 213 00000000 + 214 int_2E0: + 215 02e0 48000000 b . + 216 + 217 # hvsc + 218 02e4 00000000 .org 0x300 + 218 00000000 + 218 00000000 + 218 00000000 + 218 00000000 + 219 int_300: + 220 0300 48000000 b . + 221 + 222 # hvpriv + 223 0304 00000000 .org 0x320 + 223 00000000 + 223 00000000 + 223 00000000 + 223 00000000 + 224 int_320: + 225 0320 48000000 b . + 226 + 227 # lrat + 228 0324 00000000 .org 0x340 + 228 00000000 + 228 00000000 + 228 00000000 + 228 00000000 + 229 int_340: + 230 0340 48000000 b . + 231 + 232 # ------------------------------------------------------------------------------------------------- + 233 # initial translation + 234 # both erats: + 235 # 00000000 64K: (rom, BE) + 236 # 00010000 64K: (ram, BE or LE) + 237 # + 238 0344 00000000 .org 0x400 + 238 00000000 + 238 00000000 + 238 00000000 + 238 00000000 + 239 boot_start: + 240 + 241 0400 7CBE6AA6 mfspr r5,tir # who am i? + 242 0404 2C250000 cmpdi r5,0x00 # skip unless T0 + 243 0408 408200F4 bne init_t123 + 244 + 245 040c 3C608C00 lis r3,0x8C00 # 32=ecl 36:37=tlbsel (10=i, 11=d) + 246 + 247 # derat 31 @00000000 + 248 0410 3800001F li r0,0x001F # entry #31 + 249 0414 38400015 li r2,0x0015 # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/ + 250 0418 38800000 li r4,0 # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + 251 041c 3900023F li r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 s + 252 + 253 0420 7C7CFBA6 mtspr mmucr0,r3 + 254 0424 7C4011A6 eratwe r2,r0,2 + 255 0428 7C8009A6 eratwe r4,r0,1 + 256 042c 7D0001A6 eratwe r8,r0,0 + 257 0430 4C00012C isync + 258 + 259 0434 39400000 load32 r10,BIOS_ERATW2 # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/ + 259 654A0000 + 259 614A003F + 260 + 261 # derat 30 @ + 262 0440 3800001E li r0,0x001E # entry #30 + 263 0444 38800000 load32 r4,BIOS_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + 263 64840001 + 263 60840000 + 264 0450 39000000 load32 r8,BIOS_START + 264 65080001 + 264 61080000 + 265 045c 6108023F ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 s + 266 + 267 0460 7D4011A6 eratwe r10,r0,2 + 268 0464 7C8009A6 eratwe r4,r0,1 + 269 0468 7D0001A6 eratwe r8,r0,0 + 270 046c 4C00012C isync + 271 + 272 0470 3C608800 lis r3,0x8800 # 32=ecl 36:37=tlbsel (10=i, 11=d) + 273 + 274 # ierat 15 @00000000 + 275 0474 3800000F li r0,0x000F # entry #15 + 276 0478 3840003F li r2,0x003F # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/ + 277 047c 38800000 li r4,0 # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + 278 0480 3900023F li r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 s + 279 + 280 0484 7C7CFBA6 mtspr mmucr0,r3 + 281 0488 7C4011A6 eratwe r2,r0,2 + 282 048c 7C8009A6 eratwe r4,r0,1 + 283 0490 7D0001A6 eratwe r8,r0,0 + 284 0494 4C00012C isync + 285 + 286 # *** leave the init'd entry 14 for MT access to FFFFFFC0 + 287 # ierat 13 @ + 288 0498 3800000D li r0,0x000D # entry #13 + 289 049c 38800000 load32 r4,BIOS_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + 289 64840001 + 289 60840000 + 290 04a8 39000000 load32 r8,BIOS_START + 290 65080001 + 290 61080000 + 291 04b4 6108023F ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 s + 292 + 293 04b8 7D4011A6 eratwe r10,r0,2 + 294 04bc 7C8009A6 eratwe r4,r0,1 + 295 04c0 7D0001A6 eratwe r8,r0,0 + 296 04c4 4C00012C isync + 297 + 298 04c8 48000004 b init_t0 + 299 + 300 # ------------------------------------------------------------------------------------------------- + 301 # init + 302 # + 303 + 304 # T0 + 305 + 306 init_t0: + 307 + 308 # set up threads + 309 # set thread configuration + 310 + 311 04cc 38200003 li r1,THREAD_ENABLES + 312 04d0 7C366BA6 mtspr tens,r1 # 60:63 = tid 3:0 enabled + 313 04d4 7C2108F8 not r1,r1 + 314 04d8 7C376BA6 mtspr tenc,r1 # in case T0 is marked disabled + 315 04dc 4C00012C isync + 316 + 317 # set up BIOS msr + 318 + 319 04e0 39400000 load32 r10,BIOS_MSR + 319 654A8002 + 319 614AB000 + 320 04ec 7D400124 mtmsr r10 + 321 04f0 4C00012C isync + 322 # can't use load32 unless you can .set BIOS_STACK_0 to the linked value + 323 # load32 r1,BIOS_STACK_0 # @stack_0 + 324 # this ignores def + 325 # lis r1,_stack_0@h + 326 # ori r1,r1,_stack_0@l + 327 # this requires data load + 328 04f4 80200000 lwz r1,stack_0(r0) + 329 + 330 04f8 48000020 b boot_complete + 331 + 332 # except T0 + 333 + 334 init_t123: + 335 + 336 # set up BIOS msr + 337 + 338 04fc 39400000 load32 r10,BIOS_MSR + 338 654A8002 + 338 614AB000 + 339 0508 7D400124 mtmsr r10 + 340 050c 4C00012C isync + 341 # check tir if more than 2 threads possible + 342 0510 80200000 lwz r1,stack_1(r0) + 343 + 344 0514 48000004 b boot_complete + 345 + 346 # ------------------------------------------------------------------------------------------------- + 347 boot_complete: + 348 + 349 # set up thread and hop to it + 350 + 351 0518 3C600000 lis r3,main@h + 352 051c 60630000 ori r3,r3,main@l + 353 0520 7C6903A6 mtctr r3 + 354 0524 7C7E6AA6 mfspr r3,tir # who am i? + 355 0528 4E800421 bctrl + 356 052c 480002D0 b kernel_return + 357 + 358 # ------------------------------------------------------------------------------------------------- + 359 + 360 .ifdef TST_PASSFAIL + 361 .global tst_pass + 362 .global tst_fail + 363 + 364 0530 00000000 .org 0x7F0 + 364 00000000 + 364 00000000 + 364 00000000 + 364 00000000 + 365 tst_pass: + 366 07f0 48000000 b . + 367 + 368 .org 0x7F4 + 369 tst_fail: + 370 07f4 48000000 b . + 371 .endif + 372 + 373 07f8 00000000 .org 0x7FC + 374 kernel_return: + 375 07fc 48000000 b . + 376 + 377 # dec + 378 .org 0x800 + 379 int_800: + 380 0800 48000000 b . + 381 + 382 # perf + 383 0804 00000000 .org 0x820 + 383 00000000 + 383 00000000 + 383 00000000 + 383 00000000 + 384 int_820: + 385 0820 48000000 b . + 386 + 387 0824 00000000 .org 0x8F0 + 387 00000000 + 387 00000000 + 387 00000000 + 387 00000000 + 388 .section .rodata + 389 0000 00000000 stack_0: .long BIOS_STACK_0 + 390 0004 00000000 stack_1: .long BIOS_STACK_1 diff --git a/dev/src/test3_smt/defines.s b/dev/src/test3_smt/defines.s new file mode 100755 index 0000000..0607732 --- /dev/null +++ b/dev/src/test3_smt/defines.s @@ -0,0 +1,150 @@ +# © IBM Corp. 2020 +# Licensed under and subject to the terms of the CC-BY 4.0 +# license (https://creativecommons.org/licenses/by/4.0/legalcode). +# Additional rights, including the right to physically implement a softcore +# that is compliant with the required sections of the Power ISA +# Specification, will be available at no cost via the OpenPOWER Foundation. +# This README will be updated with additional information when OpenPOWER's +# license is available. + +#----------------------------------------- +# Defines +#----------------------------------------- + +# Regs + +.set r0, 0 +.set r1, 1 +.set r2, 2 +.set r3, 3 +.set r4, 4 +.set r5, 5 +.set r6, 6 +.set r7, 7 +.set r8, 8 +.set r9, 9 +.set r10,10 +.set r11,11 +.set r12,12 +.set r13,13 +.set r14,14 +.set r15,15 +.set r16,16 +.set r17,17 +.set r18,18 +.set r19,19 +.set r20,20 +.set r21,21 +.set r22,22 +.set r23,23 +.set r24,24 +.set r25,25 +.set r26,26 +.set r27,27 +.set r28,28 +.set r29,29 +.set r30,30 +.set r31,31 + +.set f0, 0 +.set f1, 1 +.set f2, 2 +.set f3, 3 +.set f4, 4 +.set f5, 5 +.set f6, 6 +.set f7, 7 +.set f8, 8 +.set f9, 9 +.set f10,10 +.set f11,11 +.set f12,12 +.set f13,13 +.set f14,14 +.set f15,15 +.set f16,16 +.set f17,17 +.set f18,18 +.set f19,19 +.set f20,20 +.set f21,21 +.set f22,22 +.set f23,23 +.set f24,24 +.set f25,25 +.set f26,26 +.set f27,27 +.set f28,28 +.set f29,29 +.set f30,30 +.set f31,31 + +.set cr0, 0 +.set cr1, 1 +.set cr2, 2 +.set cr3, 3 +.set cr4, 4 +.set cr5, 5 +.set cr6, 6 +.set cr7, 7 + +# SPR numbers + +.set srr0, 26 +.set srr1, 27 +.set dar, 19 +.set dsisr, 18 +.set epcr, 307 +.set tar, 815 + +.set dbsr, 304 +.set dbcr0, 308 +.set dbcr1, 309 +.set dbcr2, 310 +.set dbcr3, 848 + +.set ivpr, 63 + +.set iucr0, 1011 +.set iucr1, 883 +.set iucr2, 884 + +.set iudbg0, 888 +.set iudbg1, 889 +.set iudbg2, 890 +.set iulfsr, 891 +.set iullcr, 892 + +.set mmucr0, 1020 +.set mmucr1, 1021 +.set mmucr2, 1022 +.set mmucr3, 1023 + +.set tb, 268 +.set tbl, 284 +.set tbh, 285 + +.set dec, 22 +.set udec, 550 +.set tsr, 336 +.set tcr, 340 + +.set xucr0, 1014 +.set xucr1, 851 +.set xucr2, 1016 +.set xucr3, 852 +.set xucr4, 853 + +.set tens, 438 +.set tenc, 439 +.set tensr, 437 + +.set pid, 48 +.set pir, 286 +.set pvr, 287 +.set tir, 446 + +#.set sprg0, +#.set sprg1, +#.set sprg2, +.set sprg3, 259 diff --git a/dev/src/test3_smt/fx_alucmpbr.tst b/dev/src/test3_smt/fx_alucmpbr.tst new file mode 100644 index 0000000..06d4324 --- /dev/null +++ b/dev/src/test3_smt/fx_alucmpbr.tst @@ -0,0 +1,319 @@ +* OPV +* Testname: fx_alucmpbr.tst + +* -------------------------------------------------------------------------------- +TEST 1001 +INITIALIZATIONS: DATA MEMORY +D 0000000008F00850 0001FFFFFF000007D400000068877812 * PTE Match EPN=0x000000000001 VPN=0x0001FFFFFF000001 RPN=0x000000006887 WIMG=0x2 I TA=0 +D 0000000053E6FD70 2000000008F10B02 * Root Table Descriptor , Partition Table Primary Entry for LPID = 0xFD7: HTABORG = 0x0800_0000_023C, HTABSIZE = 0x02, PS = 0x0, Entry Address = 0x0000_0000_53E6_FD70 WIMG=0x2 +D 0000000053E6FD78 000618E1E5836C87 * Segmentation On HPT, Process Table Descriptor, Partition Table Secondary Entry for LPID = 0xFD7: PRTB = 0x00_030C_70F2, PTS = 0x07, NUT = 0x0, PTPS = 0x4 WIMG=0x2 +D 00000000F0D2D3F0 400AC1CD9CEF56376DF7C045D17603CB * Guest Root Table Descriptor, Process Table Entry for LPID = 0x000 STABORGU = 0x000A_C1CD_9CEF_5637 STABORGL = 0x6 STABSIZE = 0xC B = 0x1 STPS = 0x5 +INITIALIZATIONS: INSTRUCTION MEMORY +LEVEL 4 CHIP 0 +LEVEL 3 CORE 0 +INITIALIZATIONS: REGISTERS +LEVEL 2 PARTITION 0 +INITIALIZATIONS: REGISTERS +LEVEL 1 THREAD 0 +INITIALIZATIONS: REGISTERS +R CR DBFD3628 * LT:1 GT:1 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R DAR 96A22826D573F45F +R DSISR 48068CFB * TS:0 PF:1 ATT:0 Rsrv35:0 Prot:1 CI:0 +* Store:0 Rsrv39_40:0 DAWR:0 VPCK:0 +* SMF:0 RADIX:0 RC:1 Guest_Tbl:1 +* Rsrv47_61:233E CIX:1 EAO:1 +R DEC 0000000005792645 +R XER 00002E2289F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:0 LT:1 GT:0 EQ:0 IC:1 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R G0 CC7B4BBA00000000 +R G1 F99E00E65822C905 +R G3 48577A9C91B6D1A3 +R G9 6872DEB47E11EE88 +R G11 415D35187FFFFFFF +R G14 BCF163168C20BDE6 +R G16 CE83BAA576D0DADF +R G17 06C01CAE15111F42 +R G19 4283519E36108E50 +R G22 4FA8B87B328A0CED +R G25 9138C732AF224C19 +R G28 2F4816B9D624B27A +R IAR 0000000000010000 +R MSR 0000000000001104 * SF:0 TA:0 Rsrv2_old_ISF:0 HV:0 +* Rsrv4:0 SLE:0 Rsrv6_28:000000 TS:0 +* TM:0 Rsrv32_37:00 VMX:0 Rsrv39:0 +* VSX:0 S:0 Rsrv42_47:00 EE:0 PR:0 FP:0 +* ME:1 FE0:0 SE:0 BE:0 FE1:1 US:0 +* Rsrv57_old_IP:0 IR:0 DR:0 +* Rsrv60_old_SO:0 PMM:1 RI:0 LE:0 + +PHASE 0 INSTRUCTIONS +I 0000000068870000 7C61CC14 * EA=0000000000010000 WIMG=2 addco G3,G1,G25 INum:1 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G1 F99E00E65822C905 +R G25 9138C732AF224C19 +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 0000000000000000 M 0000000000000000 * PTE +TRACE WRITES +R G3 8AD6C8190745151E +R XER 00002E22A9F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:0 LT:1 GT:0 EQ:0 IC:1 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +R IAR 0000000000010004 +D 0000000008F00858 D400000068877912 * PTE +I 0000000068870004 7D230595 * EA=0000000000010004 WIMG=2 addzeo. G9,G3 INum:2 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G3 8AD6C8190745151E +R XER 00002E22A9F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:0 LT:1 GT:0 EQ:0 IC:1 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G9 8AD6C8190745151F +R XER 00002E2284F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:0 LT:0 GT:1 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R CR 5BFD3628 * LT:0 GT:1 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 0000000000010008 +I 0000000068870008 7AC37392 * EA=0000000000010008 WIMG=2 rldcr G3,G22,G14,0x0E INum:3 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G14 BCF163168C20BDE6 +R G22 4FA8B87B328A0CED +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G3 A282000000000000 +R IAR 000000000001000C +I 000000006887000C 7E094C11 * EA=000000000001000C WIMG=2 subfco. G16,G9,G9 INum:4 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G9 8AD6C8190745151F +R XER 00002E2284F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:0 LT:0 GT:1 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G16 0000000000000000 +R XER 00002E22B2F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:0 EQ:1 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +R CR 3BFD3628 * LT:0 GT:0 EQ:1 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 0000000000010010 +I 0000000068870010 7E1CB115 * EA=0000000000010010 WIMG=2 adde. G16,G28,G22 INum:5 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G28 2F4816B9D624B27A +R G22 4FA8B87B328A0CED +R XER 00002E22B2F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:0 EQ:1 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G16 7EF0CF3508AEBF68 +R XER 00002E22B4F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:1 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +R CR 5BFD3628 * LT:0 GT:1 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 0000000000010014 +I 0000000068870014 7A338886 * EA=0000000000010014 WIMG=2 rldicr G19,G17,0x31,0x02 INum:6 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G17 06C01CAE15111F42 +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G19 2000000000000000 +R IAR 0000000000010018 +I 0000000068870018 7C6004D1 * EA=0000000000010018 WIMG=2 nego. G3,G0 INum:7 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G0 CC7B4BBA00000000 +R XER 00002E22B4F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:1 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G3 3384B44600000000 +R XER 00002E22B2F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:0 EQ:1 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +R CR 3BFD3628 * LT:0 GT:0 EQ:1 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 000000000001001C +I 000000006887001C 7E09B038 * EA=000000000001001C WIMG=2 and G9,G16,G22 INum:8 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G16 7EF0CF3508AEBF68 +R G22 4FA8B87B328A0CED +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G9 4EA08831008A0C68 +R IAR 0000000000010020 +I 0000000068870020 7C360591 * EA=0000000000010020 WIMG=2 subfzeo. G1,G22 INum:9 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G22 4FA8B87B328A0CED +R XER 00002E22B2F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:0 EQ:1 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G1 B0574784CD75F313 +R XER 00002E2298F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:1 LT:1 GT:0 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R CR 9BFD3628 * LT:1 GT:0 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 0000000000010024 +I 0000000068870024 7E2B00D1 * EA=0000000000010024 WIMG=2 neg. G17,G11 INum:10 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G11 415D35187FFFFFFF +R XER 00002E2298F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:1 LT:1 GT:0 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G17 BEA2CAE780000001 +R XER 00002E2298F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:1 LT:1 GT:0 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R CR 9BFD3628 * LT:1 GT:0 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +* FALSE PHASE 0.0 INSTRUCTIONS +R IAR 0000000000010028 + +EPILOGUE +* Begin macro Epilogue_Sequence +* TRUE +* TRUE +I 0000000068870028 60000000 * EA=0000000000010028 WIMG=2 nop INum:11 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R IAR 000000000001002C +I 000000006887002C 60000000 * EA=000000000001002C WIMG=2 nop_Epilogue INum:12 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R IAR 0000000000010030 +I 0000000068870030 60000000 * EA=0000000000010030 WIMG=2 nop_Epilogue INum:13 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R IAR 0000000000010034 +I 0000000068870034 24000000 * EA=0000000000010034 WIMG=2 notrace INum:14 PartId:0 ThreadId:0 Phase:0 CoreId:0 +* End of macro Epilogue_Sequence +RESULTS: REGISTERS +R CR 9BFD3628 * LT:1 GT:0 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R DAR 96A22826D573F45F +R DSISR 48068CFB * TS:0 PF:1 ATT:0 Rsrv35:0 Prot:1 CI:0 +* Store:0 Rsrv39_40:0 DAWR:0 VPCK:0 +* SMF:0 RADIX:0 RC:1 Guest_Tbl:1 +* Rsrv47_61:233E CIX:1 EAO:1 +R DEC 0000000005792645 +R XER 00002E2298F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:1 LT:1 GT:0 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R G0 CC7B4BBA00000000 +R G1 B0574784CD75F313 +R G3 3384B44600000000 +R G9 4EA08831008A0C68 +R G11 415D35187FFFFFFF +R G14 BCF163168C20BDE6 +R G16 7EF0CF3508AEBF68 +R G17 BEA2CAE780000001 +R G19 2000000000000000 +R G22 4FA8B87B328A0CED +R G25 9138C732AF224C19 +R G28 2F4816B9D624B27A +R IAR 0000000000010038 +R MSR 0000000000001104 * SF:0 TA:0 Rsrv2_old_ISF:0 HV:0 +* Rsrv4:0 SLE:0 Rsrv6_28:000000 TS:0 +* TM:0 Rsrv32_37:00 VMX:0 Rsrv39:0 +* VSX:0 S:0 Rsrv42_47:00 EE:0 PR:0 FP:0 +* ME:1 FE0:0 SE:0 BE:0 FE1:1 US:0 +* Rsrv57_old_IP:0 IR:0 DR:0 +* Rsrv60_old_SO:0 PMM:1 RI:0 LE:0 +END_OF_LEVEL 1 THREAD 0 +RESULTS: REGISTERS +END_OF_LEVEL 2 PARTITION 0 +RESULTS: REGISTERS +END_OF_LEVEL 3 CORE 0 +END_OF_LEVEL 4 CHIP 0 +RESULTS: DATA MEMORY +D 0000000008F00850 0001FFFFFF000007D400000068877912 * PTE +D 0000000053E6FD70 2000000008F10B02 +D 0000000053E6FD78 000618E1E5836C87 +D 00000000F0D2D3F0 400AC1CD9CEF56376DF7C045D17603CB +END_OF_TEST diff --git a/dev/src/test3_smt/liblitex.h b/dev/src/test3_smt/liblitex.h new file mode 100644 index 0000000..7fa8627 --- /dev/null +++ b/dev/src/test3_smt/liblitex.h @@ -0,0 +1,8 @@ +#ifndef _LITEXLIB_ +#define _LITEXLIB_ + +//#include +#include + + +#endif \ No newline at end of file diff --git a/dev/src/test3_smt/linker.ld b/dev/src/test3_smt/linker.ld new file mode 100755 index 0000000..d48492f --- /dev/null +++ b/dev/src/test3_smt/linker.ld @@ -0,0 +1,94 @@ +/* this version puts kernel and bios at rom start + +/* define format +INCLUDE output_format.ld */ +OUTPUT_FORMAT("elf32-powerpc") + +ENTRY(_start) + +/* define origin, len of rom, ram, csr */ +INCLUDE regions.ld + +SECTIONS +{ + /* kernel code */ + .kernel : + { + /*_fkernel = .; */ + *crt0*(.text) + KEEP(*crt0*(.text)) + *(.gnu.linkonce.t.*) + _ekernel = .; + } > rom + + .rodata : + { + . = ALIGN(8); + _frodata = .; + *(.rodata .rodata.* .gnu.linkonce.r.*) + *(.rodata1) + *(.got2 .got2.*) + *(.toc .toc.*) + FILL(0); + . = ALIGN(8); + _erodata = .; + } > rom + + /* bios code */ + .bios : + { + . = ALIGN(32); + bios.o (.text .text* .gnu.linkonce.t.*) + . = ALIGN(4); + } > rom + + /* kernel data to be copied to ram by rom code...*/ + .data : + { + . = ALIGN(8); + _fdata = .; + *(.data .data.* .sdata .gnu.linkonce.d.*) + FILL(0); + . = ALIGN(8); + _edata = .; + } > ram AT > rom + + /* tst */ + .arcitst : + { + . = ALIGN(32); + arcitst.o (.text .text* .gnu.linkonce.t.*) + . = ALIGN(4); + } > rom + + .bss : + { + . = 0x0000C000; /*relative to start of ram! ALIGN(16384*4);*/ + _fbss = .; + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(8); + _ebss = .; + _end = .; + } > ram + + /DISCARD/ : + { + *(.eh_frame) + *(.comment) + *(.gnu.attributes) + } + +} + +PROVIDE(_stack_size = 0x00010000); +PROVIDE(_stack_0 = ORIGIN(ram) + LENGTH(ram) - 8); +PROVIDE(_stack_1 = _stack_0 - _stack_size); + +PROVIDE(_fdata_rom = LOADADDR(.data)); +PROVIDE(_edata_rom = LOADADDR(.data) + SIZEOF(.data)); +PROVIDE(_bios_start = LOADADDR(.bios)); diff --git a/dev/src/test3_smt/litex b/dev/src/test3_smt/litex new file mode 120000 index 0000000..c037288 --- /dev/null +++ b/dev/src/test3_smt/litex @@ -0,0 +1 @@ +/home/wtf/projects/litex/litex/soc/software \ No newline at end of file diff --git a/dev/src/test3_smt/readme.md b/dev/src/test3_smt/readme.md new file mode 100644 index 0000000..d886723 --- /dev/null +++ b/dev/src/test3_smt/readme.md @@ -0,0 +1,85 @@ +# test3 - kernel+bios+arci + +* gen, convert, and link random tst (fx_alucmpbr.tst), and try to run + +``` +build + +# create mem file for coco sim +cp rom.init test3 +``` + +### methodology + +1. produce tst.s (stub code and tst definition) and link with kernel/bios +2. tst init is done in tst.s +3. jmp2tst +4. tst ends (bla through kernel, sc, etc.) +5. tst cleanup is done in tst.s +6. tst checking, etc. is done in bios + + + + +### debug + +* hanging during results save; itags not executed in cpl queue + +![](cpl_hang.png) + +* itags 07-0B are dispatched but not marked 'executed' in cplq; they were sent to stq + +* not documented completely in spec (CPCR2, CPCR3, CPCR4, CPCR5); 2/3 are for hi-pri and 4/5 for med(?) + + ``` + assign spr_t0_cpcr2_fx0_cnt = cpcr2_l2[0][35:39]; + assign spr_t0_cpcr2_fx1_cnt = cpcr2_l2[0][43:47]; + assign spr_t0_cpcr2_lq_cnt = cpcr2_l2[0][51:55]; + assign spr_t0_cpcr2_sq_cnt = cpcr2_l2[0][59:63]; + assign spr_t0_cpcr3_fu0_cnt = cpcr3_l2[0][43:47]; + assign spr_t0_cpcr3_fu1_cnt = cpcr3_l2[0][51:55]; + assign spr_t0_cpcr3_cp_cnt = cpcr3_l2[0][57:63]; + assign spr_t0_cpcr4_fx0_cnt = cpcr4_l2[0][35:39]; + assign spr_t0_cpcr4_fx1_cnt = cpcr4_l2[0][43:47]; + assign spr_t0_cpcr4_lq_cnt = cpcr4_l2[0][51:55]; + assign spr_t0_cpcr4_sq_cnt = cpcr4_l2[0][59:63]; + assign spr_t0_cpcr5_fu0_cnt = cpcr5_l2[0][43:47]; + assign spr_t0_cpcr5_fu1_cnt = cpcr5_l2[0][51:55]; + assign spr_t0_cpcr5_cp_cnt = cpcr5_l2[0][57:63]; + ``` + +* verilog violation in iuq_dispatch! unused thread 1 strand bits skipping force to 0, and used later as x's for credit checks which didn't stop dispatch + +``` +//wtf (THREADS1 is def'd) +// iverilog sez: ../../verilog/work/iuq_dispatch.v:2322: warning: @* found no sensitivities so it will never trigger. +// seems to be correct behavior - block won't be entered without a value change +// make it initial, or a generate? +`ifdef THREADS1 + //always @(*) + initial +``` + + +### printf from litex + +add putchar function to store to memory buffer + +``` +/home/wtf/projects/litex/litex/soc/software/libbase/vsnprintf.c + +plus at least these: + +from /home/wtf/projects/litex/litex/soc/software/include/base/ +#include +#include +#include +#include +#include +#include +#include + +from /home/wtf/projects/litex/litex/soc/software/include/fdlibm +#include +``` + diff --git a/dev/src/test3_smt/regions.ld b/dev/src/test3_smt/regions.ld new file mode 100644 index 0000000..adbd237 --- /dev/null +++ b/dev/src/test3_smt/regions.ld @@ -0,0 +1,6 @@ +MEMORY { + rom : ORIGIN = 0x00000000, LENGTH = 0x00010000 + tst : ORIGIN = 0x00010000, LENGTH = 0x00002000 + ram : ORIGIN = 0x00012000, LENGTH = 0x0000E000 + csr : ORIGIN = 0xFFF00000, LENGTH = 0x00010000 +} \ No newline at end of file diff --git a/dev/src/test3_smt/rom b/dev/src/test3_smt/rom new file mode 100755 index 0000000..53de3d5 Binary files /dev/null and b/dev/src/test3_smt/rom differ diff --git a/dev/src/test3_smt/rom.bin b/dev/src/test3_smt/rom.bin new file mode 100755 index 0000000..7ae3622 Binary files /dev/null and b/dev/src/test3_smt/rom.bin differ diff --git a/dev/src/test3_smt/rom.d b/dev/src/test3_smt/rom.d new file mode 100644 index 0000000..d8d2cbd --- /dev/null +++ b/dev/src/test3_smt/rom.d @@ -0,0 +1,3608 @@ + +rom: file format elf32-powerpc + + +Disassembly of section .kernel: + +00000000 <_start>: + 0: 48 00 04 00 b 400 + 4: 44 00 00 02 sc + ... + +00000020 : + 20: 48 00 10 10 b 1030 + ... + +00000040 : + 40: 48 00 00 00 b 40 + ... + +00000060 : + 60: 48 00 00 00 b 60 + ... + +00000080 : + 80: 48 00 00 00 b 80 + ... + +000000a0 : + a0: 48 00 00 00 b a0 + ... + +000000c0 : + c0: 48 00 00 00 b c0 + ... + +000000e0 : + e0: 48 00 00 00 b e0 + ... + +00000100 : + 100: 48 00 00 00 b 100 + ... + +00000120 : + 120: 48 00 11 54 b 1274 + ... + +00000140 : + 140: 48 00 00 00 b 140 + ... + +00000160 : + 160: 48 00 00 00 b 160 + ... + +00000180 : + 180: 48 00 00 00 b 180 + ... + +000001a0 : + 1a0: 48 00 00 00 b 1a0 + ... + +000001c0 : + 1c0: 48 00 00 00 b 1c0 + ... + +000001e0 : + 1e0: 48 00 00 00 b 1e0 + ... + +00000200 : + 200: 48 00 00 00 b 200 + ... + +00000220 : + 220: 48 00 00 00 b 220 + ... + +00000240 : + 240: 48 00 00 00 b 240 + ... + +00000260 : + 260: 48 00 00 00 b 260 + ... + +00000280 : + 280: 48 00 00 00 b 280 + ... + +000002a0 : + 2a0: 48 00 00 00 b 2a0 + ... + +000002c0 : + 2c0: 48 00 00 00 b 2c0 + ... + +000002e0 : + 2e0: 48 00 00 00 b 2e0 + ... + +00000300 : + 300: 48 00 00 00 b 300 + ... + +00000320 : + 320: 48 00 00 00 b 320 + ... + +00000340 : + 340: 48 00 00 00 b 340 + ... + +00000400 : + 400: 7c be 6a a6 mfspr r5,446 + 404: 2c 25 00 00 cmpdi r5,0 + 408: 40 82 00 f4 bne 4fc + 40c: 3c 60 8c 00 lis r3,-29696 + 410: 38 00 00 1f li r0,31 + 414: 38 40 00 15 li r2,21 + 418: 38 80 00 00 li r4,0 + 41c: 39 00 02 3f li r8,575 + 420: 7c 7c fb a6 mtspr 1020,r3 + 424: 7c 40 11 a6 eratwe r2,r0,2 + 428: 7c 80 09 a6 eratwe r4,r0,1 + 42c: 7d 00 01 a6 mtfprwa f8,r0 + 430: 4c 00 01 2c isync + 434: 39 40 00 00 li r10,0 + 438: 65 4a 00 00 oris r10,r10,0 + 43c: 61 4a 00 3f ori r10,r10,63 + 440: 38 00 00 1e li r0,30 + 444: 38 80 00 00 li r4,0 + 448: 64 84 00 01 oris r4,r4,1 + 44c: 60 84 00 00 ori r4,r4,0 + 450: 39 00 00 00 li r8,0 + 454: 65 08 00 01 oris r8,r8,1 + 458: 61 08 00 00 ori r8,r8,0 + 45c: 61 08 02 3f ori r8,r8,575 + 460: 7d 40 11 a6 eratwe r10,r0,2 + 464: 7c 80 09 a6 eratwe r4,r0,1 + 468: 7d 00 01 a6 mtfprwa f8,r0 + 46c: 4c 00 01 2c isync + 470: 3c 60 88 00 lis r3,-30720 + 474: 38 00 00 0f li r0,15 + 478: 38 40 00 3f li r2,63 + 47c: 38 80 00 00 li r4,0 + 480: 39 00 02 3f li r8,575 + 484: 7c 7c fb a6 mtspr 1020,r3 + 488: 7c 40 11 a6 eratwe r2,r0,2 + 48c: 7c 80 09 a6 eratwe r4,r0,1 + 490: 7d 00 01 a6 mtfprwa f8,r0 + 494: 4c 00 01 2c isync + 498: 38 00 00 0d li r0,13 + 49c: 38 80 00 00 li r4,0 + 4a0: 64 84 00 01 oris r4,r4,1 + 4a4: 60 84 00 00 ori r4,r4,0 + 4a8: 39 00 00 00 li r8,0 + 4ac: 65 08 00 01 oris r8,r8,1 + 4b0: 61 08 00 00 ori r8,r8,0 + 4b4: 61 08 02 3f ori r8,r8,575 + 4b8: 7d 40 11 a6 eratwe r10,r0,2 + 4bc: 7c 80 09 a6 eratwe r4,r0,1 + 4c0: 7d 00 01 a6 mtfprwa f8,r0 + 4c4: 4c 00 01 2c isync + 4c8: 48 00 00 04 b 4cc + +000004cc : + 4cc: 38 20 00 03 li r1,3 + 4d0: 7c 36 6b a6 mtspr 438,r1 + 4d4: 7c 21 08 f8 not r1,r1 + 4d8: 7c 37 6b a6 mtspr 439,r1 + 4dc: 4c 00 01 2c isync + 4e0: 39 40 00 00 li r10,0 + 4e4: 65 4a 80 02 oris r10,r10,32770 + 4e8: 61 4a b0 00 ori r10,r10,45056 + 4ec: 7d 40 01 24 mtmsr r10 + 4f0: 4c 00 01 2c isync + 4f4: 80 20 08 fa lwz r1,2298(0) + 4f8: 48 00 00 20 b 518 + +000004fc : + 4fc: 39 40 00 00 li r10,0 + 500: 65 4a 80 02 oris r10,r10,32770 + 504: 61 4a b0 00 ori r10,r10,45056 + 508: 7d 40 01 24 mtmsr r10 + 50c: 4c 00 01 2c isync + 510: 80 20 08 fe lwz r1,2302(0) + 514: 48 00 00 04 b 518 + +00000518 : + 518: 3c 60 00 00 lis r3,0 + 51c: 60 63 0c 34 ori r3,r3,3124 + 520: 7c 69 03 a6 mtctr r3 + 524: 7c 7e 6a a6 mfspr r3,446 + 528: 4e 80 04 21 bctrl + 52c: 48 00 02 d0 b 7fc + ... + +000007f0 : + 7f0: 48 00 00 00 b 7f0 + +000007f4 : + 7f4: 48 00 00 00 b 7f4 + 7f8: 00 00 00 00 .long 0x0 + +000007fc : + 7fc: 48 00 00 00 b 7fc + +00000800 : + 800: 48 00 00 00 b 800 + ... + +00000820 : + 820: 48 00 00 00 b 820 + ... + +Disassembly of section .bios: + +00000c00 : + c00: 94 21 ff f0 stwu r1,-16(r1) + c04: 7c 69 1b 78 mr r9,r3 + c08: 99 21 00 08 stb r9,8(r1) + c0c: 3d 20 00 01 lis r9,1 + c10: 81 29 20 00 lwz r9,8192(r9) + c14: 39 09 00 01 addi r8,r9,1 + c18: 3d 40 00 01 lis r10,1 + c1c: 91 0a 20 00 stw r8,8192(r10) + c20: 89 41 00 08 lbz r10,8(r1) + c24: 99 49 00 00 stb r10,0(r9) + c28: 60 00 00 00 nop + c2c: 38 21 00 10 addi r1,r1,16 + c30: 4e 80 00 20 blr + +00000c34
: + c34: 94 21 ff c0 stwu r1,-64(r1) + c38: 7c 08 02 a6 mflr r0 + c3c: 90 01 00 44 stw r0,68(r1) + c40: 90 61 00 38 stw r3,56(r1) + c44: 3d 20 00 01 lis r9,1 + c48: 39 29 20 00 addi r9,r9,8192 + c4c: 91 21 00 0c stw r9,12(r1) + c50: 3d 20 00 00 lis r9,0 + c54: 39 29 10 60 addi r9,r9,4192 + c58: 91 21 00 10 stw r9,16(r1) + c5c: 81 21 00 38 lwz r9,56(r1) + c60: 2c 09 00 00 cmpwi r9,0 + c64: 41 82 00 0c beq c70 + c68: 39 20 ff ff li r9,-1 + c6c: 48 00 01 90 b dfc + c70: 3d 20 00 00 lis r9,0 + c74: 39 29 10 34 addi r9,r9,4148 + c78: 91 21 00 08 stw r9,8(r1) + c7c: 48 00 00 28 b ca4 + c80: 81 21 00 0c lwz r9,12(r1) + c84: 39 49 00 04 addi r10,r9,4 + c88: 91 41 00 0c stw r10,12(r1) + c8c: 81 41 00 08 lwz r10,8(r1) + c90: 81 4a 00 00 lwz r10,0(r10) + c94: 91 49 00 00 stw r10,0(r9) + c98: 81 21 00 08 lwz r9,8(r1) + c9c: 39 29 00 04 addi r9,r9,4 + ca0: 91 21 00 08 stw r9,8(r1) + ca4: 81 41 00 08 lwz r10,8(r1) + ca8: 3d 20 00 00 lis r9,0 + cac: 39 29 10 3c addi r9,r9,4156 + cb0: 7c 0a 48 40 cmplw r10,r9 + cb4: 41 80 ff cc blt c80 + cb8: 3d 20 00 02 lis r9,2 + cbc: 39 29 e0 08 addi r9,r9,-8184 + cc0: 91 21 00 08 stw r9,8(r1) + cc4: 48 00 00 24 b ce8 + cc8: 81 21 00 08 lwz r9,8(r1) + ccc: 39 49 00 04 addi r10,r9,4 + cd0: 91 41 00 08 stw r10,8(r1) + cd4: 39 40 00 00 li r10,0 + cd8: 91 49 00 00 stw r10,0(r9) + cdc: 81 21 00 08 lwz r9,8(r1) + ce0: 39 29 00 04 addi r9,r9,4 + ce4: 91 21 00 08 stw r9,8(r1) + ce8: 81 41 00 08 lwz r10,8(r1) + cec: 3d 20 00 02 lis r9,2 + cf0: 39 29 e0 28 addi r9,r9,-8152 + cf4: 7c 0a 48 40 cmplw r10,r9 + cf8: 41 80 ff d0 blt cc8 + cfc: 3d 20 00 00 lis r9,0 + d00: 38 69 0c 00 addi r3,r9,3072 + d04: 4c c6 31 82 crclr 4*cr1+eq + d08: 48 00 2b 39 bl 3840 + d0c: 38 60 00 77 li r3,119 + d10: 48 00 2b 81 bl 3890 + d14: 38 60 00 74 li r3,116 + d18: 48 00 2b 79 bl 3890 + d1c: 38 60 00 66 li r3,102 + d20: 48 00 2b 71 bl 3890 + d24: 38 60 00 0a li r3,10 + d28: 48 00 2b 69 bl 3890 + d2c: 80 81 00 38 lwz r4,56(r1) + d30: 3d 20 00 00 lis r9,0 + d34: 38 69 08 f0 addi r3,r9,2288 + d38: 4c c6 31 82 crclr 4*cr1+eq + d3c: 48 00 2d 5d bl 3a98 + d40: 3d 20 03 00 lis r9,768 + d44: 91 21 00 34 stw r9,52(r1) + d48: 81 21 00 34 lwz r9,52(r1) + d4c: 7d 33 4b a6 mtspr 307,r9 + d50: 60 00 00 00 nop + d54: 39 20 00 00 li r9,0 + d58: 91 21 00 30 stw r9,48(r1) + d5c: 81 21 00 30 lwz r9,48(r1) + d60: 7d 36 03 a6 mtdec r9 + d64: 60 00 00 00 nop + d68: 39 20 00 00 li r9,0 + d6c: 91 21 00 2c stw r9,44(r1) + d70: 81 21 00 2c lwz r9,44(r1) + d74: 7d 3d 43 a6 mttbu r9 + d78: 60 00 00 00 nop + d7c: 39 20 00 00 li r9,0 + d80: 91 21 00 28 stw r9,40(r1) + d84: 81 21 00 28 lwz r9,40(r1) + d88: 7d 3c 43 a6 mttbl r9 + d8c: 60 00 00 00 nop + d90: 3d 20 fe 00 lis r9,-512 + d94: 91 21 00 24 stw r9,36(r1) + d98: 81 21 00 24 lwz r9,36(r1) + d9c: 7d 30 53 a6 mtspr 336,r9 + da0: 60 00 00 00 nop + da4: 7d 36 fa a6 mfspr r9,1014 + da8: 91 21 00 20 stw r9,32(r1) + dac: 81 21 00 20 lwz r9,32(r1) + db0: 55 29 05 ea rlwinm r9,r9,0,23,21 + db4: 91 21 00 1c stw r9,28(r1) + db8: 81 21 00 1c lwz r9,28(r1) + dbc: 7d 36 fb a6 mtspr 1014,r9 + dc0: 60 00 00 00 nop + dc4: 39 20 00 00 li r9,0 + dc8: 91 21 00 18 stw r9,24(r1) + dcc: 81 21 00 18 lwz r9,24(r1) + dd0: 7d 30 53 a6 mtspr 336,r9 + dd4: 60 00 00 00 nop + dd8: 39 20 00 00 li r9,0 + ddc: 91 21 00 14 stw r9,20(r1) + de0: 81 21 00 14 lwz r9,20(r1) + de4: 7d 34 53 a6 mtspr 340,r9 + de8: 60 00 00 00 nop + dec: 81 21 00 10 lwz r9,16(r1) + df0: 7d 23 4b 78 mr r3,r9 + df4: 48 00 03 8c b 1180 + df8: 48 00 00 00 b df8 + dfc: 7d 23 4b 78 mr r3,r9 + e00: 80 01 00 44 lwz r0,68(r1) + e04: 7c 08 03 a6 mtlr r0 + e08: 38 21 00 40 addi r1,r1,64 + e0c: 4e 80 00 20 blr + +00000e10 : + e10: 94 21 ff e0 stwu r1,-32(r1) + e14: 7c 08 02 a6 mflr r0 + e18: 90 01 00 24 stw r0,36(r1) + e1c: 90 61 00 18 stw r3,24(r1) + e20: 39 20 00 01 li r9,1 + e24: 91 21 00 0c stw r9,12(r1) + e28: 81 41 00 18 lwz r10,24(r1) + e2c: 3d 20 08 67 lis r9,2151 + e30: 61 29 53 09 ori r9,r9,21257 + e34: 7c 0a 48 00 cmpw r10,r9 + e38: 41 82 00 0c beq e44 + e3c: 3c 60 80 00 lis r3,-32768 + e40: 4b ff f9 b5 bl 7f4 + e44: 39 20 00 00 li r9,0 + e48: 91 21 00 08 stw r9,8(r1) + e4c: 48 00 00 8c b ed8 + e50: 81 21 00 08 lwz r9,8(r1) + e54: 55 2a 10 3a rlwinm r10,r9,2,0,29 + e58: 3d 20 00 00 lis r9,0 + e5c: 39 29 13 60 addi r9,r9,4960 + e60: 7d 2a 4a 14 add r9,r10,r9 + e64: 81 29 00 00 lwz r9,0(r9) + e68: 91 21 00 10 stw r9,16(r1) + e6c: 81 21 00 08 lwz r9,8(r1) + e70: 55 2a 10 3a rlwinm r10,r9,2,0,29 + e74: 3d 20 00 00 lis r9,0 + e78: 39 29 14 00 addi r9,r9,5120 + e7c: 7d 2a 4a 14 add r9,r10,r9 + e80: 81 29 00 00 lwz r9,0(r9) + e84: 91 21 00 14 stw r9,20(r1) + e88: 81 21 00 0c lwz r9,12(r1) + e8c: 2c 09 00 00 cmpwi r9,0 + e90: 41 82 00 1c beq eac + e94: 81 41 00 10 lwz r10,16(r1) + e98: 81 21 00 14 lwz r9,20(r1) + e9c: 7c 0a 48 00 cmpw r10,r9 + ea0: 40 82 00 0c bne eac + ea4: 39 20 00 01 li r9,1 + ea8: 48 00 00 08 b eb0 + eac: 39 20 00 00 li r9,0 + eb0: 91 21 00 0c stw r9,12(r1) + eb4: 81 21 00 0c lwz r9,12(r1) + eb8: 2c 09 00 00 cmpwi r9,0 + ebc: 40 82 00 10 bne ecc + ec0: 81 21 00 08 lwz r9,8(r1) + ec4: 7d 23 4b 78 mr r3,r9 + ec8: 4b ff f9 2d bl 7f4 + ecc: 81 21 00 08 lwz r9,8(r1) + ed0: 39 29 00 01 addi r9,r9,1 + ed4: 91 21 00 08 stw r9,8(r1) + ed8: 81 21 00 08 lwz r9,8(r1) + edc: 28 09 00 1f cmplwi r9,31 + ee0: 40 81 ff 70 ble e50 + ee4: 39 20 00 21 li r9,33 + ee8: 91 21 00 08 stw r9,8(r1) + eec: 81 21 00 08 lwz r9,8(r1) + ef0: 55 2a 10 3a rlwinm r10,r9,2,0,29 + ef4: 3d 20 00 00 lis r9,0 + ef8: 39 29 13 60 addi r9,r9,4960 + efc: 7d 2a 4a 14 add r9,r10,r9 + f00: 81 29 00 00 lwz r9,0(r9) + f04: 91 21 00 10 stw r9,16(r1) + f08: 81 21 00 08 lwz r9,8(r1) + f0c: 55 2a 10 3a rlwinm r10,r9,2,0,29 + f10: 3d 20 00 00 lis r9,0 + f14: 39 29 14 00 addi r9,r9,5120 + f18: 7d 2a 4a 14 add r9,r10,r9 + f1c: 81 29 00 00 lwz r9,0(r9) + f20: 55 29 06 44 rlwinm r9,r9,0,25,2 + f24: 91 21 00 14 stw r9,20(r1) + f28: 81 21 00 0c lwz r9,12(r1) + f2c: 2c 09 00 00 cmpwi r9,0 + f30: 41 82 00 1c beq f4c + f34: 81 41 00 10 lwz r10,16(r1) + f38: 81 21 00 14 lwz r9,20(r1) + f3c: 7c 0a 48 00 cmpw r10,r9 + f40: 40 82 00 0c bne f4c + f44: 39 20 00 01 li r9,1 + f48: 48 00 00 08 b f50 + f4c: 39 20 00 00 li r9,0 + f50: 91 21 00 0c stw r9,12(r1) + f54: 81 21 00 0c lwz r9,12(r1) + f58: 2c 09 00 00 cmpwi r9,0 + f5c: 40 82 00 10 bne f6c + f60: 81 21 00 08 lwz r9,8(r1) + f64: 7d 23 4b 78 mr r3,r9 + f68: 4b ff f8 8d bl 7f4 + f6c: 39 20 00 22 li r9,34 + f70: 91 21 00 08 stw r9,8(r1) + f74: 48 00 00 8c b 1000 + f78: 81 21 00 08 lwz r9,8(r1) + f7c: 55 2a 10 3a rlwinm r10,r9,2,0,29 + f80: 3d 20 00 00 lis r9,0 + f84: 39 29 13 60 addi r9,r9,4960 + f88: 7d 2a 4a 14 add r9,r10,r9 + f8c: 81 29 00 00 lwz r9,0(r9) + f90: 91 21 00 10 stw r9,16(r1) + f94: 81 21 00 08 lwz r9,8(r1) + f98: 55 2a 10 3a rlwinm r10,r9,2,0,29 + f9c: 3d 20 00 00 lis r9,0 + fa0: 39 29 14 00 addi r9,r9,5120 + fa4: 7d 2a 4a 14 add r9,r10,r9 + fa8: 81 29 00 00 lwz r9,0(r9) + fac: 91 21 00 14 stw r9,20(r1) + fb0: 81 21 00 0c lwz r9,12(r1) + fb4: 2c 09 00 00 cmpwi r9,0 + fb8: 41 82 00 1c beq fd4 + fbc: 81 41 00 10 lwz r10,16(r1) + fc0: 81 21 00 14 lwz r9,20(r1) + fc4: 7c 0a 48 00 cmpw r10,r9 + fc8: 40 82 00 0c bne fd4 + fcc: 39 20 00 01 li r9,1 + fd0: 48 00 00 08 b fd8 + fd4: 39 20 00 00 li r9,0 + fd8: 91 21 00 0c stw r9,12(r1) + fdc: 81 21 00 0c lwz r9,12(r1) + fe0: 2c 09 00 00 cmpwi r9,0 + fe4: 40 82 00 10 bne ff4 + fe8: 81 21 00 08 lwz r9,8(r1) + fec: 7d 23 4b 78 mr r3,r9 + ff0: 4b ff f8 05 bl 7f4 + ff4: 81 21 00 08 lwz r9,8(r1) + ff8: 39 29 00 01 addi r9,r9,1 + ffc: 91 21 00 08 stw r9,8(r1) + 1000: 81 21 00 08 lwz r9,8(r1) + 1004: 28 09 00 23 cmplwi r9,35 + 1008: 40 81 ff 70 ble f78 + 100c: 4b ff f7 e5 bl 7f0 + 1010: 48 00 00 00 b 1010 + +00001014 : + 1014: 94 21 ff f0 stwu r1,-16(r1) + 1018: 90 61 00 08 stw r3,8(r1) + 101c: 90 81 00 0c stw r4,12(r1) + 1020: 48 00 02 54 b 1274 + 1024: 60 00 00 00 nop + 1028: 38 21 00 10 addi r1,r1,16 + 102c: 4e 80 00 20 blr + +00001030 : + 1030: 48 00 00 00 b 1030 + +Disassembly of section .arcitst: + +00001040 : + 1040: 69 6e 66 6f xori r14,r11,26223 + 1044: 20 74 65 78 subfic r3,r20,25976 + 1048: Address 0x0000000000001048 is out of bounds. + + +0000104a : + 104a: 68 65 61 64 xori r5,r3,24932 + 104e: 65 72 20 74 oris r18,r11,8308 + 1052: 65 78 74 00 oris r24,r11,29696 + ... + +00001060 : + 1060: 00 00 00 00 .long 0x0 + +00001064 : + 1064: 58 22 c9 05 rlmi. r2,r1,r25,4,2 + +00001068 : + 1068: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000106c : + 106c: 91 b6 d1 a3 stw r13,-11869(r22) + +00001070 : + 1070: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001074 : + 1074: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001078 : + 1078: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000107c : + 107c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001080 : + 1080: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001084 : + 1084: 7e 11 ee 88 .long 0x7e11ee88 + +00001088 : + 1088: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000108c : + 108c: 7f ff ff ff .long 0x7fffffff + +00001090 : + 1090: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001094 : + 1094: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001098 : + 1098: 8c 20 bd e6 .long 0x8c20bde6 + +0000109c : + 109c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010a0 : + 10a0: 76 d0 da df andis. r16,r22,56031 + +000010a4 : + 10a4: 15 11 1f 42 .long 0x15111f42 + +000010a8 : + 10a8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010ac : + 10ac: 36 10 8e 50 addic. r16,r16,-29104 + +000010b0 : + 10b0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010b4 : + 10b4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010b8 : + 10b8: 32 8a 0c ed addic r20,r10,3309 + +000010bc : + 10bc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010c0 : + 10c0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010c4 : + 10c4: af 22 4c 19 lhau r25,19481(r2) + +000010c8 : + 10c8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010cc : + 10cc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010d0 : + 10d0: d6 24 b2 7a stfsu f17,-19846(r4) + +000010d4 : + 10d4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010d8 : + 10d8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010dc : + 10dc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010e0 : + 10e0: db fd 36 28 stfd f31,13864(r29) + +000010e4 : + 10e4: 89 f0 00 6e lbz r15,110(r16) + +000010e8 : + 10e8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010ec : + 10ec: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010f0 : + 10f0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000010f4 : + 10f4: 00 00 11 04 .long 0x1104 + +000010f8 : + 10f8: 00 01 00 00 .long 0x10000 + +000010fc : + 10fc: 00 00 00 00 .long 0x0 + +00001100 : + 1100: 00 00 00 0d .long 0xd + +00001104 : + 1104: 7c 61 cc 14 addco r3,r1,r25 + 1108: 7d 23 05 95 addzeo. r9,r3 + 110c: 7a c3 73 92 rldcr r3,r22,r14,14 + 1110: 7e 09 4c 11 subfco. r16,r9,r9 + 1114: 7e 1c b1 15 adde. r16,r28,r22 + 1118: 7a 33 88 86 rldicr r19,r17,49,2 + 111c: 7c 60 04 d1 nego. r3,r0 + 1120: 7e 09 b0 38 and r9,r16,r22 + 1124: 7c 36 05 91 subfzeo. r1,r22 + 1128: 7e 2b 00 d1 neg. r17,r11 + 112c: 60 00 00 00 nop + 1130: 60 00 00 00 nop + 1134: 60 00 00 00 nop + +00001138 : + 1138: 00 01 00 00 .long 0x10000 + 113c: 00 01 00 04 .long 0x10004 + 1140: 00 01 00 08 .long 0x10008 + 1144: 00 01 00 0c .long 0x1000c + 1148: 00 01 00 10 .long 0x10010 + 114c: 00 01 00 14 .long 0x10014 + 1150: 00 01 00 18 .long 0x10018 + 1154: 00 01 00 1c .long 0x1001c + 1158: 00 01 00 20 .long 0x10020 + 115c: 00 01 00 24 .long 0x10024 + 1160: 00 01 00 28 .long 0x10028 + 1164: 00 01 00 2c .long 0x1002c + 1168: 00 01 00 30 .long 0x10030 + 116c: 48 00 00 14 b 1180 + 1170: 60 00 00 00 nop + 1174: 60 00 00 00 nop + 1178: 60 00 00 00 nop + 117c: 60 00 00 00 nop + +00001180 : + 1180: 90 23 00 9c stw r1,156(r3) + +00001184 : + 1184: 80 23 00 a0 lwz r1,160(r3) + 1188: 7c 29 03 a6 mtctr r1 + 118c: 38 23 00 a4 addi r1,r3,164 + 1190: 38 43 00 d8 addi r2,r3,216 + +00001194 : + 1194: 80 81 00 00 lwz r4,0(r1) + 1198: 80 a2 00 00 lwz r5,0(r2) + 119c: 90 85 00 00 stw r4,0(r5) + 11a0: 38 21 00 04 addi r1,r1,4 + 11a4: 38 42 00 04 addi r2,r2,4 + 11a8: 42 00 ff ec bdnz 1194 + +000011ac : + 11ac: 3c 80 48 00 lis r4,18432 + 11b0: 60 84 00 06 ori r4,r4,6 + 11b4: 90 85 00 00 stw r4,0(r5) + 11b8: 80 20 10 f4 lwz r1,4340(0) + 11bc: 7c 3b 03 a6 mtsrr1 r1 + 11c0: 80 20 11 38 lwz r1,4408(0) + 11c4: 7c 3a 03 a6 mtsrr0 r1 + +000011c8 : + 11c8: 80 23 00 80 lwz r1,128(r3) + 11cc: 7c 2f f1 20 mtcr r1 + 11d0: 80 23 00 84 lwz r1,132(r3) + 11d4: 7c 21 03 a6 mtxer r1 + 11d8: 80 23 00 88 lwz r1,136(r3) + 11dc: 7c 29 03 a6 mtctr r1 + 11e0: 80 23 00 8c lwz r1,140(r3) + 11e4: 7c 28 03 a6 mtlr r1 + 11e8: 80 23 00 90 lwz r1,144(r3) + 11ec: 7c 2f cb a6 mtspr 815,r1 + 11f0: 80 03 00 00 lwz r0,0(r3) + 11f4: 80 23 00 04 lwz r1,4(r3) + 11f8: 80 43 00 08 lwz r2,8(r3) + 11fc: 80 83 00 10 lwz r4,16(r3) + 1200: 80 a3 00 14 lwz r5,20(r3) + 1204: 80 c3 00 18 lwz r6,24(r3) + 1208: 80 e3 00 1c lwz r7,28(r3) + 120c: 81 03 00 20 lwz r8,32(r3) + 1210: 81 23 00 24 lwz r9,36(r3) + 1214: 81 43 00 28 lwz r10,40(r3) + 1218: 81 63 00 2c lwz r11,44(r3) + 121c: 81 83 00 30 lwz r12,48(r3) + 1220: 81 a3 00 34 lwz r13,52(r3) + 1224: 81 c3 00 38 lwz r14,56(r3) + 1228: 81 e3 00 3c lwz r15,60(r3) + 122c: 82 03 00 40 lwz r16,64(r3) + 1230: 82 23 00 44 lwz r17,68(r3) + 1234: 82 43 00 48 lwz r18,72(r3) + 1238: 82 63 00 4c lwz r19,76(r3) + 123c: 82 83 00 50 lwz r20,80(r3) + 1240: 82 a3 00 54 lwz r21,84(r3) + 1244: 82 c3 00 58 lwz r22,88(r3) + 1248: 82 e3 00 5c lwz r23,92(r3) + 124c: 83 03 00 60 lwz r24,96(r3) + 1250: 83 23 00 64 lwz r25,100(r3) + 1254: 83 43 00 68 lwz r26,104(r3) + 1258: 83 63 00 6c lwz r27,108(r3) + 125c: 83 83 00 70 lwz r28,112(r3) + 1260: 83 a3 00 74 lwz r29,116(r3) + 1264: 83 c3 00 78 lwz r30,120(r3) + 1268: 83 e3 00 7c lwz r31,124(r3) + 126c: 80 63 00 0c lwz r3,12(r3) + +00001270 : + 1270: 4c 00 00 64 rfi + +00001274 : + 1274: 48 00 00 0c b 1280 + 1278: 60 00 00 00 nop + 127c: 60 00 00 00 nop + +00001280 : + 1280: 7c 2f cb a6 mtspr 815,r1 + 1284: 3c 20 00 00 lis r1,0 + 1288: 60 21 13 60 ori r1,r1,4960 + 128c: 90 01 00 00 stw r0,0(r1) + 1290: 90 41 00 08 stw r2,8(r1) + 1294: 90 61 00 0c stw r3,12(r1) + 1298: 90 81 00 10 stw r4,16(r1) + 129c: 90 a1 00 14 stw r5,20(r1) + 12a0: 90 c1 00 18 stw r6,24(r1) + 12a4: 90 e1 00 1c stw r7,28(r1) + 12a8: 91 01 00 20 stw r8,32(r1) + 12ac: 91 21 00 24 stw r9,36(r1) + 12b0: 91 41 00 28 stw r10,40(r1) + 12b4: 91 61 00 2c stw r11,44(r1) + 12b8: 91 81 00 30 stw r12,48(r1) + 12bc: 91 a1 00 34 stw r13,52(r1) + 12c0: 91 c1 00 38 stw r14,56(r1) + 12c4: 91 e1 00 3c stw r15,60(r1) + 12c8: 92 01 00 40 stw r16,64(r1) + 12cc: 92 21 00 44 stw r17,68(r1) + 12d0: 92 41 00 48 stw r18,72(r1) + 12d4: 92 61 00 4c stw r19,76(r1) + 12d8: 92 81 00 50 stw r20,80(r1) + 12dc: 92 a1 00 54 stw r21,84(r1) + 12e0: 92 c1 00 58 stw r22,88(r1) + 12e4: 92 e1 00 5c stw r23,92(r1) + 12e8: 93 01 00 60 stw r24,96(r1) + 12ec: 93 21 00 64 stw r25,100(r1) + 12f0: 93 41 00 68 stw r26,104(r1) + 12f4: 93 61 00 6c stw r27,108(r1) + 12f8: 93 81 00 70 stw r28,112(r1) + 12fc: 93 a1 00 74 stw r29,116(r1) + 1300: 93 c1 00 78 stw r30,120(r1) + 1304: 93 e1 00 7c stw r31,124(r1) + 1308: 7c 4f ca a6 mfspr r2,815 + 130c: 90 41 00 04 stw r2,4(r1) + 1310: 7c 40 00 26 mfcr r2 + 1314: 90 41 00 80 stw r2,128(r1) + 1318: 7c 41 02 a6 mfxer r2 + 131c: 90 41 00 84 stw r2,132(r1) + 1320: 7c 49 02 a6 mfctr r2 + 1324: 90 41 00 88 stw r2,136(r1) + 1328: 7c 48 02 a6 mflr r2 + 132c: 90 41 00 8c stw r2,140(r1) + 1330: 7c 4f ca a6 mfspr r2,815 + 1334: 90 41 00 90 stw r2,144(r1) + +00001338 : + 1338: 3c 60 00 00 lis r3,0 + 133c: 60 63 10 60 ori r3,r3,4192 + 1340: 80 23 00 9c lwz r1,156(r3) + 1344: 3c 60 08 67 lis r3,2151 + 1348: 60 63 53 09 ori r3,r3,21257 + 134c: 48 00 0e 13 bla e10 + 1350: 60 00 00 00 nop + 1354: 60 00 00 00 nop + 1358: 60 00 00 00 nop + 135c: 60 00 00 00 nop + +00001360 : + 1360: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001364 : + 1364: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001368 : + 1368: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000136c : + 136c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001370 : + 1370: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001374 : + 1374: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001378 : + 1378: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000137c : + 137c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001380 : + 1380: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001384 : + 1384: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001388 : + 1388: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000138c : + 138c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001390 : + 1390: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001394 : + 1394: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001398 : + 1398: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000139c : + 139c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013a0 : + 13a0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013a4 : + 13a4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013a8 : + 13a8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013ac : + 13ac: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013b0 : + 13b0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013b4 : + 13b4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013b8 : + 13b8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013bc : + 13bc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013c0 : + 13c0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013c4 : + 13c4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013c8 : + 13c8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013cc : + 13cc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013d0 : + 13d0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013d4 : + 13d4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013d8 : + 13d8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013dc : + 13dc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013e0 : + 13e0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013e4 : + 13e4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013e8 : + 13e8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013ec : + 13ec: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000013f0 : + 13f0: ff ff ff ff fnmadd. f31,f31,f31,f31 + 13f4: 60 00 00 00 nop + 13f8: 60 00 00 00 nop + 13fc: 60 00 00 00 nop + +00001400 : + 1400: 00 00 00 00 .long 0x0 + +00001404 : + 1404: cd 75 f3 13 lfdu f11,-3309(r21) + +00001408 : + 1408: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000140c : + 140c: 00 00 00 00 .long 0x0 + +00001410 : + 1410: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001414 : + 1414: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001418 : + 1418: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000141c : + 141c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001420 : + 1420: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001424 : + 1424: 00 8a 0c 68 .long 0x8a0c68 + +00001428 : + 1428: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000142c : + 142c: 7f ff ff ff .long 0x7fffffff + +00001430 : + 1430: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001434 : + 1434: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001438 : + 1438: 8c 20 bd e6 .long 0x8c20bde6 + +0000143c : + 143c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001440 : + 1440: 08 ae bf 68 tdlgei r14,-16536 + +00001444 : + 1444: 80 00 00 01 lwz r0,1(0) + +00001448 : + 1448: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000144c : + 144c: 00 00 00 00 .long 0x0 + +00001450 : + 1450: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001454 : + 1454: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001458 : + 1458: 32 8a 0c ed addic r20,r10,3309 + +0000145c : + 145c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001460 : + 1460: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001464 : + 1464: af 22 4c 19 lhau r25,19481(r2) + +00001468 : + 1468: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000146c : + 146c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001470 : + 1470: d6 24 b2 7a stfsu f17,-19846(r4) + +00001474 : + 1474: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001478 : + 1478: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000147c : + 147c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001480 : + 1480: 9b fd 36 28 stb r31,13864(r29) + +00001484 : + 1484: 98 f0 00 6e stb r7,110(r16) + +00001488 : + 1488: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0000148c : + 148c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001490 : + 1490: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00001494 : + 1494: 00 00 11 04 .long 0x1104 + +00001498 : + 1498: 00 01 00 38 .long 0x10038 + +Disassembly of section .text: + +0000149c <__toupper>: + 149c: 94 21 ff f0 stwu r1,-16(r1) + 14a0: 7c 69 1b 78 mr r9,r3 + 14a4: 99 21 00 08 stb r9,8(r1) + 14a8: 89 21 00 08 lbz r9,8(r1) + 14ac: 3d 40 00 00 lis r10,0 + 14b0: 39 4a 09 04 addi r10,r10,2308 + 14b4: 7d 2a 48 ae lbzx r9,r10,r9 + 14b8: 55 29 07 bc rlwinm r9,r9,0,30,30 + 14bc: 2c 09 00 00 cmpwi r9,0 + 14c0: 41 82 00 10 beq 14d0 <__toupper+0x34> + 14c4: 89 21 00 08 lbz r9,8(r1) + 14c8: 39 29 ff e0 addi r9,r9,-32 + 14cc: 99 21 00 08 stb r9,8(r1) + 14d0: 89 21 00 08 lbz r9,8(r1) + 14d4: 7d 23 4b 78 mr r3,r9 + 14d8: 38 21 00 10 addi r1,r1,16 + 14dc: 4e 80 00 20 blr + +000014e0 <__bswap_16>: + 14e0: 94 21 ff f0 stwu r1,-16(r1) + 14e4: 7c 69 1b 78 mr r9,r3 + 14e8: b1 21 00 08 sth r9,8(r1) + 14ec: a1 21 00 08 lhz r9,8(r1) + 14f0: 55 29 40 2e rlwinm r9,r9,8,0,23 + 14f4: 7d 2a 07 34 extsh r10,r9 + 14f8: a1 21 00 08 lhz r9,8(r1) + 14fc: 55 29 c2 3e rlwinm r9,r9,24,8,31 + 1500: 55 29 04 3e clrlwi r9,r9,16 + 1504: 7d 29 07 34 extsh r9,r9 + 1508: 7d 49 4b 78 or r9,r10,r9 + 150c: 7d 29 07 34 extsh r9,r9 + 1510: 55 29 04 3e clrlwi r9,r9,16 + 1514: 7d 23 4b 78 mr r3,r9 + 1518: 38 21 00 10 addi r1,r1,16 + 151c: 4e 80 00 20 blr + +00001520 <__bswap_32>: + 1520: 94 21 ff f0 stwu r1,-16(r1) + 1524: 90 61 00 08 stw r3,8(r1) + 1528: 81 21 00 08 lwz r9,8(r1) + 152c: 55 2a 46 3e rlwinm r10,r9,8,24,31 + 1530: 81 21 00 08 lwz r9,8(r1) + 1534: 55 29 c2 3e rlwinm r9,r9,24,8,31 + 1538: 55 29 04 2e rlwinm r9,r9,0,16,23 + 153c: 7d 4a 4b 78 or r10,r10,r9 + 1540: 81 21 00 08 lwz r9,8(r1) + 1544: 55 29 40 2e rlwinm r9,r9,8,0,23 + 1548: 55 29 02 1e rlwinm r9,r9,0,8,15 + 154c: 7d 4a 4b 78 or r10,r10,r9 + 1550: 81 21 00 08 lwz r9,8(r1) + 1554: 55 29 c0 0e rlwinm r9,r9,24,0,7 + 1558: 7d 49 4b 78 or r9,r10,r9 + 155c: 7d 23 4b 78 mr r3,r9 + 1560: 38 21 00 10 addi r1,r1,16 + 1564: 4e 80 00 20 blr + +00001568 : + 1568: 94 21 ff f0 stwu r1,-16(r1) + 156c: 90 61 00 08 stw r3,8(r1) + 1570: 90 81 00 0c stw r4,12(r1) + 1574: 48 00 00 28 b 159c + 1578: 81 21 00 08 lwz r9,8(r1) + 157c: 89 29 00 00 lbz r9,0(r9) + 1580: 2c 09 00 00 cmpwi r9,0 + 1584: 40 82 00 0c bne 1590 + 1588: 39 20 00 00 li r9,0 + 158c: 48 00 00 2c b 15b8 + 1590: 81 21 00 08 lwz r9,8(r1) + 1594: 39 29 00 01 addi r9,r9,1 + 1598: 91 21 00 08 stw r9,8(r1) + 159c: 81 21 00 08 lwz r9,8(r1) + 15a0: 89 49 00 00 lbz r10,0(r9) + 15a4: 81 21 00 0c lwz r9,12(r1) + 15a8: 55 29 06 3e clrlwi r9,r9,24 + 15ac: 7c 0a 48 40 cmplw r10,r9 + 15b0: 40 82 ff c8 bne 1578 + 15b4: 81 21 00 08 lwz r9,8(r1) + 15b8: 7d 23 4b 78 mr r3,r9 + 15bc: 38 21 00 10 addi r1,r1,16 + 15c0: 4e 80 00 20 blr + +000015c4 : + 15c4: 94 21 ff e0 stwu r1,-32(r1) + 15c8: 90 61 00 18 stw r3,24(r1) + 15cc: 90 81 00 1c stw r4,28(r1) + 15d0: 81 21 00 18 lwz r9,24(r1) + 15d4: 91 21 00 08 stw r9,8(r1) + 15d8: 48 00 00 58 b 1630 + 15dc: 81 21 00 1c lwz r9,28(r1) + 15e0: 91 21 00 0c stw r9,12(r1) + 15e4: 48 00 00 30 b 1614 + 15e8: 81 21 00 08 lwz r9,8(r1) + 15ec: 89 49 00 00 lbz r10,0(r9) + 15f0: 81 21 00 0c lwz r9,12(r1) + 15f4: 89 29 00 00 lbz r9,0(r9) + 15f8: 7c 0a 48 40 cmplw r10,r9 + 15fc: 40 82 00 0c bne 1608 + 1600: 81 21 00 08 lwz r9,8(r1) + 1604: 48 00 00 40 b 1644 + 1608: 81 21 00 0c lwz r9,12(r1) + 160c: 39 29 00 01 addi r9,r9,1 + 1610: 91 21 00 0c stw r9,12(r1) + 1614: 81 21 00 0c lwz r9,12(r1) + 1618: 89 29 00 00 lbz r9,0(r9) + 161c: 2c 09 00 00 cmpwi r9,0 + 1620: 40 82 ff c8 bne 15e8 + 1624: 81 21 00 08 lwz r9,8(r1) + 1628: 39 29 00 01 addi r9,r9,1 + 162c: 91 21 00 08 stw r9,8(r1) + 1630: 81 21 00 08 lwz r9,8(r1) + 1634: 89 29 00 00 lbz r9,0(r9) + 1638: 2c 09 00 00 cmpwi r9,0 + 163c: 40 82 ff a0 bne 15dc + 1640: 39 20 00 00 li r9,0 + 1644: 7d 23 4b 78 mr r3,r9 + 1648: 38 21 00 20 addi r1,r1,32 + 164c: 4e 80 00 20 blr + +00001650 : + 1650: 94 21 ff e0 stwu r1,-32(r1) + 1654: 7c 08 02 a6 mflr r0 + 1658: 90 01 00 24 stw r0,36(r1) + 165c: 90 61 00 18 stw r3,24(r1) + 1660: 90 81 00 1c stw r4,28(r1) + 1664: 80 61 00 18 lwz r3,24(r1) + 1668: 48 00 03 dd bl 1a44 + 166c: 7c 6a 1b 78 mr r10,r3 + 1670: 81 21 00 18 lwz r9,24(r1) + 1674: 7d 29 52 14 add r9,r9,r10 + 1678: 91 21 00 08 stw r9,8(r1) + 167c: 81 21 00 08 lwz r9,8(r1) + 1680: 89 49 00 00 lbz r10,0(r9) + 1684: 81 21 00 1c lwz r9,28(r1) + 1688: 55 29 06 3e clrlwi r9,r9,24 + 168c: 7c 0a 48 40 cmplw r10,r9 + 1690: 40 82 00 0c bne 169c + 1694: 81 21 00 08 lwz r9,8(r1) + 1698: 48 00 00 24 b 16bc + 169c: 81 21 00 08 lwz r9,8(r1) + 16a0: 39 29 ff ff addi r9,r9,-1 + 16a4: 91 21 00 08 stw r9,8(r1) + 16a8: 81 41 00 08 lwz r10,8(r1) + 16ac: 81 21 00 18 lwz r9,24(r1) + 16b0: 7c 0a 48 40 cmplw r10,r9 + 16b4: 40 80 ff c8 bge 167c + 16b8: 39 20 00 00 li r9,0 + 16bc: 7d 23 4b 78 mr r3,r9 + 16c0: 80 01 00 24 lwz r0,36(r1) + 16c4: 7c 08 03 a6 mtlr r0 + 16c8: 38 21 00 20 addi r1,r1,32 + 16cc: 4e 80 00 20 blr + +000016d0 : + 16d0: 94 21 ff e0 stwu r1,-32(r1) + 16d4: 90 61 00 08 stw r3,8(r1) + 16d8: 90 81 00 0c stw r4,12(r1) + 16dc: 90 a1 00 10 stw r5,16(r1) + 16e0: 48 00 00 30 b 1710 + 16e4: 81 21 00 08 lwz r9,8(r1) + 16e8: 89 49 00 00 lbz r10,0(r9) + 16ec: 81 21 00 10 lwz r9,16(r1) + 16f0: 55 29 06 3e clrlwi r9,r9,24 + 16f4: 7c 0a 48 40 cmplw r10,r9 + 16f8: 40 82 00 0c bne 1704 + 16fc: 81 21 00 08 lwz r9,8(r1) + 1700: 48 00 00 38 b 1738 + 1704: 81 21 00 08 lwz r9,8(r1) + 1708: 39 29 00 01 addi r9,r9,1 + 170c: 91 21 00 08 stw r9,8(r1) + 1710: 81 21 00 0c lwz r9,12(r1) + 1714: 39 49 ff ff addi r10,r9,-1 + 1718: 91 41 00 0c stw r10,12(r1) + 171c: 2c 09 00 00 cmpwi r9,0 + 1720: 41 82 00 14 beq 1734 + 1724: 81 21 00 08 lwz r9,8(r1) + 1728: 89 29 00 00 lbz r9,0(r9) + 172c: 2c 09 00 00 cmpwi r9,0 + 1730: 40 82 ff b4 bne 16e4 + 1734: 39 20 00 00 li r9,0 + 1738: 7d 23 4b 78 mr r3,r9 + 173c: 38 21 00 20 addi r1,r1,32 + 1740: 4e 80 00 20 blr + +00001744 : + 1744: 94 21 ff e0 stwu r1,-32(r1) + 1748: 90 61 00 18 stw r3,24(r1) + 174c: 90 81 00 1c stw r4,28(r1) + 1750: 81 21 00 18 lwz r9,24(r1) + 1754: 91 21 00 08 stw r9,8(r1) + 1758: 60 00 00 00 nop + 175c: 81 41 00 1c lwz r10,28(r1) + 1760: 39 2a 00 01 addi r9,r10,1 + 1764: 91 21 00 1c stw r9,28(r1) + 1768: 81 21 00 18 lwz r9,24(r1) + 176c: 39 09 00 01 addi r8,r9,1 + 1770: 91 01 00 18 stw r8,24(r1) + 1774: 89 4a 00 00 lbz r10,0(r10) + 1778: 99 49 00 00 stb r10,0(r9) + 177c: 89 29 00 00 lbz r9,0(r9) + 1780: 2c 09 00 00 cmpwi r9,0 + 1784: 40 82 ff d8 bne 175c + 1788: 81 21 00 08 lwz r9,8(r1) + 178c: 7d 23 4b 78 mr r3,r9 + 1790: 38 21 00 20 addi r1,r1,32 + 1794: 4e 80 00 20 blr + +00001798 : + 1798: 94 21 ff d0 stwu r1,-48(r1) + 179c: 90 61 00 18 stw r3,24(r1) + 17a0: 90 81 00 1c stw r4,28(r1) + 17a4: 90 a1 00 20 stw r5,32(r1) + 17a8: 81 21 00 18 lwz r9,24(r1) + 17ac: 91 21 00 08 stw r9,8(r1) + 17b0: 48 00 00 48 b 17f8 + 17b4: 81 21 00 1c lwz r9,28(r1) + 17b8: 89 49 00 00 lbz r10,0(r9) + 17bc: 81 21 00 08 lwz r9,8(r1) + 17c0: 99 49 00 00 stb r10,0(r9) + 17c4: 81 21 00 08 lwz r9,8(r1) + 17c8: 89 29 00 00 lbz r9,0(r9) + 17cc: 2c 09 00 00 cmpwi r9,0 + 17d0: 41 82 00 10 beq 17e0 + 17d4: 81 21 00 1c lwz r9,28(r1) + 17d8: 39 29 00 01 addi r9,r9,1 + 17dc: 91 21 00 1c stw r9,28(r1) + 17e0: 81 21 00 08 lwz r9,8(r1) + 17e4: 39 29 00 01 addi r9,r9,1 + 17e8: 91 21 00 08 stw r9,8(r1) + 17ec: 81 21 00 20 lwz r9,32(r1) + 17f0: 39 29 ff ff addi r9,r9,-1 + 17f4: 91 21 00 20 stw r9,32(r1) + 17f8: 81 21 00 20 lwz r9,32(r1) + 17fc: 2c 09 00 00 cmpwi r9,0 + 1800: 40 82 ff b4 bne 17b4 + 1804: 81 21 00 18 lwz r9,24(r1) + 1808: 7d 23 4b 78 mr r3,r9 + 180c: 38 21 00 30 addi r1,r1,48 + 1810: 4e 80 00 20 blr + +00001814 : + 1814: 94 21 ff e0 stwu r1,-32(r1) + 1818: 90 61 00 18 stw r3,24(r1) + 181c: 90 81 00 1c stw r4,28(r1) + 1820: 81 21 00 18 lwz r9,24(r1) + 1824: 89 49 00 00 lbz r10,0(r9) + 1828: 81 21 00 1c lwz r9,28(r1) + 182c: 39 09 00 01 addi r8,r9,1 + 1830: 91 01 00 1c stw r8,28(r1) + 1834: 89 29 00 00 lbz r9,0(r9) + 1838: 7d 29 50 50 subf r9,r9,r10 + 183c: 55 29 06 3e clrlwi r9,r9,24 + 1840: 99 21 00 08 stb r9,8(r1) + 1844: 89 21 00 08 lbz r9,8(r1) + 1848: 7d 29 07 74 extsb r9,r9 + 184c: 2c 09 00 00 cmpwi r9,0 + 1850: 40 82 00 20 bne 1870 + 1854: 81 21 00 18 lwz r9,24(r1) + 1858: 39 49 00 01 addi r10,r9,1 + 185c: 91 41 00 18 stw r10,24(r1) + 1860: 89 29 00 00 lbz r9,0(r9) + 1864: 2c 09 00 00 cmpwi r9,0 + 1868: 41 82 00 08 beq 1870 + 186c: 4b ff ff b4 b 1820 + 1870: 89 21 00 08 lbz r9,8(r1) + 1874: 7d 29 07 74 extsb r9,r9 + 1878: 7d 23 4b 78 mr r3,r9 + 187c: 38 21 00 20 addi r1,r1,32 + 1880: 4e 80 00 20 blr + +00001884 : + 1884: 94 21 ff d0 stwu r1,-48(r1) + 1888: 90 61 00 18 stw r3,24(r1) + 188c: 90 81 00 1c stw r4,28(r1) + 1890: 90 a1 00 20 stw r5,32(r1) + 1894: 39 20 00 00 li r9,0 + 1898: 91 21 00 0c stw r9,12(r1) + 189c: 39 20 00 00 li r9,0 + 18a0: 99 21 00 08 stb r9,8(r1) + 18a4: 48 00 00 5c b 1900 + 18a8: 81 21 00 18 lwz r9,24(r1) + 18ac: 89 49 00 00 lbz r10,0(r9) + 18b0: 81 21 00 1c lwz r9,28(r1) + 18b4: 39 09 00 01 addi r8,r9,1 + 18b8: 91 01 00 1c stw r8,28(r1) + 18bc: 89 29 00 00 lbz r9,0(r9) + 18c0: 7d 29 50 50 subf r9,r9,r10 + 18c4: 55 29 06 3e clrlwi r9,r9,24 + 18c8: 99 21 00 08 stb r9,8(r1) + 18cc: 89 21 00 08 lbz r9,8(r1) + 18d0: 7d 29 07 74 extsb r9,r9 + 18d4: 2c 09 00 00 cmpwi r9,0 + 18d8: 40 82 00 38 bne 1910 + 18dc: 81 21 00 18 lwz r9,24(r1) + 18e0: 39 49 00 01 addi r10,r9,1 + 18e4: 91 41 00 18 stw r10,24(r1) + 18e8: 89 29 00 00 lbz r9,0(r9) + 18ec: 2c 09 00 00 cmpwi r9,0 + 18f0: 41 82 00 20 beq 1910 + 18f4: 81 21 00 0c lwz r9,12(r1) + 18f8: 39 29 00 01 addi r9,r9,1 + 18fc: 91 21 00 0c stw r9,12(r1) + 1900: 81 41 00 0c lwz r10,12(r1) + 1904: 81 21 00 20 lwz r9,32(r1) + 1908: 7c 0a 48 40 cmplw r10,r9 + 190c: 41 80 ff 9c blt 18a8 + 1910: 89 21 00 08 lbz r9,8(r1) + 1914: 7d 29 07 74 extsb r9,r9 + 1918: 7d 23 4b 78 mr r3,r9 + 191c: 38 21 00 30 addi r1,r1,48 + 1920: 4e 80 00 20 blr + +00001924 : + 1924: 94 21 ff e0 stwu r1,-32(r1) + 1928: 90 61 00 18 stw r3,24(r1) + 192c: 90 81 00 1c stw r4,28(r1) + 1930: 81 21 00 18 lwz r9,24(r1) + 1934: 91 21 00 08 stw r9,8(r1) + 1938: 48 00 00 10 b 1948 + 193c: 81 21 00 18 lwz r9,24(r1) + 1940: 39 29 00 01 addi r9,r9,1 + 1944: 91 21 00 18 stw r9,24(r1) + 1948: 81 21 00 18 lwz r9,24(r1) + 194c: 89 29 00 00 lbz r9,0(r9) + 1950: 2c 09 00 00 cmpwi r9,0 + 1954: 40 82 ff e8 bne 193c + 1958: 60 00 00 00 nop + 195c: 81 41 00 1c lwz r10,28(r1) + 1960: 39 2a 00 01 addi r9,r10,1 + 1964: 91 21 00 1c stw r9,28(r1) + 1968: 81 21 00 18 lwz r9,24(r1) + 196c: 39 09 00 01 addi r8,r9,1 + 1970: 91 01 00 18 stw r8,24(r1) + 1974: 89 4a 00 00 lbz r10,0(r10) + 1978: 99 49 00 00 stb r10,0(r9) + 197c: 89 29 00 00 lbz r9,0(r9) + 1980: 2c 09 00 00 cmpwi r9,0 + 1984: 40 82 ff d8 bne 195c + 1988: 81 21 00 08 lwz r9,8(r1) + 198c: 7d 23 4b 78 mr r3,r9 + 1990: 38 21 00 20 addi r1,r1,32 + 1994: 4e 80 00 20 blr + +00001998 : + 1998: 94 21 ff d0 stwu r1,-48(r1) + 199c: 90 61 00 18 stw r3,24(r1) + 19a0: 90 81 00 1c stw r4,28(r1) + 19a4: 90 a1 00 20 stw r5,32(r1) + 19a8: 81 21 00 18 lwz r9,24(r1) + 19ac: 91 21 00 08 stw r9,8(r1) + 19b0: 81 21 00 20 lwz r9,32(r1) + 19b4: 2c 09 00 00 cmpwi r9,0 + 19b8: 41 82 00 7c beq 1a34 + 19bc: 48 00 00 10 b 19cc + 19c0: 81 21 00 18 lwz r9,24(r1) + 19c4: 39 29 00 01 addi r9,r9,1 + 19c8: 91 21 00 18 stw r9,24(r1) + 19cc: 81 21 00 18 lwz r9,24(r1) + 19d0: 89 29 00 00 lbz r9,0(r9) + 19d4: 2c 09 00 00 cmpwi r9,0 + 19d8: 40 82 ff e8 bne 19c0 + 19dc: 48 00 00 2c b 1a08 + 19e0: 81 21 00 20 lwz r9,32(r1) + 19e4: 39 29 ff ff addi r9,r9,-1 + 19e8: 91 21 00 20 stw r9,32(r1) + 19ec: 81 21 00 20 lwz r9,32(r1) + 19f0: 2c 09 00 00 cmpwi r9,0 + 19f4: 40 82 00 14 bne 1a08 + 19f8: 81 21 00 18 lwz r9,24(r1) + 19fc: 39 40 00 00 li r10,0 + 1a00: 99 49 00 00 stb r10,0(r9) + 1a04: 48 00 00 30 b 1a34 + 1a08: 81 41 00 1c lwz r10,28(r1) + 1a0c: 39 2a 00 01 addi r9,r10,1 + 1a10: 91 21 00 1c stw r9,28(r1) + 1a14: 81 21 00 18 lwz r9,24(r1) + 1a18: 39 09 00 01 addi r8,r9,1 + 1a1c: 91 01 00 18 stw r8,24(r1) + 1a20: 89 4a 00 00 lbz r10,0(r10) + 1a24: 99 49 00 00 stb r10,0(r9) + 1a28: 89 29 00 00 lbz r9,0(r9) + 1a2c: 2c 09 00 00 cmpwi r9,0 + 1a30: 40 82 ff b0 bne 19e0 + 1a34: 81 21 00 08 lwz r9,8(r1) + 1a38: 7d 23 4b 78 mr r3,r9 + 1a3c: 38 21 00 30 addi r1,r1,48 + 1a40: 4e 80 00 20 blr + +00001a44 : + 1a44: 94 21 ff e0 stwu r1,-32(r1) + 1a48: 90 61 00 18 stw r3,24(r1) + 1a4c: 81 21 00 18 lwz r9,24(r1) + 1a50: 91 21 00 08 stw r9,8(r1) + 1a54: 48 00 00 10 b 1a64 + 1a58: 81 21 00 08 lwz r9,8(r1) + 1a5c: 39 29 00 01 addi r9,r9,1 + 1a60: 91 21 00 08 stw r9,8(r1) + 1a64: 81 21 00 08 lwz r9,8(r1) + 1a68: 89 29 00 00 lbz r9,0(r9) + 1a6c: 2c 09 00 00 cmpwi r9,0 + 1a70: 40 82 ff e8 bne 1a58 + 1a74: 81 41 00 08 lwz r10,8(r1) + 1a78: 81 21 00 18 lwz r9,24(r1) + 1a7c: 7d 29 50 50 subf r9,r9,r10 + 1a80: 7d 23 4b 78 mr r3,r9 + 1a84: 38 21 00 20 addi r1,r1,32 + 1a88: 4e 80 00 20 blr + +00001a8c : + 1a8c: 94 21 ff e0 stwu r1,-32(r1) + 1a90: 90 61 00 18 stw r3,24(r1) + 1a94: 90 81 00 1c stw r4,28(r1) + 1a98: 81 21 00 18 lwz r9,24(r1) + 1a9c: 91 21 00 08 stw r9,8(r1) + 1aa0: 48 00 00 10 b 1ab0 + 1aa4: 81 21 00 08 lwz r9,8(r1) + 1aa8: 39 29 00 01 addi r9,r9,1 + 1aac: 91 21 00 08 stw r9,8(r1) + 1ab0: 81 21 00 1c lwz r9,28(r1) + 1ab4: 39 49 ff ff addi r10,r9,-1 + 1ab8: 91 41 00 1c stw r10,28(r1) + 1abc: 2c 09 00 00 cmpwi r9,0 + 1ac0: 41 82 00 14 beq 1ad4 + 1ac4: 81 21 00 08 lwz r9,8(r1) + 1ac8: 89 29 00 00 lbz r9,0(r9) + 1acc: 2c 09 00 00 cmpwi r9,0 + 1ad0: 40 82 ff d4 bne 1aa4 + 1ad4: 81 41 00 08 lwz r10,8(r1) + 1ad8: 81 21 00 18 lwz r9,24(r1) + 1adc: 7d 29 50 50 subf r9,r9,r10 + 1ae0: 7d 23 4b 78 mr r3,r9 + 1ae4: 38 21 00 20 addi r1,r1,32 + 1ae8: 4e 80 00 20 blr + +00001aec : + 1aec: 94 21 ff e0 stwu r1,-32(r1) + 1af0: 90 61 00 18 stw r3,24(r1) + 1af4: 90 81 00 1c stw r4,28(r1) + 1af8: 39 20 00 00 li r9,0 + 1afc: 91 21 00 10 stw r9,16(r1) + 1b00: 81 21 00 18 lwz r9,24(r1) + 1b04: 91 21 00 08 stw r9,8(r1) + 1b08: 48 00 00 7c b 1b84 + 1b0c: 81 21 00 1c lwz r9,28(r1) + 1b10: 91 21 00 0c stw r9,12(r1) + 1b14: 48 00 00 28 b 1b3c + 1b18: 81 21 00 08 lwz r9,8(r1) + 1b1c: 89 49 00 00 lbz r10,0(r9) + 1b20: 81 21 00 0c lwz r9,12(r1) + 1b24: 89 29 00 00 lbz r9,0(r9) + 1b28: 7c 0a 48 40 cmplw r10,r9 + 1b2c: 41 82 00 24 beq 1b50 + 1b30: 81 21 00 0c lwz r9,12(r1) + 1b34: 39 29 00 01 addi r9,r9,1 + 1b38: 91 21 00 0c stw r9,12(r1) + 1b3c: 81 21 00 0c lwz r9,12(r1) + 1b40: 89 29 00 00 lbz r9,0(r9) + 1b44: 2c 09 00 00 cmpwi r9,0 + 1b48: 40 82 ff d0 bne 1b18 + 1b4c: 48 00 00 08 b 1b54 + 1b50: 60 00 00 00 nop + 1b54: 81 21 00 0c lwz r9,12(r1) + 1b58: 89 29 00 00 lbz r9,0(r9) + 1b5c: 2c 09 00 00 cmpwi r9,0 + 1b60: 40 82 00 0c bne 1b6c + 1b64: 81 21 00 10 lwz r9,16(r1) + 1b68: 48 00 00 30 b 1b98 + 1b6c: 81 21 00 10 lwz r9,16(r1) + 1b70: 39 29 00 01 addi r9,r9,1 + 1b74: 91 21 00 10 stw r9,16(r1) + 1b78: 81 21 00 08 lwz r9,8(r1) + 1b7c: 39 29 00 01 addi r9,r9,1 + 1b80: 91 21 00 08 stw r9,8(r1) + 1b84: 81 21 00 08 lwz r9,8(r1) + 1b88: 89 29 00 00 lbz r9,0(r9) + 1b8c: 2c 09 00 00 cmpwi r9,0 + 1b90: 40 82 ff 7c bne 1b0c + 1b94: 81 21 00 10 lwz r9,16(r1) + 1b98: 7d 23 4b 78 mr r3,r9 + 1b9c: 38 21 00 20 addi r1,r1,32 + 1ba0: 4e 80 00 20 blr + +00001ba4 : + 1ba4: 94 21 ff d0 stwu r1,-48(r1) + 1ba8: 90 61 00 18 stw r3,24(r1) + 1bac: 90 81 00 1c stw r4,28(r1) + 1bb0: 90 a1 00 20 stw r5,32(r1) + 1bb4: 39 20 00 00 li r9,0 + 1bb8: 91 21 00 10 stw r9,16(r1) + 1bbc: 81 21 00 18 lwz r9,24(r1) + 1bc0: 91 21 00 08 stw r9,8(r1) + 1bc4: 81 21 00 1c lwz r9,28(r1) + 1bc8: 91 21 00 0c stw r9,12(r1) + 1bcc: 48 00 00 50 b 1c1c + 1bd0: 81 21 00 08 lwz r9,8(r1) + 1bd4: 89 29 00 00 lbz r9,0(r9) + 1bd8: 7d 2a 4b 78 mr r10,r9 + 1bdc: 81 21 00 0c lwz r9,12(r1) + 1be0: 89 29 00 00 lbz r9,0(r9) + 1be4: 7d 29 50 50 subf r9,r9,r10 + 1be8: 91 21 00 10 stw r9,16(r1) + 1bec: 81 21 00 10 lwz r9,16(r1) + 1bf0: 2c 09 00 00 cmpwi r9,0 + 1bf4: 40 82 00 38 bne 1c2c + 1bf8: 81 21 00 08 lwz r9,8(r1) + 1bfc: 39 29 00 01 addi r9,r9,1 + 1c00: 91 21 00 08 stw r9,8(r1) + 1c04: 81 21 00 0c lwz r9,12(r1) + 1c08: 39 29 00 01 addi r9,r9,1 + 1c0c: 91 21 00 0c stw r9,12(r1) + 1c10: 81 21 00 20 lwz r9,32(r1) + 1c14: 39 29 ff ff addi r9,r9,-1 + 1c18: 91 21 00 20 stw r9,32(r1) + 1c1c: 81 21 00 20 lwz r9,32(r1) + 1c20: 2c 09 00 00 cmpwi r9,0 + 1c24: 40 82 ff ac bne 1bd0 + 1c28: 48 00 00 08 b 1c30 + 1c2c: 60 00 00 00 nop + 1c30: 81 21 00 10 lwz r9,16(r1) + 1c34: 7d 23 4b 78 mr r3,r9 + 1c38: 38 21 00 30 addi r1,r1,48 + 1c3c: 4e 80 00 20 blr + +00001c40 : + 1c40: 94 21 ff d0 stwu r1,-48(r1) + 1c44: 90 61 00 18 stw r3,24(r1) + 1c48: 90 81 00 1c stw r4,28(r1) + 1c4c: 90 a1 00 20 stw r5,32(r1) + 1c50: 81 21 00 18 lwz r9,24(r1) + 1c54: 91 21 00 08 stw r9,8(r1) + 1c58: 48 00 00 1c b 1c74 + 1c5c: 81 21 00 08 lwz r9,8(r1) + 1c60: 39 49 00 01 addi r10,r9,1 + 1c64: 91 41 00 08 stw r10,8(r1) + 1c68: 81 41 00 1c lwz r10,28(r1) + 1c6c: 55 4a 06 3e clrlwi r10,r10,24 + 1c70: 99 49 00 00 stb r10,0(r9) + 1c74: 81 21 00 20 lwz r9,32(r1) + 1c78: 39 49 ff ff addi r10,r9,-1 + 1c7c: 91 41 00 20 stw r10,32(r1) + 1c80: 2c 09 00 00 cmpwi r9,0 + 1c84: 40 82 ff d8 bne 1c5c + 1c88: 81 21 00 18 lwz r9,24(r1) + 1c8c: 7d 23 4b 78 mr r3,r9 + 1c90: 38 21 00 30 addi r1,r1,48 + 1c94: 4e 80 00 20 blr + +00001c98 : + 1c98: 94 21 ff d0 stwu r1,-48(r1) + 1c9c: 90 61 00 18 stw r3,24(r1) + 1ca0: 90 81 00 1c stw r4,28(r1) + 1ca4: 90 a1 00 20 stw r5,32(r1) + 1ca8: 81 21 00 18 lwz r9,24(r1) + 1cac: 91 21 00 08 stw r9,8(r1) + 1cb0: 81 21 00 1c lwz r9,28(r1) + 1cb4: 91 21 00 0c stw r9,12(r1) + 1cb8: 48 00 00 24 b 1cdc + 1cbc: 81 41 00 0c lwz r10,12(r1) + 1cc0: 39 2a 00 01 addi r9,r10,1 + 1cc4: 91 21 00 0c stw r9,12(r1) + 1cc8: 81 21 00 08 lwz r9,8(r1) + 1ccc: 39 09 00 01 addi r8,r9,1 + 1cd0: 91 01 00 08 stw r8,8(r1) + 1cd4: 89 4a 00 00 lbz r10,0(r10) + 1cd8: 99 49 00 00 stb r10,0(r9) + 1cdc: 81 21 00 20 lwz r9,32(r1) + 1ce0: 39 49 ff ff addi r10,r9,-1 + 1ce4: 91 41 00 20 stw r10,32(r1) + 1ce8: 2c 09 00 00 cmpwi r9,0 + 1cec: 40 82 ff d0 bne 1cbc + 1cf0: 81 21 00 18 lwz r9,24(r1) + 1cf4: 7d 23 4b 78 mr r3,r9 + 1cf8: 38 21 00 30 addi r1,r1,48 + 1cfc: 4e 80 00 20 blr + +00001d00 : + 1d00: 94 21 ff d0 stwu r1,-48(r1) + 1d04: 90 61 00 18 stw r3,24(r1) + 1d08: 90 81 00 1c stw r4,28(r1) + 1d0c: 90 a1 00 20 stw r5,32(r1) + 1d10: 81 41 00 18 lwz r10,24(r1) + 1d14: 81 21 00 1c lwz r9,28(r1) + 1d18: 7c 0a 48 40 cmplw r10,r9 + 1d1c: 41 81 00 50 bgt 1d6c + 1d20: 81 21 00 18 lwz r9,24(r1) + 1d24: 91 21 00 08 stw r9,8(r1) + 1d28: 81 21 00 1c lwz r9,28(r1) + 1d2c: 91 21 00 0c stw r9,12(r1) + 1d30: 48 00 00 24 b 1d54 + 1d34: 81 41 00 0c lwz r10,12(r1) + 1d38: 39 2a 00 01 addi r9,r10,1 + 1d3c: 91 21 00 0c stw r9,12(r1) + 1d40: 81 21 00 08 lwz r9,8(r1) + 1d44: 39 09 00 01 addi r8,r9,1 + 1d48: 91 01 00 08 stw r8,8(r1) + 1d4c: 89 4a 00 00 lbz r10,0(r10) + 1d50: 99 49 00 00 stb r10,0(r9) + 1d54: 81 21 00 20 lwz r9,32(r1) + 1d58: 39 49 ff ff addi r10,r9,-1 + 1d5c: 91 41 00 20 stw r10,32(r1) + 1d60: 2c 09 00 00 cmpwi r9,0 + 1d64: 40 82 ff d0 bne 1d34 + 1d68: 48 00 00 64 b 1dcc + 1d6c: 81 41 00 18 lwz r10,24(r1) + 1d70: 81 21 00 20 lwz r9,32(r1) + 1d74: 7d 2a 4a 14 add r9,r10,r9 + 1d78: 91 21 00 08 stw r9,8(r1) + 1d7c: 81 41 00 1c lwz r10,28(r1) + 1d80: 81 21 00 20 lwz r9,32(r1) + 1d84: 7d 2a 4a 14 add r9,r10,r9 + 1d88: 91 21 00 0c stw r9,12(r1) + 1d8c: 48 00 00 2c b 1db8 + 1d90: 81 21 00 0c lwz r9,12(r1) + 1d94: 39 29 ff ff addi r9,r9,-1 + 1d98: 91 21 00 0c stw r9,12(r1) + 1d9c: 81 21 00 08 lwz r9,8(r1) + 1da0: 39 29 ff ff addi r9,r9,-1 + 1da4: 91 21 00 08 stw r9,8(r1) + 1da8: 81 21 00 0c lwz r9,12(r1) + 1dac: 89 49 00 00 lbz r10,0(r9) + 1db0: 81 21 00 08 lwz r9,8(r1) + 1db4: 99 49 00 00 stb r10,0(r9) + 1db8: 81 21 00 20 lwz r9,32(r1) + 1dbc: 39 49 ff ff addi r10,r9,-1 + 1dc0: 91 41 00 20 stw r10,32(r1) + 1dc4: 2c 09 00 00 cmpwi r9,0 + 1dc8: 40 82 ff c8 bne 1d90 + 1dcc: 81 21 00 18 lwz r9,24(r1) + 1dd0: 7d 23 4b 78 mr r3,r9 + 1dd4: 38 21 00 30 addi r1,r1,48 + 1dd8: 4e 80 00 20 blr + +00001ddc : + 1ddc: 94 21 ff e0 stwu r1,-32(r1) + 1de0: 7c 08 02 a6 mflr r0 + 1de4: 90 01 00 24 stw r0,36(r1) + 1de8: 90 61 00 18 stw r3,24(r1) + 1dec: 90 81 00 1c stw r4,28(r1) + 1df0: 80 61 00 1c lwz r3,28(r1) + 1df4: 4b ff fc 51 bl 1a44 + 1df8: 7c 69 1b 78 mr r9,r3 + 1dfc: 91 21 00 0c stw r9,12(r1) + 1e00: 81 21 00 0c lwz r9,12(r1) + 1e04: 2c 09 00 00 cmpwi r9,0 + 1e08: 40 82 00 0c bne 1e14 + 1e0c: 81 21 00 18 lwz r9,24(r1) + 1e10: 48 00 00 68 b 1e78 + 1e14: 80 61 00 18 lwz r3,24(r1) + 1e18: 4b ff fc 2d bl 1a44 + 1e1c: 7c 69 1b 78 mr r9,r3 + 1e20: 91 21 00 08 stw r9,8(r1) + 1e24: 48 00 00 40 b 1e64 + 1e28: 81 21 00 08 lwz r9,8(r1) + 1e2c: 39 29 ff ff addi r9,r9,-1 + 1e30: 91 21 00 08 stw r9,8(r1) + 1e34: 80 a1 00 0c lwz r5,12(r1) + 1e38: 80 81 00 1c lwz r4,28(r1) + 1e3c: 80 61 00 18 lwz r3,24(r1) + 1e40: 4b ff fd 65 bl 1ba4 + 1e44: 7c 69 1b 78 mr r9,r3 + 1e48: 2c 09 00 00 cmpwi r9,0 + 1e4c: 40 82 00 0c bne 1e58 + 1e50: 81 21 00 18 lwz r9,24(r1) + 1e54: 48 00 00 24 b 1e78 + 1e58: 81 21 00 18 lwz r9,24(r1) + 1e5c: 39 29 00 01 addi r9,r9,1 + 1e60: 91 21 00 18 stw r9,24(r1) + 1e64: 81 41 00 08 lwz r10,8(r1) + 1e68: 81 21 00 0c lwz r9,12(r1) + 1e6c: 7c 0a 48 40 cmplw r10,r9 + 1e70: 40 80 ff b8 bge 1e28 + 1e74: 39 20 00 00 li r9,0 + 1e78: 7d 23 4b 78 mr r3,r9 + 1e7c: 80 01 00 24 lwz r0,36(r1) + 1e80: 7c 08 03 a6 mtlr r0 + 1e84: 38 21 00 20 addi r1,r1,32 + 1e88: 4e 80 00 20 blr + +00001e8c : + 1e8c: 94 21 ff d0 stwu r1,-48(r1) + 1e90: 90 61 00 18 stw r3,24(r1) + 1e94: 90 81 00 1c stw r4,28(r1) + 1e98: 90 a1 00 20 stw r5,32(r1) + 1e9c: 81 21 00 18 lwz r9,24(r1) + 1ea0: 91 21 00 08 stw r9,8(r1) + 1ea4: 48 00 00 30 b 1ed4 + 1ea8: 81 21 00 1c lwz r9,28(r1) + 1eac: 55 2a 06 3e clrlwi r10,r9,24 + 1eb0: 81 21 00 08 lwz r9,8(r1) + 1eb4: 39 09 00 01 addi r8,r9,1 + 1eb8: 91 01 00 08 stw r8,8(r1) + 1ebc: 89 29 00 00 lbz r9,0(r9) + 1ec0: 7c 0a 48 40 cmplw r10,r9 + 1ec4: 40 82 00 10 bne 1ed4 + 1ec8: 81 21 00 08 lwz r9,8(r1) + 1ecc: 39 29 ff ff addi r9,r9,-1 + 1ed0: 48 00 00 1c b 1eec + 1ed4: 81 21 00 20 lwz r9,32(r1) + 1ed8: 39 49 ff ff addi r10,r9,-1 + 1edc: 91 41 00 20 stw r10,32(r1) + 1ee0: 2c 09 00 00 cmpwi r9,0 + 1ee4: 40 82 ff c4 bne 1ea8 + 1ee8: 39 20 00 00 li r9,0 + 1eec: 7d 23 4b 78 mr r3,r9 + 1ef0: 38 21 00 30 addi r1,r1,48 + 1ef4: 4e 80 00 20 blr + +00001ef8 : + 1ef8: 94 21 ff d0 stwu r1,-48(r1) + 1efc: 7c 08 02 a6 mflr r0 + 1f00: 90 01 00 34 stw r0,52(r1) + 1f04: 90 61 00 18 stw r3,24(r1) + 1f08: 90 81 00 1c stw r4,28(r1) + 1f0c: 90 a1 00 20 stw r5,32(r1) + 1f10: 39 20 00 00 li r9,0 + 1f14: 91 21 00 08 stw r9,8(r1) + 1f18: 81 21 00 20 lwz r9,32(r1) + 1f1c: 2c 09 00 00 cmpwi r9,0 + 1f20: 40 82 00 8c bne 1fac + 1f24: 39 20 00 0a li r9,10 + 1f28: 91 21 00 20 stw r9,32(r1) + 1f2c: 81 21 00 18 lwz r9,24(r1) + 1f30: 89 29 00 00 lbz r9,0(r9) + 1f34: 28 09 00 30 cmplwi r9,48 + 1f38: 40 82 00 e4 bne 201c + 1f3c: 39 20 00 08 li r9,8 + 1f40: 91 21 00 20 stw r9,32(r1) + 1f44: 81 21 00 18 lwz r9,24(r1) + 1f48: 39 29 00 01 addi r9,r9,1 + 1f4c: 91 21 00 18 stw r9,24(r1) + 1f50: 81 21 00 18 lwz r9,24(r1) + 1f54: 89 29 00 00 lbz r9,0(r9) + 1f58: 7d 23 4b 78 mr r3,r9 + 1f5c: 4b ff f5 41 bl 149c <__toupper> + 1f60: 7c 69 1b 78 mr r9,r3 + 1f64: 28 09 00 58 cmplwi r9,88 + 1f68: 40 82 00 b4 bne 201c + 1f6c: 81 21 00 18 lwz r9,24(r1) + 1f70: 39 29 00 01 addi r9,r9,1 + 1f74: 89 29 00 00 lbz r9,0(r9) + 1f78: 7d 2a 4b 78 mr r10,r9 + 1f7c: 3d 20 00 00 lis r9,0 + 1f80: 39 29 09 04 addi r9,r9,2308 + 1f84: 7d 29 50 ae lbzx r9,r9,r10 + 1f88: 71 29 00 44 andi. r9,r9,68 + 1f8c: 2c 09 00 00 cmpwi r9,0 + 1f90: 41 82 00 8c beq 201c + 1f94: 81 21 00 18 lwz r9,24(r1) + 1f98: 39 29 00 01 addi r9,r9,1 + 1f9c: 91 21 00 18 stw r9,24(r1) + 1fa0: 39 20 00 10 li r9,16 + 1fa4: 91 21 00 20 stw r9,32(r1) + 1fa8: 48 00 00 74 b 201c + 1fac: 81 21 00 20 lwz r9,32(r1) + 1fb0: 2c 09 00 10 cmpwi r9,16 + 1fb4: 40 82 00 68 bne 201c + 1fb8: 81 21 00 18 lwz r9,24(r1) + 1fbc: 89 29 00 00 lbz r9,0(r9) + 1fc0: 28 09 00 30 cmplwi r9,48 + 1fc4: 40 82 00 58 bne 201c + 1fc8: 81 21 00 18 lwz r9,24(r1) + 1fcc: 39 29 00 01 addi r9,r9,1 + 1fd0: 89 29 00 00 lbz r9,0(r9) + 1fd4: 7d 23 4b 78 mr r3,r9 + 1fd8: 4b ff f4 c5 bl 149c <__toupper> + 1fdc: 7c 69 1b 78 mr r9,r3 + 1fe0: 28 09 00 58 cmplwi r9,88 + 1fe4: 40 82 00 38 bne 201c + 1fe8: 81 21 00 18 lwz r9,24(r1) + 1fec: 39 29 00 02 addi r9,r9,2 + 1ff0: 91 21 00 18 stw r9,24(r1) + 1ff4: 48 00 00 28 b 201c + 1ff8: 81 41 00 08 lwz r10,8(r1) + 1ffc: 81 21 00 20 lwz r9,32(r1) + 2000: 7d 2a 49 d6 mullw r9,r10,r9 + 2004: 81 41 00 0c lwz r10,12(r1) + 2008: 7d 2a 4a 14 add r9,r10,r9 + 200c: 91 21 00 08 stw r9,8(r1) + 2010: 81 21 00 18 lwz r9,24(r1) + 2014: 39 29 00 01 addi r9,r9,1 + 2018: 91 21 00 18 stw r9,24(r1) + 201c: 81 21 00 18 lwz r9,24(r1) + 2020: 89 29 00 00 lbz r9,0(r9) + 2024: 7d 2a 4b 78 mr r10,r9 + 2028: 3d 20 00 00 lis r9,0 + 202c: 39 29 09 04 addi r9,r9,2308 + 2030: 7d 29 50 ae lbzx r9,r9,r10 + 2034: 71 29 00 44 andi. r9,r9,68 + 2038: 2c 09 00 00 cmpwi r9,0 + 203c: 41 82 00 64 beq 20a0 + 2040: 81 21 00 18 lwz r9,24(r1) + 2044: 89 29 00 00 lbz r9,0(r9) + 2048: 7d 2a 4b 78 mr r10,r9 + 204c: 3d 20 00 00 lis r9,0 + 2050: 39 29 09 04 addi r9,r9,2308 + 2054: 7d 29 50 ae lbzx r9,r9,r10 + 2058: 55 29 07 7a rlwinm r9,r9,0,29,29 + 205c: 2c 09 00 00 cmpwi r9,0 + 2060: 41 82 00 14 beq 2074 + 2064: 81 21 00 18 lwz r9,24(r1) + 2068: 89 29 00 00 lbz r9,0(r9) + 206c: 39 29 ff d0 addi r9,r9,-48 + 2070: 48 00 00 1c b 208c + 2074: 81 21 00 18 lwz r9,24(r1) + 2078: 89 29 00 00 lbz r9,0(r9) + 207c: 7d 23 4b 78 mr r3,r9 + 2080: 4b ff f4 1d bl 149c <__toupper> + 2084: 7c 69 1b 78 mr r9,r3 + 2088: 39 29 ff c9 addi r9,r9,-55 + 208c: 91 21 00 0c stw r9,12(r1) + 2090: 81 41 00 0c lwz r10,12(r1) + 2094: 81 21 00 20 lwz r9,32(r1) + 2098: 7c 0a 48 40 cmplw r10,r9 + 209c: 41 80 ff 5c blt 1ff8 + 20a0: 81 21 00 1c lwz r9,28(r1) + 20a4: 2c 09 00 00 cmpwi r9,0 + 20a8: 41 82 00 10 beq 20b8 + 20ac: 81 21 00 1c lwz r9,28(r1) + 20b0: 81 41 00 18 lwz r10,24(r1) + 20b4: 91 49 00 00 stw r10,0(r9) + 20b8: 81 21 00 08 lwz r9,8(r1) + 20bc: 7d 23 4b 78 mr r3,r9 + 20c0: 80 01 00 34 lwz r0,52(r1) + 20c4: 7c 08 03 a6 mtlr r0 + 20c8: 38 21 00 30 addi r1,r1,48 + 20cc: 4e 80 00 20 blr + +000020d0 : + 20d0: 94 21 ff e0 stwu r1,-32(r1) + 20d4: 7c 08 02 a6 mflr r0 + 20d8: 90 01 00 24 stw r0,36(r1) + 20dc: 90 61 00 08 stw r3,8(r1) + 20e0: 90 81 00 0c stw r4,12(r1) + 20e4: 90 a1 00 10 stw r5,16(r1) + 20e8: 81 21 00 08 lwz r9,8(r1) + 20ec: 89 29 00 00 lbz r9,0(r9) + 20f0: 28 09 00 2d cmplwi r9,45 + 20f4: 40 82 00 2c bne 2120 + 20f8: 81 21 00 08 lwz r9,8(r1) + 20fc: 39 29 00 01 addi r9,r9,1 + 2100: 81 41 00 10 lwz r10,16(r1) + 2104: 7d 45 53 78 mr r5,r10 + 2108: 80 81 00 0c lwz r4,12(r1) + 210c: 7d 23 4b 78 mr r3,r9 + 2110: 4b ff fd e9 bl 1ef8 + 2114: 7c 69 1b 78 mr r9,r3 + 2118: 7d 29 00 d0 neg r9,r9 + 211c: 48 00 00 1c b 2138 + 2120: 81 21 00 10 lwz r9,16(r1) + 2124: 7d 25 4b 78 mr r5,r9 + 2128: 80 81 00 0c lwz r4,12(r1) + 212c: 80 61 00 08 lwz r3,8(r1) + 2130: 4b ff fd c9 bl 1ef8 + 2134: 7c 69 1b 78 mr r9,r3 + 2138: 7d 23 4b 78 mr r3,r9 + 213c: 80 01 00 24 lwz r0,36(r1) + 2140: 7c 08 03 a6 mtlr r0 + 2144: 38 21 00 20 addi r1,r1,32 + 2148: 4e 80 00 20 blr + +0000214c : + 214c: 94 21 ff e0 stwu r1,-32(r1) + 2150: 90 61 00 18 stw r3,24(r1) + 2154: 39 20 00 00 li r9,0 + 2158: 91 21 00 08 stw r9,8(r1) + 215c: 48 00 00 30 b 218c + 2160: 81 21 00 08 lwz r9,8(r1) + 2164: 1d 49 00 0a mulli r10,r9,10 + 2168: 81 21 00 18 lwz r9,24(r1) + 216c: 81 29 00 00 lwz r9,0(r9) + 2170: 38 e9 00 01 addi r7,r9,1 + 2174: 81 01 00 18 lwz r8,24(r1) + 2178: 90 e8 00 00 stw r7,0(r8) + 217c: 89 29 00 00 lbz r9,0(r9) + 2180: 7d 2a 4a 14 add r9,r10,r9 + 2184: 39 29 ff d0 addi r9,r9,-48 + 2188: 91 21 00 08 stw r9,8(r1) + 218c: 81 21 00 18 lwz r9,24(r1) + 2190: 81 29 00 00 lwz r9,0(r9) + 2194: 89 29 00 00 lbz r9,0(r9) + 2198: 7d 2a 4b 78 mr r10,r9 + 219c: 3d 20 00 00 lis r9,0 + 21a0: 39 29 09 04 addi r9,r9,2308 + 21a4: 7d 29 50 ae lbzx r9,r9,r10 + 21a8: 55 29 07 7a rlwinm r9,r9,0,29,29 + 21ac: 2c 09 00 00 cmpwi r9,0 + 21b0: 40 82 ff b0 bne 2160 + 21b4: 81 21 00 08 lwz r9,8(r1) + 21b8: 7d 23 4b 78 mr r3,r9 + 21bc: 38 21 00 20 addi r1,r1,32 + 21c0: 4e 80 00 20 blr + +000021c4 : + 21c4: 94 21 ff 70 stwu r1,-144(r1) + 21c8: 90 61 00 68 stw r3,104(r1) + 21cc: 90 81 00 6c stw r4,108(r1) + 21d0: 90 a1 00 70 stw r5,112(r1) + 21d4: 90 c1 00 74 stw r6,116(r1) + 21d8: 90 e1 00 78 stw r7,120(r1) + 21dc: 91 01 00 7c stw r8,124(r1) + 21e0: 91 21 00 80 stw r9,128(r1) + 21e4: 81 21 00 80 lwz r9,128(r1) + 21e8: 55 29 06 72 rlwinm r9,r9,0,25,25 + 21ec: 2c 09 00 00 cmpwi r9,0 + 21f0: 41 82 00 10 beq 2200 + 21f4: 3d 20 00 00 lis r9,0 + 21f8: 39 29 0a 10 addi r9,r9,2576 + 21fc: 48 00 00 0c b 2208 + 2200: 3d 20 00 00 lis r9,0 + 2204: 39 29 0a 38 addi r9,r9,2616 + 2208: 91 21 00 10 stw r9,16(r1) + 220c: 81 21 00 80 lwz r9,128(r1) + 2210: 55 29 06 f6 rlwinm r9,r9,0,27,27 + 2214: 2c 09 00 00 cmpwi r9,0 + 2218: 41 82 00 10 beq 2228 + 221c: 81 21 00 80 lwz r9,128(r1) + 2220: 55 29 00 3c rlwinm r9,r9,0,0,30 + 2224: 91 21 00 80 stw r9,128(r1) + 2228: 81 21 00 74 lwz r9,116(r1) + 222c: 2c 09 00 01 cmpwi r9,1 + 2230: 40 81 00 10 ble 2240 + 2234: 81 21 00 74 lwz r9,116(r1) + 2238: 2c 09 00 24 cmpwi r9,36 + 223c: 40 81 00 0c ble 2248 + 2240: 39 20 00 00 li r9,0 + 2244: 48 00 03 fc b 2640 + 2248: 81 21 00 80 lwz r9,128(r1) + 224c: 55 29 07 fe clrlwi r9,r9,31 + 2250: 2c 09 00 00 cmpwi r9,0 + 2254: 41 82 00 0c beq 2260 + 2258: 39 20 00 30 li r9,48 + 225c: 48 00 00 08 b 2264 + 2260: 39 20 00 20 li r9,32 + 2264: 99 21 00 14 stb r9,20(r1) + 2268: 39 20 00 00 li r9,0 + 226c: 99 21 00 08 stb r9,8(r1) + 2270: 81 21 00 80 lwz r9,128(r1) + 2274: 55 29 07 bc rlwinm r9,r9,0,30,30 + 2278: 2c 09 00 00 cmpwi r9,0 + 227c: 41 82 00 80 beq 22fc + 2280: 81 21 00 70 lwz r9,112(r1) + 2284: 2c 09 00 00 cmpwi r9,0 + 2288: 40 80 00 28 bge 22b0 + 228c: 39 20 00 2d li r9,45 + 2290: 99 21 00 08 stb r9,8(r1) + 2294: 81 21 00 70 lwz r9,112(r1) + 2298: 7d 29 00 d0 neg r9,r9 + 229c: 91 21 00 70 stw r9,112(r1) + 22a0: 81 21 00 78 lwz r9,120(r1) + 22a4: 39 29 ff ff addi r9,r9,-1 + 22a8: 91 21 00 78 stw r9,120(r1) + 22ac: 48 00 00 50 b 22fc + 22b0: 81 21 00 80 lwz r9,128(r1) + 22b4: 55 29 07 7a rlwinm r9,r9,0,29,29 + 22b8: 2c 09 00 00 cmpwi r9,0 + 22bc: 41 82 00 1c beq 22d8 + 22c0: 39 20 00 2b li r9,43 + 22c4: 99 21 00 08 stb r9,8(r1) + 22c8: 81 21 00 78 lwz r9,120(r1) + 22cc: 39 29 ff ff addi r9,r9,-1 + 22d0: 91 21 00 78 stw r9,120(r1) + 22d4: 48 00 00 28 b 22fc + 22d8: 81 21 00 80 lwz r9,128(r1) + 22dc: 55 29 07 38 rlwinm r9,r9,0,28,28 + 22e0: 2c 09 00 00 cmpwi r9,0 + 22e4: 41 82 00 18 beq 22fc + 22e8: 39 20 00 20 li r9,32 + 22ec: 99 21 00 08 stb r9,8(r1) + 22f0: 81 21 00 78 lwz r9,120(r1) + 22f4: 39 29 ff ff addi r9,r9,-1 + 22f8: 91 21 00 78 stw r9,120(r1) + 22fc: 81 21 00 80 lwz r9,128(r1) + 2300: 55 29 06 b4 rlwinm r9,r9,0,26,26 + 2304: 2c 09 00 00 cmpwi r9,0 + 2308: 41 82 00 38 beq 2340 + 230c: 81 21 00 74 lwz r9,116(r1) + 2310: 2c 09 00 10 cmpwi r9,16 + 2314: 40 82 00 14 bne 2328 + 2318: 81 21 00 78 lwz r9,120(r1) + 231c: 39 29 ff fe addi r9,r9,-2 + 2320: 91 21 00 78 stw r9,120(r1) + 2324: 48 00 00 1c b 2340 + 2328: 81 21 00 74 lwz r9,116(r1) + 232c: 2c 09 00 08 cmpwi r9,8 + 2330: 40 82 00 10 bne 2340 + 2334: 81 21 00 78 lwz r9,120(r1) + 2338: 39 29 ff ff addi r9,r9,-1 + 233c: 91 21 00 78 stw r9,120(r1) + 2340: 39 20 00 00 li r9,0 + 2344: 91 21 00 0c stw r9,12(r1) + 2348: 81 21 00 70 lwz r9,112(r1) + 234c: 2c 09 00 00 cmpwi r9,0 + 2350: 40 82 00 6c bne 23bc + 2354: 81 21 00 0c lwz r9,12(r1) + 2358: 39 49 00 01 addi r10,r9,1 + 235c: 91 41 00 0c stw r10,12(r1) + 2360: 39 41 00 08 addi r10,r1,8 + 2364: 7d 2a 4a 14 add r9,r10,r9 + 2368: 39 40 00 30 li r10,48 + 236c: 99 49 00 10 stb r10,16(r9) + 2370: 48 00 00 58 b 23c8 + 2374: 81 41 00 74 lwz r10,116(r1) + 2378: 81 21 00 70 lwz r9,112(r1) + 237c: 7d 09 53 96 divwu r8,r9,r10 + 2380: 7d 48 51 d6 mullw r10,r8,r10 + 2384: 7d 2a 48 50 subf r9,r10,r9 + 2388: 81 41 00 10 lwz r10,16(r1) + 238c: 7d 4a 4a 14 add r10,r10,r9 + 2390: 81 21 00 0c lwz r9,12(r1) + 2394: 39 09 00 01 addi r8,r9,1 + 2398: 91 01 00 0c stw r8,12(r1) + 239c: 89 4a 00 00 lbz r10,0(r10) + 23a0: 39 01 00 08 addi r8,r1,8 + 23a4: 7d 28 4a 14 add r9,r8,r9 + 23a8: 99 49 00 10 stb r10,16(r9) + 23ac: 81 21 00 74 lwz r9,116(r1) + 23b0: 81 41 00 70 lwz r10,112(r1) + 23b4: 7d 2a 4b 96 divwu r9,r10,r9 + 23b8: 91 21 00 70 stw r9,112(r1) + 23bc: 81 21 00 70 lwz r9,112(r1) + 23c0: 2c 09 00 00 cmpwi r9,0 + 23c4: 40 82 ff b0 bne 2374 + 23c8: 81 41 00 0c lwz r10,12(r1) + 23cc: 81 21 00 7c lwz r9,124(r1) + 23d0: 7c 0a 48 00 cmpw r10,r9 + 23d4: 40 81 00 0c ble 23e0 + 23d8: 81 21 00 0c lwz r9,12(r1) + 23dc: 91 21 00 7c stw r9,124(r1) + 23e0: 81 41 00 78 lwz r10,120(r1) + 23e4: 81 21 00 7c lwz r9,124(r1) + 23e8: 7d 29 50 50 subf r9,r9,r10 + 23ec: 91 21 00 78 stw r9,120(r1) + 23f0: 81 21 00 80 lwz r9,128(r1) + 23f4: 71 29 00 11 andi. r9,r9,17 + 23f8: 2c 09 00 00 cmpwi r9,0 + 23fc: 40 82 00 44 bne 2440 + 2400: 48 00 00 2c b 242c + 2404: 81 41 00 68 lwz r10,104(r1) + 2408: 81 21 00 6c lwz r9,108(r1) + 240c: 7c 0a 48 40 cmplw r10,r9 + 2410: 40 80 00 10 bge 2420 + 2414: 81 21 00 68 lwz r9,104(r1) + 2418: 39 40 00 20 li r10,32 + 241c: 99 49 00 00 stb r10,0(r9) + 2420: 81 21 00 68 lwz r9,104(r1) + 2424: 39 29 00 01 addi r9,r9,1 + 2428: 91 21 00 68 stw r9,104(r1) + 242c: 81 21 00 78 lwz r9,120(r1) + 2430: 39 49 ff ff addi r10,r9,-1 + 2434: 91 41 00 78 stw r10,120(r1) + 2438: 2c 09 00 00 cmpwi r9,0 + 243c: 41 81 ff c8 bgt 2404 + 2440: 89 21 00 08 lbz r9,8(r1) + 2444: 2c 09 00 00 cmpwi r9,0 + 2448: 41 82 00 2c beq 2474 + 244c: 81 41 00 68 lwz r10,104(r1) + 2450: 81 21 00 6c lwz r9,108(r1) + 2454: 7c 0a 48 40 cmplw r10,r9 + 2458: 40 80 00 10 bge 2468 + 245c: 81 21 00 68 lwz r9,104(r1) + 2460: 89 41 00 08 lbz r10,8(r1) + 2464: 99 49 00 00 stb r10,0(r9) + 2468: 81 21 00 68 lwz r9,104(r1) + 246c: 39 29 00 01 addi r9,r9,1 + 2470: 91 21 00 68 stw r9,104(r1) + 2474: 81 21 00 80 lwz r9,128(r1) + 2478: 55 29 06 b4 rlwinm r9,r9,0,26,26 + 247c: 2c 09 00 00 cmpwi r9,0 + 2480: 41 82 00 9c beq 251c + 2484: 81 21 00 74 lwz r9,116(r1) + 2488: 2c 09 00 08 cmpwi r9,8 + 248c: 40 82 00 30 bne 24bc + 2490: 81 41 00 68 lwz r10,104(r1) + 2494: 81 21 00 6c lwz r9,108(r1) + 2498: 7c 0a 48 40 cmplw r10,r9 + 249c: 40 80 00 10 bge 24ac + 24a0: 81 21 00 68 lwz r9,104(r1) + 24a4: 39 40 00 30 li r10,48 + 24a8: 99 49 00 00 stb r10,0(r9) + 24ac: 81 21 00 68 lwz r9,104(r1) + 24b0: 39 29 00 01 addi r9,r9,1 + 24b4: 91 21 00 68 stw r9,104(r1) + 24b8: 48 00 00 64 b 251c + 24bc: 81 21 00 74 lwz r9,116(r1) + 24c0: 2c 09 00 10 cmpwi r9,16 + 24c4: 40 82 00 58 bne 251c + 24c8: 81 41 00 68 lwz r10,104(r1) + 24cc: 81 21 00 6c lwz r9,108(r1) + 24d0: 7c 0a 48 40 cmplw r10,r9 + 24d4: 40 80 00 10 bge 24e4 + 24d8: 81 21 00 68 lwz r9,104(r1) + 24dc: 39 40 00 30 li r10,48 + 24e0: 99 49 00 00 stb r10,0(r9) + 24e4: 81 21 00 68 lwz r9,104(r1) + 24e8: 39 29 00 01 addi r9,r9,1 + 24ec: 91 21 00 68 stw r9,104(r1) + 24f0: 81 41 00 68 lwz r10,104(r1) + 24f4: 81 21 00 6c lwz r9,108(r1) + 24f8: 7c 0a 48 40 cmplw r10,r9 + 24fc: 40 80 00 14 bge 2510 + 2500: 81 21 00 10 lwz r9,16(r1) + 2504: 89 49 00 21 lbz r10,33(r9) + 2508: 81 21 00 68 lwz r9,104(r1) + 250c: 99 49 00 00 stb r10,0(r9) + 2510: 81 21 00 68 lwz r9,104(r1) + 2514: 39 29 00 01 addi r9,r9,1 + 2518: 91 21 00 68 stw r9,104(r1) + 251c: 81 21 00 80 lwz r9,128(r1) + 2520: 55 29 06 f6 rlwinm r9,r9,0,27,27 + 2524: 2c 09 00 00 cmpwi r9,0 + 2528: 40 82 00 70 bne 2598 + 252c: 48 00 00 2c b 2558 + 2530: 81 41 00 68 lwz r10,104(r1) + 2534: 81 21 00 6c lwz r9,108(r1) + 2538: 7c 0a 48 40 cmplw r10,r9 + 253c: 40 80 00 10 bge 254c + 2540: 81 21 00 68 lwz r9,104(r1) + 2544: 89 41 00 14 lbz r10,20(r1) + 2548: 99 49 00 00 stb r10,0(r9) + 254c: 81 21 00 68 lwz r9,104(r1) + 2550: 39 29 00 01 addi r9,r9,1 + 2554: 91 21 00 68 stw r9,104(r1) + 2558: 81 21 00 78 lwz r9,120(r1) + 255c: 39 49 ff ff addi r10,r9,-1 + 2560: 91 41 00 78 stw r10,120(r1) + 2564: 2c 09 00 00 cmpwi r9,0 + 2568: 41 81 ff c8 bgt 2530 + 256c: 48 00 00 2c b 2598 + 2570: 81 41 00 68 lwz r10,104(r1) + 2574: 81 21 00 6c lwz r9,108(r1) + 2578: 7c 0a 48 40 cmplw r10,r9 + 257c: 40 80 00 10 bge 258c + 2580: 81 21 00 68 lwz r9,104(r1) + 2584: 39 40 00 30 li r10,48 + 2588: 99 49 00 00 stb r10,0(r9) + 258c: 81 21 00 68 lwz r9,104(r1) + 2590: 39 29 00 01 addi r9,r9,1 + 2594: 91 21 00 68 stw r9,104(r1) + 2598: 81 21 00 7c lwz r9,124(r1) + 259c: 39 49 ff ff addi r10,r9,-1 + 25a0: 91 41 00 7c stw r10,124(r1) + 25a4: 81 41 00 0c lwz r10,12(r1) + 25a8: 7c 0a 48 00 cmpw r10,r9 + 25ac: 41 80 ff c4 blt 2570 + 25b0: 48 00 00 38 b 25e8 + 25b4: 81 41 00 68 lwz r10,104(r1) + 25b8: 81 21 00 6c lwz r9,108(r1) + 25bc: 7c 0a 48 40 cmplw r10,r9 + 25c0: 40 80 00 1c bge 25dc + 25c4: 39 41 00 18 addi r10,r1,24 + 25c8: 81 21 00 0c lwz r9,12(r1) + 25cc: 7d 2a 4a 14 add r9,r10,r9 + 25d0: 89 49 00 00 lbz r10,0(r9) + 25d4: 81 21 00 68 lwz r9,104(r1) + 25d8: 99 49 00 00 stb r10,0(r9) + 25dc: 81 21 00 68 lwz r9,104(r1) + 25e0: 39 29 00 01 addi r9,r9,1 + 25e4: 91 21 00 68 stw r9,104(r1) + 25e8: 81 21 00 0c lwz r9,12(r1) + 25ec: 39 49 ff ff addi r10,r9,-1 + 25f0: 91 41 00 0c stw r10,12(r1) + 25f4: 2c 09 00 00 cmpwi r9,0 + 25f8: 41 81 ff bc bgt 25b4 + 25fc: 48 00 00 2c b 2628 + 2600: 81 41 00 68 lwz r10,104(r1) + 2604: 81 21 00 6c lwz r9,108(r1) + 2608: 7c 0a 48 40 cmplw r10,r9 + 260c: 40 80 00 10 bge 261c + 2610: 81 21 00 68 lwz r9,104(r1) + 2614: 39 40 00 20 li r10,32 + 2618: 99 49 00 00 stb r10,0(r9) + 261c: 81 21 00 68 lwz r9,104(r1) + 2620: 39 29 00 01 addi r9,r9,1 + 2624: 91 21 00 68 stw r9,104(r1) + 2628: 81 21 00 78 lwz r9,120(r1) + 262c: 39 49 ff ff addi r10,r9,-1 + 2630: 91 41 00 78 stw r10,120(r1) + 2634: 2c 09 00 00 cmpwi r9,0 + 2638: 41 81 ff c8 bgt 2600 + 263c: 81 21 00 68 lwz r9,104(r1) + 2640: 7d 23 4b 78 mr r3,r9 + 2644: 38 21 00 90 addi r1,r1,144 + 2648: 4e 80 00 20 blr + +0000264c : + 264c: 94 21 ff d0 stwu r1,-48(r1) + 2650: 7c 08 02 a6 mflr r0 + 2654: 90 01 00 34 stw r0,52(r1) + 2658: 90 61 00 18 stw r3,24(r1) + 265c: 90 81 00 1c stw r4,28(r1) + 2660: 90 a1 00 20 stw r5,32(r1) + 2664: 90 c1 00 24 stw r6,36(r1) + 2668: 80 c1 00 24 lwz r6,36(r1) + 266c: 80 a1 00 20 lwz r5,32(r1) + 2670: 80 81 00 1c lwz r4,28(r1) + 2674: 80 61 00 18 lwz r3,24(r1) + 2678: 48 00 04 4d bl 2ac4 + 267c: 7c 69 1b 78 mr r9,r3 + 2680: 91 21 00 08 stw r9,8(r1) + 2684: 81 41 00 08 lwz r10,8(r1) + 2688: 81 21 00 1c lwz r9,28(r1) + 268c: 7c 0a 48 40 cmplw r10,r9 + 2690: 41 80 00 10 blt 26a0 + 2694: 81 21 00 1c lwz r9,28(r1) + 2698: 39 29 ff ff addi r9,r9,-1 + 269c: 48 00 00 08 b 26a4 + 26a0: 81 21 00 08 lwz r9,8(r1) + 26a4: 7d 23 4b 78 mr r3,r9 + 26a8: 80 01 00 34 lwz r0,52(r1) + 26ac: 7c 08 03 a6 mtlr r0 + 26b0: 38 21 00 30 addi r1,r1,48 + 26b4: 4e 80 00 20 blr + +000026b8 : + 26b8: 94 21 ff 80 stwu r1,-128(r1) + 26bc: 7c 08 02 a6 mflr r0 + 26c0: 90 01 00 84 stw r0,132(r1) + 26c4: 90 61 00 18 stw r3,24(r1) + 26c8: 90 81 00 1c stw r4,28(r1) + 26cc: 90 a1 00 20 stw r5,32(r1) + 26d0: 90 c1 00 2c stw r6,44(r1) + 26d4: 90 e1 00 30 stw r7,48(r1) + 26d8: 91 01 00 34 stw r8,52(r1) + 26dc: 91 21 00 38 stw r9,56(r1) + 26e0: 91 41 00 3c stw r10,60(r1) + 26e4: 40 86 00 24 bne cr1,2708 + 26e8: d8 21 00 40 stfd f1,64(r1) + 26ec: d8 41 00 48 stfd f2,72(r1) + 26f0: d8 61 00 50 stfd f3,80(r1) + 26f4: d8 81 00 58 stfd f4,88(r1) + 26f8: d8 a1 00 60 stfd f5,96(r1) + 26fc: d8 c1 00 68 stfd f6,104(r1) + 2700: d8 e1 00 70 stfd f7,112(r1) + 2704: d9 01 00 78 stfd f8,120(r1) + 2708: 39 20 00 03 li r9,3 + 270c: 99 21 00 0c stb r9,12(r1) + 2710: 39 20 00 00 li r9,0 + 2714: 99 21 00 0d stb r9,13(r1) + 2718: 39 21 00 88 addi r9,r1,136 + 271c: 91 21 00 10 stw r9,16(r1) + 2720: 39 21 00 20 addi r9,r1,32 + 2724: 91 21 00 14 stw r9,20(r1) + 2728: 39 21 00 0c addi r9,r1,12 + 272c: 7d 26 4b 78 mr r6,r9 + 2730: 80 a1 00 20 lwz r5,32(r1) + 2734: 80 81 00 1c lwz r4,28(r1) + 2738: 80 61 00 18 lwz r3,24(r1) + 273c: 48 00 03 89 bl 2ac4 + 2740: 7c 69 1b 78 mr r9,r3 + 2744: 91 21 00 08 stw r9,8(r1) + 2748: 81 21 00 08 lwz r9,8(r1) + 274c: 7d 23 4b 78 mr r3,r9 + 2750: 80 01 00 84 lwz r0,132(r1) + 2754: 7c 08 03 a6 mtlr r0 + 2758: 38 21 00 80 addi r1,r1,128 + 275c: 4e 80 00 20 blr + +00002760 : + 2760: 94 21 ff 80 stwu r1,-128(r1) + 2764: 7c 08 02 a6 mflr r0 + 2768: 90 01 00 84 stw r0,132(r1) + 276c: 90 61 00 18 stw r3,24(r1) + 2770: 90 81 00 1c stw r4,28(r1) + 2774: 90 a1 00 20 stw r5,32(r1) + 2778: 90 c1 00 2c stw r6,44(r1) + 277c: 90 e1 00 30 stw r7,48(r1) + 2780: 91 01 00 34 stw r8,52(r1) + 2784: 91 21 00 38 stw r9,56(r1) + 2788: 91 41 00 3c stw r10,60(r1) + 278c: 40 86 00 24 bne cr1,27b0 + 2790: d8 21 00 40 stfd f1,64(r1) + 2794: d8 41 00 48 stfd f2,72(r1) + 2798: d8 61 00 50 stfd f3,80(r1) + 279c: d8 81 00 58 stfd f4,88(r1) + 27a0: d8 a1 00 60 stfd f5,96(r1) + 27a4: d8 c1 00 68 stfd f6,104(r1) + 27a8: d8 e1 00 70 stfd f7,112(r1) + 27ac: d9 01 00 78 stfd f8,120(r1) + 27b0: 39 20 00 03 li r9,3 + 27b4: 99 21 00 0c stb r9,12(r1) + 27b8: 39 20 00 00 li r9,0 + 27bc: 99 21 00 0d stb r9,13(r1) + 27c0: 39 21 00 88 addi r9,r1,136 + 27c4: 91 21 00 10 stw r9,16(r1) + 27c8: 39 21 00 20 addi r9,r1,32 + 27cc: 91 21 00 14 stw r9,20(r1) + 27d0: 39 21 00 0c addi r9,r1,12 + 27d4: 7d 26 4b 78 mr r6,r9 + 27d8: 80 a1 00 20 lwz r5,32(r1) + 27dc: 80 81 00 1c lwz r4,28(r1) + 27e0: 80 61 00 18 lwz r3,24(r1) + 27e4: 48 00 02 e1 bl 2ac4 + 27e8: 7c 69 1b 78 mr r9,r3 + 27ec: 91 21 00 08 stw r9,8(r1) + 27f0: 81 41 00 08 lwz r10,8(r1) + 27f4: 81 21 00 1c lwz r9,28(r1) + 27f8: 7c 0a 48 40 cmplw r10,r9 + 27fc: 41 80 00 10 blt 280c + 2800: 81 21 00 1c lwz r9,28(r1) + 2804: 39 29 ff ff addi r9,r9,-1 + 2808: 48 00 00 08 b 2810 + 280c: 81 21 00 08 lwz r9,8(r1) + 2810: 7d 23 4b 78 mr r3,r9 + 2814: 80 01 00 84 lwz r0,132(r1) + 2818: 7c 08 03 a6 mtlr r0 + 281c: 38 21 00 80 addi r1,r1,128 + 2820: 4e 80 00 20 blr + +00002824 : + 2824: 94 21 ff e0 stwu r1,-32(r1) + 2828: 7c 08 02 a6 mflr r0 + 282c: 90 01 00 24 stw r0,36(r1) + 2830: 90 61 00 08 stw r3,8(r1) + 2834: 90 81 00 0c stw r4,12(r1) + 2838: 90 a1 00 10 stw r5,16(r1) + 283c: 80 c1 00 10 lwz r6,16(r1) + 2840: 80 a1 00 0c lwz r5,12(r1) + 2844: 3d 20 7f ff lis r9,32767 + 2848: 61 24 ff ff ori r4,r9,65535 + 284c: 80 61 00 08 lwz r3,8(r1) + 2850: 48 00 02 75 bl 2ac4 + 2854: 7c 69 1b 78 mr r9,r3 + 2858: 7d 23 4b 78 mr r3,r9 + 285c: 80 01 00 24 lwz r0,36(r1) + 2860: 7c 08 03 a6 mtlr r0 + 2864: 38 21 00 20 addi r1,r1,32 + 2868: 4e 80 00 20 blr + +0000286c : + 286c: 94 21 ff 80 stwu r1,-128(r1) + 2870: 7c 08 02 a6 mflr r0 + 2874: 90 01 00 84 stw r0,132(r1) + 2878: 90 61 00 18 stw r3,24(r1) + 287c: 90 81 00 1c stw r4,28(r1) + 2880: 90 a1 00 20 stw r5,32(r1) + 2884: 90 c1 00 24 stw r6,36(r1) + 2888: 90 e1 00 28 stw r7,40(r1) + 288c: 91 01 00 2c stw r8,44(r1) + 2890: 91 21 00 30 stw r9,48(r1) + 2894: 91 41 00 34 stw r10,52(r1) + 2898: 40 86 00 24 bne cr1,28bc + 289c: d8 21 00 38 stfd f1,56(r1) + 28a0: d8 41 00 40 stfd f2,64(r1) + 28a4: d8 61 00 48 stfd f3,72(r1) + 28a8: d8 81 00 50 stfd f4,80(r1) + 28ac: d8 a1 00 58 stfd f5,88(r1) + 28b0: d8 c1 00 60 stfd f6,96(r1) + 28b4: d8 e1 00 68 stfd f7,104(r1) + 28b8: d9 01 00 70 stfd f8,112(r1) + 28bc: 39 20 00 02 li r9,2 + 28c0: 99 21 00 0c stb r9,12(r1) + 28c4: 39 20 00 00 li r9,0 + 28c8: 99 21 00 0d stb r9,13(r1) + 28cc: 39 21 00 88 addi r9,r1,136 + 28d0: 91 21 00 10 stw r9,16(r1) + 28d4: 39 21 00 18 addi r9,r1,24 + 28d8: 91 21 00 14 stw r9,20(r1) + 28dc: 39 21 00 0c addi r9,r1,12 + 28e0: 7d 26 4b 78 mr r6,r9 + 28e4: 80 a1 00 1c lwz r5,28(r1) + 28e8: 3d 20 7f ff lis r9,32767 + 28ec: 61 24 ff ff ori r4,r9,65535 + 28f0: 80 61 00 18 lwz r3,24(r1) + 28f4: 48 00 01 d1 bl 2ac4 + 28f8: 7c 69 1b 78 mr r9,r3 + 28fc: 91 21 00 08 stw r9,8(r1) + 2900: 81 21 00 08 lwz r9,8(r1) + 2904: 7d 23 4b 78 mr r3,r9 + 2908: 80 01 00 84 lwz r0,132(r1) + 290c: 7c 08 03 a6 mtlr r0 + 2910: 38 21 00 80 addi r1,r1,128 + 2914: 4e 80 00 20 blr + +00002918 : + 2918: 3d 20 00 02 lis r9,2 + 291c: 81 29 e0 14 lwz r9,-8172(r9) + 2920: 1d 29 00 81 mulli r9,r9,129 + 2924: 3d 29 36 19 addis r9,r9,13849 + 2928: 39 49 62 e9 addi r10,r9,25321 + 292c: 3d 20 00 02 lis r9,2 + 2930: 91 49 e0 14 stw r10,-8172(r9) + 2934: 3d 20 00 02 lis r9,2 + 2938: 81 29 e0 14 lwz r9,-8172(r9) + 293c: 7d 23 4b 78 mr r3,r9 + 2940: 4e 80 00 20 blr + +00002944 : + 2944: 94 21 ff f0 stwu r1,-16(r1) + 2948: 90 61 00 08 stw r3,8(r1) + 294c: 3d 20 00 02 lis r9,2 + 2950: 81 41 00 08 lwz r10,8(r1) + 2954: 91 49 e0 14 stw r10,-8172(r9) + 2958: 60 00 00 00 nop + 295c: 38 21 00 10 addi r1,r1,16 + 2960: 4e 80 00 20 blr + +00002964 : + 2964: 94 21 ff f0 stwu r1,-16(r1) + 2968: 7c 08 02 a6 mflr r0 + 296c: 90 01 00 14 stw r0,20(r1) + 2970: 3d 20 00 00 lis r9,0 + 2974: 38 69 0a 04 addi r3,r9,2564 + 2978: 4c c6 31 82 crclr 4*cr1+eq + 297c: 48 00 11 1d bl 3a98 + 2980: 48 00 00 00 b 2980 + +00002984 : + 2984: 94 21 ff e0 stwu r1,-32(r1) + 2988: 7c 08 02 a6 mflr r0 + 298c: 90 01 00 24 stw r0,36(r1) + 2990: 90 61 00 18 stw r3,24(r1) + 2994: 39 20 00 01 li r9,1 + 2998: 91 21 00 08 stw r9,8(r1) + 299c: 89 21 00 08 lbz r9,8(r1) + 29a0: 2c 09 00 00 cmpwi r9,0 + 29a4: 41 82 00 14 beq 29b8 + 29a8: 80 61 00 18 lwz r3,24(r1) + 29ac: 4b ff eb 75 bl 1520 <__bswap_32> + 29b0: 7c 69 1b 78 mr r9,r3 + 29b4: 48 00 00 08 b 29bc + 29b8: 81 21 00 18 lwz r9,24(r1) + 29bc: 7d 23 4b 78 mr r3,r9 + 29c0: 80 01 00 24 lwz r0,36(r1) + 29c4: 7c 08 03 a6 mtlr r0 + 29c8: 38 21 00 20 addi r1,r1,32 + 29cc: 4e 80 00 20 blr + +000029d0 : + 29d0: 94 21 ff e0 stwu r1,-32(r1) + 29d4: 7c 08 02 a6 mflr r0 + 29d8: 90 01 00 24 stw r0,36(r1) + 29dc: 7c 69 1b 78 mr r9,r3 + 29e0: b1 21 00 18 sth r9,24(r1) + 29e4: 39 20 00 01 li r9,1 + 29e8: 91 21 00 08 stw r9,8(r1) + 29ec: 89 21 00 08 lbz r9,8(r1) + 29f0: 2c 09 00 00 cmpwi r9,0 + 29f4: 41 82 00 18 beq 2a0c + 29f8: a1 21 00 18 lhz r9,24(r1) + 29fc: 7d 23 4b 78 mr r3,r9 + 2a00: 4b ff ea e1 bl 14e0 <__bswap_16> + 2a04: 7c 69 1b 78 mr r9,r3 + 2a08: 48 00 00 08 b 2a10 + 2a0c: a1 21 00 18 lhz r9,24(r1) + 2a10: 7d 23 4b 78 mr r3,r9 + 2a14: 80 01 00 24 lwz r0,36(r1) + 2a18: 7c 08 03 a6 mtlr r0 + 2a1c: 38 21 00 20 addi r1,r1,32 + 2a20: 4e 80 00 20 blr + +00002a24 : + 2a24: 94 21 ff e0 stwu r1,-32(r1) + 2a28: 7c 08 02 a6 mflr r0 + 2a2c: 90 01 00 24 stw r0,36(r1) + 2a30: 90 61 00 18 stw r3,24(r1) + 2a34: 39 20 00 01 li r9,1 + 2a38: 91 21 00 08 stw r9,8(r1) + 2a3c: 89 21 00 08 lbz r9,8(r1) + 2a40: 2c 09 00 00 cmpwi r9,0 + 2a44: 41 82 00 14 beq 2a58 + 2a48: 80 61 00 18 lwz r3,24(r1) + 2a4c: 4b ff ea d5 bl 1520 <__bswap_32> + 2a50: 7c 69 1b 78 mr r9,r3 + 2a54: 48 00 00 08 b 2a5c + 2a58: 81 21 00 18 lwz r9,24(r1) + 2a5c: 7d 23 4b 78 mr r3,r9 + 2a60: 80 01 00 24 lwz r0,36(r1) + 2a64: 7c 08 03 a6 mtlr r0 + 2a68: 38 21 00 20 addi r1,r1,32 + 2a6c: 4e 80 00 20 blr + +00002a70 : + 2a70: 94 21 ff e0 stwu r1,-32(r1) + 2a74: 7c 08 02 a6 mflr r0 + 2a78: 90 01 00 24 stw r0,36(r1) + 2a7c: 7c 69 1b 78 mr r9,r3 + 2a80: b1 21 00 18 sth r9,24(r1) + 2a84: 39 20 00 01 li r9,1 + 2a88: 91 21 00 08 stw r9,8(r1) + 2a8c: 89 21 00 08 lbz r9,8(r1) + 2a90: 2c 09 00 00 cmpwi r9,0 + 2a94: 41 82 00 18 beq 2aac + 2a98: a1 21 00 18 lhz r9,24(r1) + 2a9c: 7d 23 4b 78 mr r3,r9 + 2aa0: 4b ff ea 41 bl 14e0 <__bswap_16> + 2aa4: 7c 69 1b 78 mr r9,r3 + 2aa8: 48 00 00 08 b 2ab0 + 2aac: a1 21 00 18 lhz r9,24(r1) + 2ab0: 7d 23 4b 78 mr r3,r9 + 2ab4: 80 01 00 24 lwz r0,36(r1) + 2ab8: 7c 08 03 a6 mtlr r0 + 2abc: 38 21 00 20 addi r1,r1,32 + 2ac0: 4e 80 00 20 blr + +00002ac4 : + 2ac4: 94 21 ff a0 stwu r1,-96(r1) + 2ac8: 7c 08 02 a6 mflr r0 + 2acc: 90 01 00 64 stw r0,100(r1) + 2ad0: 90 61 00 48 stw r3,72(r1) + 2ad4: 90 81 00 4c stw r4,76(r1) + 2ad8: 90 a1 00 50 stw r5,80(r1) + 2adc: 90 c1 00 54 stw r6,84(r1) + 2ae0: 81 21 00 4c lwz r9,76(r1) + 2ae4: 2c 09 00 00 cmpwi r9,0 + 2ae8: 40 80 00 0c bge 2af4 + 2aec: 39 20 00 00 li r9,0 + 2af0: 48 00 0d 3c b 382c + 2af4: 81 21 00 48 lwz r9,72(r1) + 2af8: 91 21 00 18 stw r9,24(r1) + 2afc: 81 41 00 48 lwz r10,72(r1) + 2b00: 81 21 00 4c lwz r9,76(r1) + 2b04: 7d 2a 4a 14 add r9,r10,r9 + 2b08: 91 21 00 1c stw r9,28(r1) + 2b0c: 81 41 00 1c lwz r10,28(r1) + 2b10: 81 21 00 48 lwz r9,72(r1) + 2b14: 7c 0a 48 40 cmplw r10,r9 + 2b18: 40 80 0c bc bge 37d4 + 2b1c: 39 20 ff ff li r9,-1 + 2b20: 91 21 00 1c stw r9,28(r1) + 2b24: 81 41 00 1c lwz r10,28(r1) + 2b28: 81 21 00 48 lwz r9,72(r1) + 2b2c: 7d 29 50 50 subf r9,r9,r10 + 2b30: 91 21 00 4c stw r9,76(r1) + 2b34: 48 00 0c a0 b 37d4 + 2b38: 81 21 00 50 lwz r9,80(r1) + 2b3c: 89 29 00 00 lbz r9,0(r9) + 2b40: 28 09 00 25 cmplwi r9,37 + 2b44: 41 82 00 34 beq 2b78 + 2b48: 81 41 00 18 lwz r10,24(r1) + 2b4c: 81 21 00 1c lwz r9,28(r1) + 2b50: 7c 0a 48 40 cmplw r10,r9 + 2b54: 40 80 00 14 bge 2b68 + 2b58: 81 21 00 50 lwz r9,80(r1) + 2b5c: 89 49 00 00 lbz r10,0(r9) + 2b60: 81 21 00 18 lwz r9,24(r1) + 2b64: 99 49 00 00 stb r10,0(r9) + 2b68: 81 21 00 18 lwz r9,24(r1) + 2b6c: 39 29 00 01 addi r9,r9,1 + 2b70: 91 21 00 18 stw r9,24(r1) + 2b74: 48 00 0c 54 b 37c8 + 2b78: 39 20 00 00 li r9,0 + 2b7c: 91 21 00 24 stw r9,36(r1) + 2b80: 81 21 00 50 lwz r9,80(r1) + 2b84: 39 29 00 01 addi r9,r9,1 + 2b88: 91 21 00 50 stw r9,80(r1) + 2b8c: 81 21 00 50 lwz r9,80(r1) + 2b90: 89 29 00 00 lbz r9,0(r9) + 2b94: 39 29 ff e0 addi r9,r9,-32 + 2b98: 28 09 00 10 cmplwi r9,16 + 2b9c: 41 81 00 7c bgt 2c18 + 2ba0: 55 2a 10 3a rlwinm r10,r9,2,0,29 + 2ba4: 3d 20 00 00 lis r9,0 + 2ba8: 39 29 0a 68 addi r9,r9,2664 + 2bac: 7d 2a 4a 14 add r9,r10,r9 + 2bb0: 81 49 00 00 lwz r10,0(r9) + 2bb4: 3d 20 00 00 lis r9,0 + 2bb8: 39 29 0a 68 addi r9,r9,2664 + 2bbc: 7d 2a 4a 14 add r9,r10,r9 + 2bc0: 7d 29 03 a6 mtctr r9 + 2bc4: 4e 80 04 20 bctr + 2bc8: 81 21 00 24 lwz r9,36(r1) + 2bcc: 61 29 00 10 ori r9,r9,16 + 2bd0: 91 21 00 24 stw r9,36(r1) + 2bd4: 4b ff ff ac b 2b80 + 2bd8: 81 21 00 24 lwz r9,36(r1) + 2bdc: 61 29 00 04 ori r9,r9,4 + 2be0: 91 21 00 24 stw r9,36(r1) + 2be4: 4b ff ff 9c b 2b80 + 2be8: 81 21 00 24 lwz r9,36(r1) + 2bec: 61 29 00 08 ori r9,r9,8 + 2bf0: 91 21 00 24 stw r9,36(r1) + 2bf4: 4b ff ff 8c b 2b80 + 2bf8: 81 21 00 24 lwz r9,36(r1) + 2bfc: 61 29 00 20 ori r9,r9,32 + 2c00: 91 21 00 24 stw r9,36(r1) + 2c04: 4b ff ff 7c b 2b80 + 2c08: 81 21 00 24 lwz r9,36(r1) + 2c0c: 61 29 00 01 ori r9,r9,1 + 2c10: 91 21 00 24 stw r9,36(r1) + 2c14: 4b ff ff 6c b 2b80 + 2c18: 39 20 ff ff li r9,-1 + 2c1c: 91 21 00 28 stw r9,40(r1) + 2c20: 81 21 00 50 lwz r9,80(r1) + 2c24: 89 29 00 00 lbz r9,0(r9) + 2c28: 7d 2a 4b 78 mr r10,r9 + 2c2c: 3d 20 00 00 lis r9,0 + 2c30: 39 29 09 04 addi r9,r9,2308 + 2c34: 7d 29 50 ae lbzx r9,r9,r10 + 2c38: 55 29 07 7a rlwinm r9,r9,0,29,29 + 2c3c: 2c 09 00 00 cmpwi r9,0 + 2c40: 41 82 00 1c beq 2c5c + 2c44: 39 21 00 50 addi r9,r1,80 + 2c48: 7d 23 4b 78 mr r3,r9 + 2c4c: 4b ff f5 01 bl 214c + 2c50: 7c 69 1b 78 mr r9,r3 + 2c54: 91 21 00 28 stw r9,40(r1) + 2c58: 48 00 00 9c b 2cf4 + 2c5c: 81 21 00 50 lwz r9,80(r1) + 2c60: 89 29 00 00 lbz r9,0(r9) + 2c64: 28 09 00 2a cmplwi r9,42 + 2c68: 40 82 00 8c bne 2cf4 + 2c6c: 81 21 00 50 lwz r9,80(r1) + 2c70: 39 29 00 01 addi r9,r9,1 + 2c74: 91 21 00 50 stw r9,80(r1) + 2c78: 81 21 00 54 lwz r9,84(r1) + 2c7c: 89 29 00 00 lbz r9,0(r9) + 2c80: 28 09 00 07 cmplwi r9,7 + 2c84: 41 81 00 30 bgt 2cb4 + 2c88: 81 21 00 54 lwz r9,84(r1) + 2c8c: 81 49 00 08 lwz r10,8(r9) + 2c90: 81 21 00 54 lwz r9,84(r1) + 2c94: 89 29 00 00 lbz r9,0(r9) + 2c98: 39 09 00 01 addi r8,r9,1 + 2c9c: 55 07 06 3e clrlwi r7,r8,24 + 2ca0: 81 01 00 54 lwz r8,84(r1) + 2ca4: 98 e8 00 00 stb r7,0(r8) + 2ca8: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2cac: 7d 2a 4a 14 add r9,r10,r9 + 2cb0: 48 00 00 18 b 2cc8 + 2cb4: 81 21 00 54 lwz r9,84(r1) + 2cb8: 81 29 00 04 lwz r9,4(r9) + 2cbc: 39 09 00 04 addi r8,r9,4 + 2cc0: 81 41 00 54 lwz r10,84(r1) + 2cc4: 91 0a 00 04 stw r8,4(r10) + 2cc8: 81 29 00 00 lwz r9,0(r9) + 2ccc: 91 21 00 28 stw r9,40(r1) + 2cd0: 81 21 00 28 lwz r9,40(r1) + 2cd4: 2c 09 00 00 cmpwi r9,0 + 2cd8: 40 80 00 1c bge 2cf4 + 2cdc: 81 21 00 28 lwz r9,40(r1) + 2ce0: 7d 29 00 d0 neg r9,r9 + 2ce4: 91 21 00 28 stw r9,40(r1) + 2ce8: 81 21 00 24 lwz r9,36(r1) + 2cec: 61 29 00 10 ori r9,r9,16 + 2cf0: 91 21 00 24 stw r9,36(r1) + 2cf4: 39 20 ff ff li r9,-1 + 2cf8: 91 21 00 2c stw r9,44(r1) + 2cfc: 81 21 00 50 lwz r9,80(r1) + 2d00: 89 29 00 00 lbz r9,0(r9) + 2d04: 28 09 00 2e cmplwi r9,46 + 2d08: 40 82 00 d4 bne 2ddc + 2d0c: 81 21 00 50 lwz r9,80(r1) + 2d10: 39 29 00 01 addi r9,r9,1 + 2d14: 91 21 00 50 stw r9,80(r1) + 2d18: 81 21 00 50 lwz r9,80(r1) + 2d1c: 89 29 00 00 lbz r9,0(r9) + 2d20: 7d 2a 4b 78 mr r10,r9 + 2d24: 3d 20 00 00 lis r9,0 + 2d28: 39 29 09 04 addi r9,r9,2308 + 2d2c: 7d 29 50 ae lbzx r9,r9,r10 + 2d30: 55 29 07 7a rlwinm r9,r9,0,29,29 + 2d34: 2c 09 00 00 cmpwi r9,0 + 2d38: 41 82 00 1c beq 2d54 + 2d3c: 39 21 00 50 addi r9,r1,80 + 2d40: 7d 23 4b 78 mr r3,r9 + 2d44: 4b ff f4 09 bl 214c + 2d48: 7c 69 1b 78 mr r9,r3 + 2d4c: 91 21 00 2c stw r9,44(r1) + 2d50: 48 00 00 78 b 2dc8 + 2d54: 81 21 00 50 lwz r9,80(r1) + 2d58: 89 29 00 00 lbz r9,0(r9) + 2d5c: 28 09 00 2a cmplwi r9,42 + 2d60: 40 82 00 68 bne 2dc8 + 2d64: 81 21 00 50 lwz r9,80(r1) + 2d68: 39 29 00 01 addi r9,r9,1 + 2d6c: 91 21 00 50 stw r9,80(r1) + 2d70: 81 21 00 54 lwz r9,84(r1) + 2d74: 89 29 00 00 lbz r9,0(r9) + 2d78: 28 09 00 07 cmplwi r9,7 + 2d7c: 41 81 00 30 bgt 2dac + 2d80: 81 21 00 54 lwz r9,84(r1) + 2d84: 81 49 00 08 lwz r10,8(r9) + 2d88: 81 21 00 54 lwz r9,84(r1) + 2d8c: 89 29 00 00 lbz r9,0(r9) + 2d90: 39 09 00 01 addi r8,r9,1 + 2d94: 55 07 06 3e clrlwi r7,r8,24 + 2d98: 81 01 00 54 lwz r8,84(r1) + 2d9c: 98 e8 00 00 stb r7,0(r8) + 2da0: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2da4: 7d 2a 4a 14 add r9,r10,r9 + 2da8: 48 00 00 18 b 2dc0 + 2dac: 81 21 00 54 lwz r9,84(r1) + 2db0: 81 29 00 04 lwz r9,4(r9) + 2db4: 39 09 00 04 addi r8,r9,4 + 2db8: 81 41 00 54 lwz r10,84(r1) + 2dbc: 91 0a 00 04 stw r8,4(r10) + 2dc0: 81 29 00 00 lwz r9,0(r9) + 2dc4: 91 21 00 2c stw r9,44(r1) + 2dc8: 81 21 00 2c lwz r9,44(r1) + 2dcc: 2c 09 00 00 cmpwi r9,0 + 2dd0: 40 80 00 0c bge 2ddc + 2dd4: 39 20 00 00 li r9,0 + 2dd8: 91 21 00 2c stw r9,44(r1) + 2ddc: 39 20 ff ff li r9,-1 + 2de0: 91 21 00 30 stw r9,48(r1) + 2de4: 81 21 00 50 lwz r9,80(r1) + 2de8: 89 29 00 00 lbz r9,0(r9) + 2dec: 28 09 00 68 cmplwi r9,104 + 2df0: 41 82 00 54 beq 2e44 + 2df4: 81 21 00 50 lwz r9,80(r1) + 2df8: 89 29 00 00 lbz r9,0(r9) + 2dfc: 28 09 00 6c cmplwi r9,108 + 2e00: 41 82 00 44 beq 2e44 + 2e04: 81 21 00 50 lwz r9,80(r1) + 2e08: 89 29 00 00 lbz r9,0(r9) + 2e0c: 28 09 00 4c cmplwi r9,76 + 2e10: 41 82 00 34 beq 2e44 + 2e14: 81 21 00 50 lwz r9,80(r1) + 2e18: 89 29 00 00 lbz r9,0(r9) + 2e1c: 28 09 00 5a cmplwi r9,90 + 2e20: 41 82 00 24 beq 2e44 + 2e24: 81 21 00 50 lwz r9,80(r1) + 2e28: 89 29 00 00 lbz r9,0(r9) + 2e2c: 28 09 00 7a cmplwi r9,122 + 2e30: 41 82 00 14 beq 2e44 + 2e34: 81 21 00 50 lwz r9,80(r1) + 2e38: 89 29 00 00 lbz r9,0(r9) + 2e3c: 28 09 00 74 cmplwi r9,116 + 2e40: 40 82 00 4c bne 2e8c + 2e44: 81 21 00 50 lwz r9,80(r1) + 2e48: 89 29 00 00 lbz r9,0(r9) + 2e4c: 91 21 00 30 stw r9,48(r1) + 2e50: 81 21 00 50 lwz r9,80(r1) + 2e54: 39 29 00 01 addi r9,r9,1 + 2e58: 91 21 00 50 stw r9,80(r1) + 2e5c: 81 21 00 30 lwz r9,48(r1) + 2e60: 2c 09 00 6c cmpwi r9,108 + 2e64: 40 82 00 28 bne 2e8c + 2e68: 81 21 00 50 lwz r9,80(r1) + 2e6c: 89 29 00 00 lbz r9,0(r9) + 2e70: 28 09 00 6c cmplwi r9,108 + 2e74: 40 82 00 18 bne 2e8c + 2e78: 39 20 00 4c li r9,76 + 2e7c: 91 21 00 30 stw r9,48(r1) + 2e80: 81 21 00 50 lwz r9,80(r1) + 2e84: 39 29 00 01 addi r9,r9,1 + 2e88: 91 21 00 50 stw r9,80(r1) + 2e8c: 39 20 00 0a li r9,10 + 2e90: 91 21 00 14 stw r9,20(r1) + 2e94: 81 21 00 50 lwz r9,80(r1) + 2e98: 89 29 00 00 lbz r9,0(r9) + 2e9c: 39 29 ff db addi r9,r9,-37 + 2ea0: 28 09 00 53 cmplwi r9,83 + 2ea4: 41 81 05 50 bgt 33f4 + 2ea8: 55 2a 10 3a rlwinm r10,r9,2,0,29 + 2eac: 3d 20 00 00 lis r9,0 + 2eb0: 39 29 0a ac addi r9,r9,2732 + 2eb4: 7d 2a 4a 14 add r9,r10,r9 + 2eb8: 81 49 00 00 lwz r10,0(r9) + 2ebc: 3d 20 00 00 lis r9,0 + 2ec0: 39 29 0a ac addi r9,r9,2732 + 2ec4: 7d 2a 4a 14 add r9,r10,r9 + 2ec8: 7d 29 03 a6 mtctr r9 + 2ecc: 4e 80 04 20 bctr + 2ed0: 81 21 00 24 lwz r9,36(r1) + 2ed4: 55 29 06 f6 rlwinm r9,r9,0,27,27 + 2ed8: 2c 09 00 00 cmpwi r9,0 + 2edc: 40 82 00 48 bne 2f24 + 2ee0: 48 00 00 2c b 2f0c + 2ee4: 81 41 00 18 lwz r10,24(r1) + 2ee8: 81 21 00 1c lwz r9,28(r1) + 2eec: 7c 0a 48 40 cmplw r10,r9 + 2ef0: 40 80 00 10 bge 2f00 + 2ef4: 81 21 00 18 lwz r9,24(r1) + 2ef8: 39 40 00 20 li r10,32 + 2efc: 99 49 00 00 stb r10,0(r9) + 2f00: 81 21 00 18 lwz r9,24(r1) + 2f04: 39 29 00 01 addi r9,r9,1 + 2f08: 91 21 00 18 stw r9,24(r1) + 2f0c: 81 21 00 28 lwz r9,40(r1) + 2f10: 39 29 ff ff addi r9,r9,-1 + 2f14: 91 21 00 28 stw r9,40(r1) + 2f18: 81 21 00 28 lwz r9,40(r1) + 2f1c: 2c 09 00 00 cmpwi r9,0 + 2f20: 41 81 ff c4 bgt 2ee4 + 2f24: 81 21 00 54 lwz r9,84(r1) + 2f28: 89 29 00 00 lbz r9,0(r9) + 2f2c: 28 09 00 07 cmplwi r9,7 + 2f30: 41 81 00 30 bgt 2f60 + 2f34: 81 21 00 54 lwz r9,84(r1) + 2f38: 81 49 00 08 lwz r10,8(r9) + 2f3c: 81 21 00 54 lwz r9,84(r1) + 2f40: 89 29 00 00 lbz r9,0(r9) + 2f44: 39 09 00 01 addi r8,r9,1 + 2f48: 55 07 06 3e clrlwi r7,r8,24 + 2f4c: 81 01 00 54 lwz r8,84(r1) + 2f50: 98 e8 00 00 stb r7,0(r8) + 2f54: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2f58: 7d 2a 4a 14 add r9,r10,r9 + 2f5c: 48 00 00 18 b 2f74 + 2f60: 81 21 00 54 lwz r9,84(r1) + 2f64: 81 29 00 04 lwz r9,4(r9) + 2f68: 39 09 00 04 addi r8,r9,4 + 2f6c: 81 41 00 54 lwz r10,84(r1) + 2f70: 91 0a 00 04 stw r8,4(r10) + 2f74: 81 29 00 00 lwz r9,0(r9) + 2f78: 99 21 00 44 stb r9,68(r1) + 2f7c: 81 41 00 18 lwz r10,24(r1) + 2f80: 81 21 00 1c lwz r9,28(r1) + 2f84: 7c 0a 48 40 cmplw r10,r9 + 2f88: 40 80 00 10 bge 2f98 + 2f8c: 81 21 00 18 lwz r9,24(r1) + 2f90: 89 41 00 44 lbz r10,68(r1) + 2f94: 99 49 00 00 stb r10,0(r9) + 2f98: 81 21 00 18 lwz r9,24(r1) + 2f9c: 39 29 00 01 addi r9,r9,1 + 2fa0: 91 21 00 18 stw r9,24(r1) + 2fa4: 48 00 00 2c b 2fd0 + 2fa8: 81 41 00 18 lwz r10,24(r1) + 2fac: 81 21 00 1c lwz r9,28(r1) + 2fb0: 7c 0a 48 40 cmplw r10,r9 + 2fb4: 40 80 00 10 bge 2fc4 + 2fb8: 81 21 00 18 lwz r9,24(r1) + 2fbc: 39 40 00 20 li r10,32 + 2fc0: 99 49 00 00 stb r10,0(r9) + 2fc4: 81 21 00 18 lwz r9,24(r1) + 2fc8: 39 29 00 01 addi r9,r9,1 + 2fcc: 91 21 00 18 stw r9,24(r1) + 2fd0: 81 21 00 28 lwz r9,40(r1) + 2fd4: 39 29 ff ff addi r9,r9,-1 + 2fd8: 91 21 00 28 stw r9,40(r1) + 2fdc: 81 21 00 28 lwz r9,40(r1) + 2fe0: 2c 09 00 00 cmpwi r9,0 + 2fe4: 41 81 ff c4 bgt 2fa8 + 2fe8: 48 00 07 e0 b 37c8 + 2fec: 81 21 00 54 lwz r9,84(r1) + 2ff0: 89 29 00 00 lbz r9,0(r9) + 2ff4: 28 09 00 07 cmplwi r9,7 + 2ff8: 41 81 00 30 bgt 3028 + 2ffc: 81 21 00 54 lwz r9,84(r1) + 3000: 81 49 00 08 lwz r10,8(r9) + 3004: 81 21 00 54 lwz r9,84(r1) + 3008: 89 29 00 00 lbz r9,0(r9) + 300c: 39 09 00 01 addi r8,r9,1 + 3010: 55 07 06 3e clrlwi r7,r8,24 + 3014: 81 01 00 54 lwz r8,84(r1) + 3018: 98 e8 00 00 stb r7,0(r8) + 301c: 55 29 10 3a rlwinm r9,r9,2,0,29 + 3020: 7d 2a 4a 14 add r9,r10,r9 + 3024: 48 00 00 18 b 303c + 3028: 81 21 00 54 lwz r9,84(r1) + 302c: 81 29 00 04 lwz r9,4(r9) + 3030: 39 09 00 04 addi r8,r9,4 + 3034: 81 41 00 54 lwz r10,84(r1) + 3038: 91 0a 00 04 stw r8,4(r10) + 303c: 81 29 00 00 lwz r9,0(r9) + 3040: 91 21 00 20 stw r9,32(r1) + 3044: 81 21 00 20 lwz r9,32(r1) + 3048: 2c 09 00 00 cmpwi r9,0 + 304c: 40 82 00 10 bne 305c + 3050: 3d 20 00 00 lis r9,0 + 3054: 39 29 0a 60 addi r9,r9,2656 + 3058: 91 21 00 20 stw r9,32(r1) + 305c: 81 21 00 2c lwz r9,44(r1) + 3060: 7d 24 4b 78 mr r4,r9 + 3064: 80 61 00 20 lwz r3,32(r1) + 3068: 4b ff ea 25 bl 1a8c + 306c: 7c 69 1b 78 mr r9,r3 + 3070: 91 21 00 34 stw r9,52(r1) + 3074: 81 21 00 24 lwz r9,36(r1) + 3078: 55 29 06 f6 rlwinm r9,r9,0,27,27 + 307c: 2c 09 00 00 cmpwi r9,0 + 3080: 40 82 00 48 bne 30c8 + 3084: 48 00 00 2c b 30b0 + 3088: 81 41 00 18 lwz r10,24(r1) + 308c: 81 21 00 1c lwz r9,28(r1) + 3090: 7c 0a 48 40 cmplw r10,r9 + 3094: 40 80 00 10 bge 30a4 + 3098: 81 21 00 18 lwz r9,24(r1) + 309c: 39 40 00 20 li r10,32 + 30a0: 99 49 00 00 stb r10,0(r9) + 30a4: 81 21 00 18 lwz r9,24(r1) + 30a8: 39 29 00 01 addi r9,r9,1 + 30ac: 91 21 00 18 stw r9,24(r1) + 30b0: 81 21 00 28 lwz r9,40(r1) + 30b4: 39 49 ff ff addi r10,r9,-1 + 30b8: 91 41 00 28 stw r10,40(r1) + 30bc: 81 41 00 34 lwz r10,52(r1) + 30c0: 7c 0a 48 00 cmpw r10,r9 + 30c4: 41 80 ff c4 blt 3088 + 30c8: 39 20 00 00 li r9,0 + 30cc: 91 21 00 10 stw r9,16(r1) + 30d0: 48 00 00 48 b 3118 + 30d4: 81 41 00 18 lwz r10,24(r1) + 30d8: 81 21 00 1c lwz r9,28(r1) + 30dc: 7c 0a 48 40 cmplw r10,r9 + 30e0: 40 80 00 14 bge 30f4 + 30e4: 81 21 00 20 lwz r9,32(r1) + 30e8: 89 49 00 00 lbz r10,0(r9) + 30ec: 81 21 00 18 lwz r9,24(r1) + 30f0: 99 49 00 00 stb r10,0(r9) + 30f4: 81 21 00 18 lwz r9,24(r1) + 30f8: 39 29 00 01 addi r9,r9,1 + 30fc: 91 21 00 18 stw r9,24(r1) + 3100: 81 21 00 20 lwz r9,32(r1) + 3104: 39 29 00 01 addi r9,r9,1 + 3108: 91 21 00 20 stw r9,32(r1) + 310c: 81 21 00 10 lwz r9,16(r1) + 3110: 39 29 00 01 addi r9,r9,1 + 3114: 91 21 00 10 stw r9,16(r1) + 3118: 81 41 00 10 lwz r10,16(r1) + 311c: 81 21 00 34 lwz r9,52(r1) + 3120: 7c 0a 48 00 cmpw r10,r9 + 3124: 41 80 ff b0 blt 30d4 + 3128: 48 00 00 2c b 3154 + 312c: 81 41 00 18 lwz r10,24(r1) + 3130: 81 21 00 1c lwz r9,28(r1) + 3134: 7c 0a 48 40 cmplw r10,r9 + 3138: 40 80 00 10 bge 3148 + 313c: 81 21 00 18 lwz r9,24(r1) + 3140: 39 40 00 20 li r10,32 + 3144: 99 49 00 00 stb r10,0(r9) + 3148: 81 21 00 18 lwz r9,24(r1) + 314c: 39 29 00 01 addi r9,r9,1 + 3150: 91 21 00 18 stw r9,24(r1) + 3154: 81 21 00 28 lwz r9,40(r1) + 3158: 39 49 ff ff addi r10,r9,-1 + 315c: 91 41 00 28 stw r10,40(r1) + 3160: 81 41 00 34 lwz r10,52(r1) + 3164: 7c 0a 48 00 cmpw r10,r9 + 3168: 41 80 ff c4 blt 312c + 316c: 48 00 06 5c b 37c8 + 3170: 81 41 00 28 lwz r10,40(r1) + 3174: 39 20 ff ff li r9,-1 + 3178: 7c 0a 48 00 cmpw r10,r9 + 317c: 40 82 00 18 bne 3194 + 3180: 39 20 00 08 li r9,8 + 3184: 91 21 00 28 stw r9,40(r1) + 3188: 81 21 00 24 lwz r9,36(r1) + 318c: 61 29 00 21 ori r9,r9,33 + 3190: 91 21 00 24 stw r9,36(r1) + 3194: 81 21 00 54 lwz r9,84(r1) + 3198: 89 29 00 00 lbz r9,0(r9) + 319c: 28 09 00 07 cmplwi r9,7 + 31a0: 41 81 00 30 bgt 31d0 + 31a4: 81 21 00 54 lwz r9,84(r1) + 31a8: 81 49 00 08 lwz r10,8(r9) + 31ac: 81 21 00 54 lwz r9,84(r1) + 31b0: 89 29 00 00 lbz r9,0(r9) + 31b4: 39 09 00 01 addi r8,r9,1 + 31b8: 55 07 06 3e clrlwi r7,r8,24 + 31bc: 81 01 00 54 lwz r8,84(r1) + 31c0: 98 e8 00 00 stb r7,0(r8) + 31c4: 55 29 10 3a rlwinm r9,r9,2,0,29 + 31c8: 7d 2a 4a 14 add r9,r10,r9 + 31cc: 48 00 00 18 b 31e4 + 31d0: 81 21 00 54 lwz r9,84(r1) + 31d4: 81 29 00 04 lwz r9,4(r9) + 31d8: 39 09 00 04 addi r8,r9,4 + 31dc: 81 41 00 54 lwz r10,84(r1) + 31e0: 91 0a 00 04 stw r8,4(r10) + 31e4: 81 29 00 00 lwz r9,0(r9) + 31e8: 7d 2a 4b 78 mr r10,r9 + 31ec: 81 21 00 24 lwz r9,36(r1) + 31f0: 81 01 00 2c lwz r8,44(r1) + 31f4: 80 e1 00 28 lwz r7,40(r1) + 31f8: 38 c0 00 10 li r6,16 + 31fc: 7d 45 53 78 mr r5,r10 + 3200: 80 81 00 1c lwz r4,28(r1) + 3204: 80 61 00 18 lwz r3,24(r1) + 3208: 4b ff ef bd bl 21c4 + 320c: 7c 69 1b 78 mr r9,r3 + 3210: 91 21 00 18 stw r9,24(r1) + 3214: 48 00 05 b4 b 37c8 + 3218: 81 21 00 30 lwz r9,48(r1) + 321c: 2c 09 00 6c cmpwi r9,108 + 3220: 40 82 00 74 bne 3294 + 3224: 81 21 00 54 lwz r9,84(r1) + 3228: 89 29 00 00 lbz r9,0(r9) + 322c: 28 09 00 07 cmplwi r9,7 + 3230: 41 81 00 30 bgt 3260 + 3234: 81 21 00 54 lwz r9,84(r1) + 3238: 81 49 00 08 lwz r10,8(r9) + 323c: 81 21 00 54 lwz r9,84(r1) + 3240: 89 29 00 00 lbz r9,0(r9) + 3244: 39 09 00 01 addi r8,r9,1 + 3248: 55 07 06 3e clrlwi r7,r8,24 + 324c: 81 01 00 54 lwz r8,84(r1) + 3250: 98 e8 00 00 stb r7,0(r8) + 3254: 55 29 10 3a rlwinm r9,r9,2,0,29 + 3258: 7d 2a 4a 14 add r9,r10,r9 + 325c: 48 00 00 18 b 3274 + 3260: 81 21 00 54 lwz r9,84(r1) + 3264: 81 29 00 04 lwz r9,4(r9) + 3268: 39 09 00 04 addi r8,r9,4 + 326c: 81 41 00 54 lwz r10,84(r1) + 3270: 91 0a 00 04 stw r8,4(r10) + 3274: 81 29 00 00 lwz r9,0(r9) + 3278: 91 21 00 40 stw r9,64(r1) + 327c: 81 41 00 18 lwz r10,24(r1) + 3280: 81 21 00 48 lwz r9,72(r1) + 3284: 7d 49 50 50 subf r10,r9,r10 + 3288: 81 21 00 40 lwz r9,64(r1) + 328c: 91 49 00 00 stw r10,0(r9) + 3290: 48 00 05 38 b 37c8 + 3294: 81 21 00 30 lwz r9,48(r1) + 3298: 2c 09 00 5a cmpwi r9,90 + 329c: 41 82 00 10 beq 32ac + 32a0: 81 21 00 30 lwz r9,48(r1) + 32a4: 2c 09 00 7a cmpwi r9,122 + 32a8: 40 82 00 7c bne 3324 + 32ac: 81 21 00 54 lwz r9,84(r1) + 32b0: 89 29 00 00 lbz r9,0(r9) + 32b4: 28 09 00 07 cmplwi r9,7 + 32b8: 41 81 00 30 bgt 32e8 + 32bc: 81 21 00 54 lwz r9,84(r1) + 32c0: 81 49 00 08 lwz r10,8(r9) + 32c4: 81 21 00 54 lwz r9,84(r1) + 32c8: 89 29 00 00 lbz r9,0(r9) + 32cc: 39 09 00 01 addi r8,r9,1 + 32d0: 55 07 06 3e clrlwi r7,r8,24 + 32d4: 81 01 00 54 lwz r8,84(r1) + 32d8: 98 e8 00 00 stb r7,0(r8) + 32dc: 55 29 10 3a rlwinm r9,r9,2,0,29 + 32e0: 7d 2a 4a 14 add r9,r10,r9 + 32e4: 48 00 00 18 b 32fc + 32e8: 81 21 00 54 lwz r9,84(r1) + 32ec: 81 29 00 04 lwz r9,4(r9) + 32f0: 39 09 00 04 addi r8,r9,4 + 32f4: 81 41 00 54 lwz r10,84(r1) + 32f8: 91 0a 00 04 stw r8,4(r10) + 32fc: 81 29 00 00 lwz r9,0(r9) + 3300: 91 21 00 3c stw r9,60(r1) + 3304: 81 41 00 18 lwz r10,24(r1) + 3308: 81 21 00 48 lwz r9,72(r1) + 330c: 7d 29 50 50 subf r9,r9,r10 + 3310: 7d 2a 4b 78 mr r10,r9 + 3314: 81 21 00 3c lwz r9,60(r1) + 3318: 91 49 00 00 stw r10,0(r9) + 331c: 60 00 00 00 nop + 3320: 48 00 04 a8 b 37c8 + 3324: 81 21 00 54 lwz r9,84(r1) + 3328: 89 29 00 00 lbz r9,0(r9) + 332c: 28 09 00 07 cmplwi r9,7 + 3330: 41 81 00 30 bgt 3360 + 3334: 81 21 00 54 lwz r9,84(r1) + 3338: 81 49 00 08 lwz r10,8(r9) + 333c: 81 21 00 54 lwz r9,84(r1) + 3340: 89 29 00 00 lbz r9,0(r9) + 3344: 39 09 00 01 addi r8,r9,1 + 3348: 55 07 06 3e clrlwi r7,r8,24 + 334c: 81 01 00 54 lwz r8,84(r1) + 3350: 98 e8 00 00 stb r7,0(r8) + 3354: 55 29 10 3a rlwinm r9,r9,2,0,29 + 3358: 7d 2a 4a 14 add r9,r10,r9 + 335c: 48 00 00 18 b 3374 + 3360: 81 21 00 54 lwz r9,84(r1) + 3364: 81 29 00 04 lwz r9,4(r9) + 3368: 39 09 00 04 addi r8,r9,4 + 336c: 81 41 00 54 lwz r10,84(r1) + 3370: 91 0a 00 04 stw r8,4(r10) + 3374: 81 29 00 00 lwz r9,0(r9) + 3378: 91 21 00 38 stw r9,56(r1) + 337c: 81 41 00 18 lwz r10,24(r1) + 3380: 81 21 00 48 lwz r9,72(r1) + 3384: 7d 49 50 50 subf r10,r9,r10 + 3388: 81 21 00 38 lwz r9,56(r1) + 338c: 91 49 00 00 stw r10,0(r9) + 3390: 48 00 04 38 b 37c8 + 3394: 81 41 00 18 lwz r10,24(r1) + 3398: 81 21 00 1c lwz r9,28(r1) + 339c: 7c 0a 48 40 cmplw r10,r9 + 33a0: 40 80 00 10 bge 33b0 + 33a4: 81 21 00 18 lwz r9,24(r1) + 33a8: 39 40 00 25 li r10,37 + 33ac: 99 49 00 00 stb r10,0(r9) + 33b0: 81 21 00 18 lwz r9,24(r1) + 33b4: 39 29 00 01 addi r9,r9,1 + 33b8: 91 21 00 18 stw r9,24(r1) + 33bc: 48 00 04 0c b 37c8 + 33c0: 39 20 00 08 li r9,8 + 33c4: 91 21 00 14 stw r9,20(r1) + 33c8: 48 00 00 a8 b 3470 + 33cc: 81 21 00 24 lwz r9,36(r1) + 33d0: 61 29 00 40 ori r9,r9,64 + 33d4: 91 21 00 24 stw r9,36(r1) + 33d8: 39 20 00 10 li r9,16 + 33dc: 91 21 00 14 stw r9,20(r1) + 33e0: 48 00 00 90 b 3470 + 33e4: 81 21 00 24 lwz r9,36(r1) + 33e8: 61 29 00 02 ori r9,r9,2 + 33ec: 91 21 00 24 stw r9,36(r1) + 33f0: 48 00 00 7c b 346c + 33f4: 81 41 00 18 lwz r10,24(r1) + 33f8: 81 21 00 1c lwz r9,28(r1) + 33fc: 7c 0a 48 40 cmplw r10,r9 + 3400: 40 80 00 10 bge 3410 + 3404: 81 21 00 18 lwz r9,24(r1) + 3408: 39 40 00 25 li r10,37 + 340c: 99 49 00 00 stb r10,0(r9) + 3410: 81 21 00 18 lwz r9,24(r1) + 3414: 39 29 00 01 addi r9,r9,1 + 3418: 91 21 00 18 stw r9,24(r1) + 341c: 81 21 00 50 lwz r9,80(r1) + 3420: 89 29 00 00 lbz r9,0(r9) + 3424: 2c 09 00 00 cmpwi r9,0 + 3428: 41 82 00 34 beq 345c + 342c: 81 41 00 18 lwz r10,24(r1) + 3430: 81 21 00 1c lwz r9,28(r1) + 3434: 7c 0a 48 40 cmplw r10,r9 + 3438: 40 80 00 14 bge 344c + 343c: 81 21 00 50 lwz r9,80(r1) + 3440: 89 49 00 00 lbz r10,0(r9) + 3444: 81 21 00 18 lwz r9,24(r1) + 3448: 99 49 00 00 stb r10,0(r9) + 344c: 81 21 00 18 lwz r9,24(r1) + 3450: 39 29 00 01 addi r9,r9,1 + 3454: 91 21 00 18 stw r9,24(r1) + 3458: 48 00 03 70 b 37c8 + 345c: 81 21 00 50 lwz r9,80(r1) + 3460: 39 29 ff ff addi r9,r9,-1 + 3464: 91 21 00 50 stw r9,80(r1) + 3468: 48 00 03 60 b 37c8 + 346c: 60 00 00 00 nop + 3470: 81 21 00 30 lwz r9,48(r1) + 3474: 2c 09 00 4c cmpwi r9,76 + 3478: 40 82 00 90 bne 3508 + 347c: 81 21 00 54 lwz r9,84(r1) + 3480: 89 29 00 00 lbz r9,0(r9) + 3484: 81 41 00 54 lwz r10,84(r1) + 3488: 89 4a 00 00 lbz r10,0(r10) + 348c: 55 4a 07 fe clrlwi r10,r10,31 + 3490: 55 4a 06 3e clrlwi r10,r10,24 + 3494: 7d 4a 4a 14 add r10,r10,r9 + 3498: 55 48 06 3e clrlwi r8,r10,24 + 349c: 81 41 00 54 lwz r10,84(r1) + 34a0: 99 0a 00 00 stb r8,0(r10) + 34a4: 28 09 00 06 cmplwi r9,6 + 34a8: 41 81 00 30 bgt 34d8 + 34ac: 81 21 00 54 lwz r9,84(r1) + 34b0: 81 49 00 08 lwz r10,8(r9) + 34b4: 81 21 00 54 lwz r9,84(r1) + 34b8: 89 29 00 00 lbz r9,0(r9) + 34bc: 39 09 00 02 addi r8,r9,2 + 34c0: 55 07 06 3e clrlwi r7,r8,24 + 34c4: 81 01 00 54 lwz r8,84(r1) + 34c8: 98 e8 00 00 stb r7,0(r8) + 34cc: 55 29 10 3a rlwinm r9,r9,2,0,29 + 34d0: 7d 2a 4a 14 add r9,r10,r9 + 34d4: 48 00 00 20 b 34f4 + 34d8: 81 21 00 54 lwz r9,84(r1) + 34dc: 81 29 00 04 lwz r9,4(r9) + 34e0: 39 29 00 07 addi r9,r9,7 + 34e4: 55 29 00 38 rlwinm r9,r9,0,0,28 + 34e8: 39 09 00 08 addi r8,r9,8 + 34ec: 81 41 00 54 lwz r10,84(r1) + 34f0: 91 0a 00 04 stw r8,4(r10) + 34f4: 81 49 00 00 lwz r10,0(r9) + 34f8: 81 69 00 04 lwz r11,4(r9) + 34fc: 91 41 00 08 stw r10,8(r1) + 3500: 91 61 00 0c stw r11,12(r1) + 3504: 48 00 02 98 b 379c + 3508: 81 21 00 30 lwz r9,48(r1) + 350c: 2c 09 00 6c cmpwi r9,108 + 3510: 40 82 00 88 bne 3598 + 3514: 81 21 00 54 lwz r9,84(r1) + 3518: 89 29 00 00 lbz r9,0(r9) + 351c: 28 09 00 07 cmplwi r9,7 + 3520: 41 81 00 30 bgt 3550 + 3524: 81 21 00 54 lwz r9,84(r1) + 3528: 81 49 00 08 lwz r10,8(r9) + 352c: 81 21 00 54 lwz r9,84(r1) + 3530: 89 29 00 00 lbz r9,0(r9) + 3534: 39 09 00 01 addi r8,r9,1 + 3538: 55 07 06 3e clrlwi r7,r8,24 + 353c: 81 01 00 54 lwz r8,84(r1) + 3540: 98 e8 00 00 stb r7,0(r8) + 3544: 55 29 10 3a rlwinm r9,r9,2,0,29 + 3548: 7d 2a 4a 14 add r9,r10,r9 + 354c: 48 00 00 18 b 3564 + 3550: 81 21 00 54 lwz r9,84(r1) + 3554: 81 29 00 04 lwz r9,4(r9) + 3558: 39 09 00 04 addi r8,r9,4 + 355c: 81 41 00 54 lwz r10,84(r1) + 3560: 91 0a 00 04 stw r8,4(r10) + 3564: 81 29 00 00 lwz r9,0(r9) + 3568: 91 21 00 0c stw r9,12(r1) + 356c: 39 20 00 00 li r9,0 + 3570: 91 21 00 08 stw r9,8(r1) + 3574: 81 21 00 24 lwz r9,36(r1) + 3578: 55 29 07 bc rlwinm r9,r9,0,30,30 + 357c: 2c 09 00 00 cmpwi r9,0 + 3580: 41 82 02 1c beq 379c + 3584: 81 21 00 0c lwz r9,12(r1) + 3588: 91 21 00 0c stw r9,12(r1) + 358c: 7d 29 fe 70 srawi r9,r9,31 + 3590: 91 21 00 08 stw r9,8(r1) + 3594: 48 00 02 08 b 379c + 3598: 81 21 00 30 lwz r9,48(r1) + 359c: 2c 09 00 5a cmpwi r9,90 + 35a0: 41 82 00 10 beq 35b0 + 35a4: 81 21 00 30 lwz r9,48(r1) + 35a8: 2c 09 00 7a cmpwi r9,122 + 35ac: 40 82 00 68 bne 3614 + 35b0: 81 21 00 54 lwz r9,84(r1) + 35b4: 89 29 00 00 lbz r9,0(r9) + 35b8: 28 09 00 07 cmplwi r9,7 + 35bc: 41 81 00 30 bgt 35ec + 35c0: 81 21 00 54 lwz r9,84(r1) + 35c4: 81 49 00 08 lwz r10,8(r9) + 35c8: 81 21 00 54 lwz r9,84(r1) + 35cc: 89 29 00 00 lbz r9,0(r9) + 35d0: 39 09 00 01 addi r8,r9,1 + 35d4: 55 07 06 3e clrlwi r7,r8,24 + 35d8: 81 01 00 54 lwz r8,84(r1) + 35dc: 98 e8 00 00 stb r7,0(r8) + 35e0: 55 29 10 3a rlwinm r9,r9,2,0,29 + 35e4: 7d 2a 4a 14 add r9,r10,r9 + 35e8: 48 00 00 18 b 3600 + 35ec: 81 21 00 54 lwz r9,84(r1) + 35f0: 81 29 00 04 lwz r9,4(r9) + 35f4: 39 09 00 04 addi r8,r9,4 + 35f8: 81 41 00 54 lwz r10,84(r1) + 35fc: 91 0a 00 04 stw r8,4(r10) + 3600: 81 29 00 00 lwz r9,0(r9) + 3604: 91 21 00 0c stw r9,12(r1) + 3608: 39 20 00 00 li r9,0 + 360c: 91 21 00 08 stw r9,8(r1) + 3610: 48 00 01 8c b 379c + 3614: 81 21 00 30 lwz r9,48(r1) + 3618: 2c 09 00 74 cmpwi r9,116 + 361c: 40 82 00 68 bne 3684 + 3620: 81 21 00 54 lwz r9,84(r1) + 3624: 89 29 00 00 lbz r9,0(r9) + 3628: 28 09 00 07 cmplwi r9,7 + 362c: 41 81 00 30 bgt 365c + 3630: 81 21 00 54 lwz r9,84(r1) + 3634: 81 49 00 08 lwz r10,8(r9) + 3638: 81 21 00 54 lwz r9,84(r1) + 363c: 89 29 00 00 lbz r9,0(r9) + 3640: 39 09 00 01 addi r8,r9,1 + 3644: 55 07 06 3e clrlwi r7,r8,24 + 3648: 81 01 00 54 lwz r8,84(r1) + 364c: 98 e8 00 00 stb r7,0(r8) + 3650: 55 29 10 3a rlwinm r9,r9,2,0,29 + 3654: 7d 2a 4a 14 add r9,r10,r9 + 3658: 48 00 00 18 b 3670 + 365c: 81 21 00 54 lwz r9,84(r1) + 3660: 81 29 00 04 lwz r9,4(r9) + 3664: 39 09 00 04 addi r8,r9,4 + 3668: 81 41 00 54 lwz r10,84(r1) + 366c: 91 0a 00 04 stw r8,4(r10) + 3670: 81 29 00 00 lwz r9,0(r9) + 3674: 91 21 00 0c stw r9,12(r1) + 3678: 7d 29 fe 70 srawi r9,r9,31 + 367c: 91 21 00 08 stw r9,8(r1) + 3680: 48 00 01 1c b 379c + 3684: 81 21 00 30 lwz r9,48(r1) + 3688: 2c 09 00 68 cmpwi r9,104 + 368c: 40 82 00 90 bne 371c + 3690: 81 21 00 54 lwz r9,84(r1) + 3694: 89 29 00 00 lbz r9,0(r9) + 3698: 28 09 00 07 cmplwi r9,7 + 369c: 41 81 00 30 bgt 36cc + 36a0: 81 21 00 54 lwz r9,84(r1) + 36a4: 81 49 00 08 lwz r10,8(r9) + 36a8: 81 21 00 54 lwz r9,84(r1) + 36ac: 89 29 00 00 lbz r9,0(r9) + 36b0: 39 09 00 01 addi r8,r9,1 + 36b4: 55 07 06 3e clrlwi r7,r8,24 + 36b8: 81 01 00 54 lwz r8,84(r1) + 36bc: 98 e8 00 00 stb r7,0(r8) + 36c0: 55 29 10 3a rlwinm r9,r9,2,0,29 + 36c4: 7d 2a 4a 14 add r9,r10,r9 + 36c8: 48 00 00 18 b 36e0 + 36cc: 81 21 00 54 lwz r9,84(r1) + 36d0: 81 29 00 04 lwz r9,4(r9) + 36d4: 39 09 00 04 addi r8,r9,4 + 36d8: 81 41 00 54 lwz r10,84(r1) + 36dc: 91 0a 00 04 stw r8,4(r10) + 36e0: 81 29 00 00 lwz r9,0(r9) + 36e4: 55 29 04 3e clrlwi r9,r9,16 + 36e8: 91 21 00 0c stw r9,12(r1) + 36ec: 39 20 00 00 li r9,0 + 36f0: 91 21 00 08 stw r9,8(r1) + 36f4: 81 21 00 24 lwz r9,36(r1) + 36f8: 55 29 07 bc rlwinm r9,r9,0,30,30 + 36fc: 2c 09 00 00 cmpwi r9,0 + 3700: 41 82 00 9c beq 379c + 3704: a1 21 00 0e lhz r9,14(r1) + 3708: 7d 29 07 34 extsh r9,r9 + 370c: 91 21 00 0c stw r9,12(r1) + 3710: 7d 29 fe 70 srawi r9,r9,31 + 3714: 91 21 00 08 stw r9,8(r1) + 3718: 48 00 00 84 b 379c + 371c: 81 21 00 54 lwz r9,84(r1) + 3720: 89 29 00 00 lbz r9,0(r9) + 3724: 28 09 00 07 cmplwi r9,7 + 3728: 41 81 00 30 bgt 3758 + 372c: 81 21 00 54 lwz r9,84(r1) + 3730: 81 49 00 08 lwz r10,8(r9) + 3734: 81 21 00 54 lwz r9,84(r1) + 3738: 89 29 00 00 lbz r9,0(r9) + 373c: 39 09 00 01 addi r8,r9,1 + 3740: 55 07 06 3e clrlwi r7,r8,24 + 3744: 81 01 00 54 lwz r8,84(r1) + 3748: 98 e8 00 00 stb r7,0(r8) + 374c: 55 29 10 3a rlwinm r9,r9,2,0,29 + 3750: 7d 2a 4a 14 add r9,r10,r9 + 3754: 48 00 00 18 b 376c + 3758: 81 21 00 54 lwz r9,84(r1) + 375c: 81 29 00 04 lwz r9,4(r9) + 3760: 39 09 00 04 addi r8,r9,4 + 3764: 81 41 00 54 lwz r10,84(r1) + 3768: 91 0a 00 04 stw r8,4(r10) + 376c: 81 29 00 00 lwz r9,0(r9) + 3770: 91 21 00 0c stw r9,12(r1) + 3774: 39 20 00 00 li r9,0 + 3778: 91 21 00 08 stw r9,8(r1) + 377c: 81 21 00 24 lwz r9,36(r1) + 3780: 55 29 07 bc rlwinm r9,r9,0,30,30 + 3784: 2c 09 00 00 cmpwi r9,0 + 3788: 41 82 00 14 beq 379c + 378c: 81 21 00 0c lwz r9,12(r1) + 3790: 91 21 00 0c stw r9,12(r1) + 3794: 7d 29 fe 70 srawi r9,r9,31 + 3798: 91 21 00 08 stw r9,8(r1) + 379c: 81 41 00 0c lwz r10,12(r1) + 37a0: 81 21 00 24 lwz r9,36(r1) + 37a4: 81 01 00 2c lwz r8,44(r1) + 37a8: 80 e1 00 28 lwz r7,40(r1) + 37ac: 80 c1 00 14 lwz r6,20(r1) + 37b0: 7d 45 53 78 mr r5,r10 + 37b4: 80 81 00 1c lwz r4,28(r1) + 37b8: 80 61 00 18 lwz r3,24(r1) + 37bc: 4b ff ea 09 bl 21c4 + 37c0: 7c 69 1b 78 mr r9,r3 + 37c4: 91 21 00 18 stw r9,24(r1) + 37c8: 81 21 00 50 lwz r9,80(r1) + 37cc: 39 29 00 01 addi r9,r9,1 + 37d0: 91 21 00 50 stw r9,80(r1) + 37d4: 81 21 00 50 lwz r9,80(r1) + 37d8: 89 29 00 00 lbz r9,0(r9) + 37dc: 2c 09 00 00 cmpwi r9,0 + 37e0: 40 82 f3 58 bne 2b38 + 37e4: 81 21 00 4c lwz r9,76(r1) + 37e8: 2c 09 00 00 cmpwi r9,0 + 37ec: 41 82 00 34 beq 3820 + 37f0: 81 41 00 18 lwz r10,24(r1) + 37f4: 81 21 00 1c lwz r9,28(r1) + 37f8: 7c 0a 48 40 cmplw r10,r9 + 37fc: 40 80 00 14 bge 3810 + 3800: 81 21 00 18 lwz r9,24(r1) + 3804: 39 40 00 00 li r10,0 + 3808: 99 49 00 00 stb r10,0(r9) + 380c: 48 00 00 14 b 3820 + 3810: 81 21 00 1c lwz r9,28(r1) + 3814: 39 29 ff ff addi r9,r9,-1 + 3818: 39 40 00 00 li r10,0 + 381c: 99 49 00 00 stb r10,0(r9) + 3820: 81 41 00 18 lwz r10,24(r1) + 3824: 81 21 00 48 lwz r9,72(r1) + 3828: 7d 29 50 50 subf r9,r9,r10 + 382c: 7d 23 4b 78 mr r3,r9 + 3830: 80 01 00 64 lwz r0,100(r1) + 3834: 7c 08 03 a6 mtlr r0 + 3838: 38 21 00 60 addi r1,r1,96 + 383c: 4e 80 00 20 blr + +00003840 : + 3840: 94 21 ff f0 stwu r1,-16(r1) + 3844: 90 61 00 08 stw r3,8(r1) + 3848: 3d 20 00 02 lis r9,2 + 384c: 81 41 00 08 lwz r10,8(r1) + 3850: 91 49 e0 18 stw r10,-8168(r9) + 3854: 60 00 00 00 nop + 3858: 38 21 00 10 addi r1,r1,16 + 385c: 4e 80 00 20 blr + +00003860 : + 3860: 94 21 ff f0 stwu r1,-16(r1) + 3864: 90 61 00 08 stw r3,8(r1) + 3868: 90 81 00 0c stw r4,12(r1) + 386c: 3d 20 00 02 lis r9,2 + 3870: 81 41 00 08 lwz r10,8(r1) + 3874: 91 49 e0 1c stw r10,-8164(r9) + 3878: 3d 20 00 02 lis r9,2 + 387c: 81 41 00 0c lwz r10,12(r1) + 3880: 91 49 e0 20 stw r10,-8160(r9) + 3884: 60 00 00 00 nop + 3888: 38 21 00 10 addi r1,r1,16 + 388c: 4e 80 00 20 blr + +00003890 : + 3890: 94 21 ff f0 stwu r1,-16(r1) + 3894: 7c 08 02 a6 mflr r0 + 3898: 90 01 00 14 stw r0,20(r1) + 389c: 90 61 00 08 stw r3,8(r1) + 38a0: 3d 20 00 02 lis r9,2 + 38a4: 81 29 e0 18 lwz r9,-8168(r9) + 38a8: 2c 09 00 00 cmpwi r9,0 + 38ac: 41 82 00 20 beq 38cc + 38b0: 3d 20 00 02 lis r9,2 + 38b4: 81 29 e0 18 lwz r9,-8168(r9) + 38b8: 81 41 00 08 lwz r10,8(r1) + 38bc: 55 4a 06 3e clrlwi r10,r10,24 + 38c0: 7d 43 53 78 mr r3,r10 + 38c4: 7d 29 03 a6 mtctr r9 + 38c8: 4e 80 04 21 bctrl + 38cc: 81 21 00 08 lwz r9,8(r1) + 38d0: 7d 23 4b 78 mr r3,r9 + 38d4: 80 01 00 14 lwz r0,20(r1) + 38d8: 7c 08 03 a6 mtlr r0 + 38dc: 38 21 00 10 addi r1,r1,16 + 38e0: 4e 80 00 20 blr + +000038e4 : + 38e4: 94 21 ff f0 stwu r1,-16(r1) + 38e8: 7c 08 02 a6 mflr r0 + 38ec: 90 01 00 14 stw r0,20(r1) + 38f0: 3d 20 00 02 lis r9,2 + 38f4: 81 29 e0 20 lwz r9,-8160(r9) + 38f8: 2c 09 00 00 cmpwi r9,0 + 38fc: 41 82 ff f4 beq 38f0 + 3900: 3d 20 00 02 lis r9,2 + 3904: 81 29 e0 20 lwz r9,-8160(r9) + 3908: 7d 29 03 a6 mtctr r9 + 390c: 4e 80 04 21 bctrl + 3910: 7c 69 1b 78 mr r9,r3 + 3914: 2c 09 00 00 cmpwi r9,0 + 3918: 41 82 ff d8 beq 38f0 + 391c: 3d 20 00 02 lis r9,2 + 3920: 81 29 e0 1c lwz r9,-8164(r9) + 3924: 7d 29 03 a6 mtctr r9 + 3928: 4e 80 04 21 bctrl + 392c: 7c 69 1b 78 mr r9,r3 + 3930: 7d 23 4b 78 mr r3,r9 + 3934: 80 01 00 14 lwz r0,20(r1) + 3938: 7c 08 03 a6 mtlr r0 + 393c: 38 21 00 10 addi r1,r1,16 + 3940: 4e 80 00 20 blr + +00003944 : + 3944: 94 21 ff f0 stwu r1,-16(r1) + 3948: 7c 08 02 a6 mflr r0 + 394c: 90 01 00 14 stw r0,20(r1) + 3950: 3d 20 00 02 lis r9,2 + 3954: 81 29 e0 20 lwz r9,-8160(r9) + 3958: 2c 09 00 00 cmpwi r9,0 + 395c: 41 82 00 28 beq 3984 + 3960: 3d 20 00 02 lis r9,2 + 3964: 81 29 e0 20 lwz r9,-8160(r9) + 3968: 7d 29 03 a6 mtctr r9 + 396c: 4e 80 04 21 bctrl + 3970: 7c 69 1b 78 mr r9,r3 + 3974: 2c 09 00 00 cmpwi r9,0 + 3978: 41 82 00 0c beq 3984 + 397c: 39 20 00 01 li r9,1 + 3980: 48 00 00 08 b 3988 + 3984: 39 20 00 00 li r9,0 + 3988: 7d 23 4b 78 mr r3,r9 + 398c: 80 01 00 14 lwz r0,20(r1) + 3990: 7c 08 03 a6 mtlr r0 + 3994: 38 21 00 10 addi r1,r1,16 + 3998: 4e 80 00 20 blr + +0000399c : + 399c: 94 21 ff f0 stwu r1,-16(r1) + 39a0: 7c 08 02 a6 mflr r0 + 39a4: 90 01 00 14 stw r0,20(r1) + 39a8: 90 61 00 08 stw r3,8(r1) + 39ac: 80 61 00 08 lwz r3,8(r1) + 39b0: 48 00 00 25 bl 39d4 + 39b4: 38 60 00 0a li r3,10 + 39b8: 4b ff fe d9 bl 3890 + 39bc: 39 20 00 01 li r9,1 + 39c0: 7d 23 4b 78 mr r3,r9 + 39c4: 80 01 00 14 lwz r0,20(r1) + 39c8: 7c 08 03 a6 mtlr r0 + 39cc: 38 21 00 10 addi r1,r1,16 + 39d0: 4e 80 00 20 blr + +000039d4 : + 39d4: 94 21 ff f0 stwu r1,-16(r1) + 39d8: 7c 08 02 a6 mflr r0 + 39dc: 90 01 00 14 stw r0,20(r1) + 39e0: 90 61 00 08 stw r3,8(r1) + 39e4: 48 00 00 20 b 3a04 + 39e8: 81 21 00 08 lwz r9,8(r1) + 39ec: 89 29 00 00 lbz r9,0(r9) + 39f0: 7d 23 4b 78 mr r3,r9 + 39f4: 4b ff fe 9d bl 3890 + 39f8: 81 21 00 08 lwz r9,8(r1) + 39fc: 39 29 00 01 addi r9,r9,1 + 3a00: 91 21 00 08 stw r9,8(r1) + 3a04: 81 21 00 08 lwz r9,8(r1) + 3a08: 89 29 00 00 lbz r9,0(r9) + 3a0c: 2c 09 00 00 cmpwi r9,0 + 3a10: 40 82 ff d8 bne 39e8 + 3a14: 60 00 00 00 nop + 3a18: 60 00 00 00 nop + 3a1c: 80 01 00 14 lwz r0,20(r1) + 3a20: 7c 08 03 a6 mtlr r0 + 3a24: 38 21 00 10 addi r1,r1,16 + 3a28: 4e 80 00 20 blr + +00003a2c : + 3a2c: 94 21 fe e0 stwu r1,-288(r1) + 3a30: 7c 08 02 a6 mflr r0 + 3a34: 90 01 01 24 stw r0,292(r1) + 3a38: 90 61 01 18 stw r3,280(r1) + 3a3c: 90 81 01 1c stw r4,284(r1) + 3a40: 39 21 00 0c addi r9,r1,12 + 3a44: 80 c1 01 1c lwz r6,284(r1) + 3a48: 80 a1 01 18 lwz r5,280(r1) + 3a4c: 38 80 01 00 li r4,256 + 3a50: 7d 23 4b 78 mr r3,r9 + 3a54: 4b ff eb f9 bl 264c + 3a58: 7c 69 1b 78 mr r9,r3 + 3a5c: 91 21 00 08 stw r9,8(r1) + 3a60: 39 41 00 0c addi r10,r1,12 + 3a64: 81 21 00 08 lwz r9,8(r1) + 3a68: 7d 2a 4a 14 add r9,r10,r9 + 3a6c: 39 40 00 00 li r10,0 + 3a70: 99 49 00 00 stb r10,0(r9) + 3a74: 39 21 00 0c addi r9,r1,12 + 3a78: 7d 23 4b 78 mr r3,r9 + 3a7c: 4b ff ff 59 bl 39d4 + 3a80: 81 21 00 08 lwz r9,8(r1) + 3a84: 7d 23 4b 78 mr r3,r9 + 3a88: 80 01 01 24 lwz r0,292(r1) + 3a8c: 7c 08 03 a6 mtlr r0 + 3a90: 38 21 01 20 addi r1,r1,288 + 3a94: 4e 80 00 20 blr + +00003a98 : + 3a98: 94 21 ff 80 stwu r1,-128(r1) + 3a9c: 7c 08 02 a6 mflr r0 + 3aa0: 90 01 00 84 stw r0,132(r1) + 3aa4: 90 61 00 18 stw r3,24(r1) + 3aa8: 90 81 00 24 stw r4,36(r1) + 3aac: 90 a1 00 28 stw r5,40(r1) + 3ab0: 90 c1 00 2c stw r6,44(r1) + 3ab4: 90 e1 00 30 stw r7,48(r1) + 3ab8: 91 01 00 34 stw r8,52(r1) + 3abc: 91 21 00 38 stw r9,56(r1) + 3ac0: 91 41 00 3c stw r10,60(r1) + 3ac4: 40 86 00 24 bne cr1,3ae8 + 3ac8: d8 21 00 40 stfd f1,64(r1) + 3acc: d8 41 00 48 stfd f2,72(r1) + 3ad0: d8 61 00 50 stfd f3,80(r1) + 3ad4: d8 81 00 58 stfd f4,88(r1) + 3ad8: d8 a1 00 60 stfd f5,96(r1) + 3adc: d8 c1 00 68 stfd f6,104(r1) + 3ae0: d8 e1 00 70 stfd f7,112(r1) + 3ae4: d9 01 00 78 stfd f8,120(r1) + 3ae8: 39 20 00 01 li r9,1 + 3aec: 99 21 00 0c stb r9,12(r1) + 3af0: 39 20 00 00 li r9,0 + 3af4: 99 21 00 0d stb r9,13(r1) + 3af8: 39 21 00 88 addi r9,r1,136 + 3afc: 91 21 00 10 stw r9,16(r1) + 3b00: 39 21 00 20 addi r9,r1,32 + 3b04: 91 21 00 14 stw r9,20(r1) + 3b08: 39 21 00 0c addi r9,r1,12 + 3b0c: 7d 24 4b 78 mr r4,r9 + 3b10: 80 61 00 18 lwz r3,24(r1) + 3b14: 4b ff ff 19 bl 3a2c + 3b18: 7c 69 1b 78 mr r9,r3 + 3b1c: 91 21 00 08 stw r9,8(r1) + 3b20: 81 21 00 08 lwz r9,8(r1) + 3b24: 7d 23 4b 78 mr r3,r9 + 3b28: 80 01 00 84 lwz r0,132(r1) + 3b2c: 7c 08 03 a6 mtlr r0 + 3b30: 38 21 00 80 addi r1,r1,128 + 3b34: 4e 80 00 20 blr diff --git a/dev/src/test3_smt/rom.init b/dev/src/test3_smt/rom.init new file mode 100644 index 0000000..6e506a6 --- /dev/null +++ b/dev/src/test3_smt/rom.init @@ -0,0 +1,3790 @@ +48000400 +44000002 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48001010 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48001154 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +7CBE6AA6 +2C250000 +408200F4 +3C608C00 +3800001F +38400015 +38800000 +3900023F +7C7CFBA6 +7C4011A6 +7C8009A6 +7D0001A6 +4C00012C +39400000 +654A0000 +614A003F +3800001E +38800000 +64840001 +60840000 +39000000 +65080001 +61080000 +6108023F +7D4011A6 +7C8009A6 +7D0001A6 +4C00012C +3C608800 +3800000F +3840003F +38800000 +3900023F +7C7CFBA6 +7C4011A6 +7C8009A6 +7D0001A6 +4C00012C +3800000D +38800000 +64840001 +60840000 +39000000 +65080001 +61080000 +6108023F +7D4011A6 +7C8009A6 +7D0001A6 +4C00012C +48000004 +38200003 +7C366BA6 +7C2108F8 +7C376BA6 +4C00012C +39400000 +654A8002 +614AB000 +7D400124 +4C00012C +802008FA +48000020 +39400000 +654A8002 +614AB000 +7D400124 +4C00012C +802008FE +48000004 +3C600000 +60630C34 +7C6903A6 +7C7E6AA6 +4E800421 +480002D0 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +48000000 +00000000 +48000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +6D61696E +28256929 +0A000001 +FFF80000 +FFF80000 +08080808 +08080808 +08282828 +28280808 +08080808 +08080808 +08080808 +08080808 +A0101010 +10101010 +10101010 +10101010 +04040404 +04040404 +04041010 +10101010 +10414141 +41414101 +01010101 +01010101 +01010101 +01010101 +01010110 +10101010 +10424242 +42424202 +02020202 +02020202 +02020202 +02020202 +02020210 +10101008 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +A0101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010110 +01010101 +01010102 +02020202 +02020202 +02020202 +02020202 +02020202 +02020210 +02020202 +02020202 +41626F72 +7465642E +00000000 +30313233 +34353637 +38394142 +43444546 +4748494A +4B4C4D4E +4F505152 +53545556 +5758595A +00000000 +30313233 +34353637 +38396162 +63646566 +6768696A +6B6C6D6E +6F707172 +73747576 +7778797A +00000000 +3C4E554C +4C3E0000 +00002180 +000021B0 +000021B0 +00002190 +000021B0 +000021B0 +000021B0 +000021B0 +000021B0 +000021B0 +000021B0 +00002170 +000021B0 +00002160 +000021B0 +000021B0 +000021A0 +000028E8 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002920 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002424 +00002938 +00002948 +00002948 +00002948 +00002948 +00002938 +00002948 +00002948 +00002948 +00002948 +0000276C +00002914 +000026C4 +00002948 +00002948 +00002540 +00002948 +000029C0 +00002948 +00002948 +0000292C +00000000 +9421FFF0 +7C691B78 +99210008 +3D200001 +81292000 +39090001 +3D400001 +910A2000 +89410008 +99490000 +60000000 +38210010 +4E800020 +9421FFC0 +7C0802A6 +90010044 +90610038 +3D200001 +39292000 +9121000C +3D200000 +39291060 +91210010 +81210038 +2C090000 +4182000C +3920FFFF +48000190 +3D200000 +39291034 +91210008 +48000028 +8121000C +39490004 +9141000C +81410008 +814A0000 +91490000 +81210008 +39290004 +91210008 +81410008 +3D200000 +3929103C +7C0A4840 +4180FFCC +3D200002 +3929E008 +91210008 +48000024 +81210008 +39490004 +91410008 +39400000 +91490000 +81210008 +39290004 +91210008 +81410008 +3D200002 +3929E028 +7C0A4840 +4180FFD0 +3D200000 +38690C00 +4CC63182 +48002B39 +38600077 +48002B81 +38600074 +48002B79 +38600066 +48002B71 +3860000A +48002B69 +80810038 +3D200000 +386908F0 +4CC63182 +48002D5D +3D200300 +91210034 +81210034 +7D334BA6 +60000000 +39200000 +91210030 +81210030 +7D3603A6 +60000000 +39200000 +9121002C +8121002C +7D3D43A6 +60000000 +39200000 +91210028 +81210028 +7D3C43A6 +60000000 +3D20FE00 +91210024 +81210024 +7D3053A6 +60000000 +7D36FAA6 +91210020 +81210020 +552905EA +9121001C +8121001C +7D36FBA6 +60000000 +39200000 +91210018 +81210018 +7D3053A6 +60000000 +39200000 +91210014 +81210014 +7D3453A6 +60000000 +81210010 +7D234B78 +4800038C +48000000 +7D234B78 +80010044 +7C0803A6 +38210040 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +9121000C +81410018 +3D200867 +61295309 +7C0A4800 +4182000C +3C608000 +4BFFF9B5 +39200000 +91210008 +4800008C +81210008 +552A103A +3D200000 +39291360 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200000 +39291400 +7D2A4A14 +81290000 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF92D +81210008 +39290001 +91210008 +81210008 +2809001F +4081FF70 +39200021 +91210008 +81210008 +552A103A +3D200000 +39291360 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200000 +39291400 +7D2A4A14 +81290000 +55290644 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF88D +39200022 +91210008 +4800008C +81210008 +552A103A +3D200000 +39291360 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200000 +39291400 +7D2A4A14 +81290000 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF805 +81210008 +39290001 +91210008 +81210008 +28090023 +4081FF70 +4BFFF7E5 +48000000 +9421FFF0 +90610008 +9081000C +48000254 +60000000 +38210010 +4E800020 +48000000 +0001C000 +00000000 +00000000 +696E666F +20746578 +74006865 +61646572 +20746578 +74000000 +00000000 +00000000 +00000000 +5822C905 +FFFFFFFF +91B6D1A3 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +7E11EE88 +FFFFFFFF +7FFFFFFF +FFFFFFFF +FFFFFFFF +8C20BDE6 +FFFFFFFF +76D0DADF +15111F42 +FFFFFFFF +36108E50 +FFFFFFFF +FFFFFFFF +328A0CED +FFFFFFFF +FFFFFFFF +AF224C19 +FFFFFFFF +FFFFFFFF +D624B27A +FFFFFFFF +FFFFFFFF +FFFFFFFF +DBFD3628 +89F0006E +FFFFFFFF +FFFFFFFF +FFFFFFFF +00001104 +00010000 +00000000 +0000000D +7C61CC14 +7D230595 +7AC37392 +7E094C11 +7E1CB115 +7A338886 +7C6004D1 +7E09B038 +7C360591 +7E2B00D1 +60000000 +60000000 +60000000 +00010000 +00010004 +00010008 +0001000C +00010010 +00010014 +00010018 +0001001C +00010020 +00010024 +00010028 +0001002C +00010030 +48000014 +60000000 +60000000 +60000000 +60000000 +9023009C +802300A0 +7C2903A6 +382300A4 +384300D8 +80810000 +80A20000 +90850000 +38210004 +38420004 +4200FFEC +3C804800 +60840006 +90850000 +802010F4 +7C3B03A6 +80201138 +7C3A03A6 +80230080 +7C2FF120 +80230084 +7C2103A6 +80230088 +7C2903A6 +8023008C +7C2803A6 +80230090 +7C2FCBA6 +80030000 +80230004 +80430008 +80830010 +80A30014 +80C30018 +80E3001C +81030020 +81230024 +81430028 +8163002C +81830030 +81A30034 +81C30038 +81E3003C +82030040 +82230044 +82430048 +8263004C +82830050 +82A30054 +82C30058 +82E3005C +83030060 +83230064 +83430068 +8363006C +83830070 +83A30074 +83C30078 +83E3007C +8063000C +4C000064 +4800000C +60000000 +60000000 +7C2FCBA6 +3C200000 +60211360 +90010000 +90410008 +9061000C +90810010 +90A10014 +90C10018 +90E1001C +91010020 +91210024 +91410028 +9161002C +91810030 +91A10034 +91C10038 +91E1003C +92010040 +92210044 +92410048 +9261004C +92810050 +92A10054 +92C10058 +92E1005C +93010060 +93210064 +93410068 +9361006C +93810070 +93A10074 +93C10078 +93E1007C +7C4FCAA6 +90410004 +7C400026 +90410080 +7C4102A6 +90410084 +7C4902A6 +90410088 +7C4802A6 +9041008C +7C4FCAA6 +90410090 +3C600000 +60631060 +8023009C +3C600867 +60635309 +48000E13 +60000000 +60000000 +60000000 +60000000 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +60000000 +60000000 +60000000 +00000000 +CD75F313 +FFFFFFFF +00000000 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +008A0C68 +FFFFFFFF +7FFFFFFF +FFFFFFFF +FFFFFFFF +8C20BDE6 +FFFFFFFF +08AEBF68 +80000001 +FFFFFFFF +00000000 +FFFFFFFF +FFFFFFFF +328A0CED +FFFFFFFF +FFFFFFFF +AF224C19 +FFFFFFFF +FFFFFFFF +D624B27A +FFFFFFFF +FFFFFFFF +FFFFFFFF +9BFD3628 +98F0006E +FFFFFFFF +FFFFFFFF +FFFFFFFF +00001104 +00010038 +9421FFF0 +7C691B78 +99210008 +89210008 +3D400000 +394A0904 +7D2A48AE +552907BC +2C090000 +41820010 +89210008 +3929FFE0 +99210008 +89210008 +7D234B78 +38210010 +4E800020 +9421FFF0 +7C691B78 +B1210008 +A1210008 +5529402E +7D2A0734 +A1210008 +5529C23E +5529043E +7D290734 +7D494B78 +7D290734 +5529043E +7D234B78 +38210010 +4E800020 +9421FFF0 +90610008 +81210008 +552A463E +81210008 +5529C23E +5529042E +7D4A4B78 +81210008 +5529402E +5529021E +7D4A4B78 +81210008 +5529C00E +7D494B78 +7D234B78 +38210010 +4E800020 +9421FFF0 +90610008 +9081000C +48000028 +81210008 +89290000 +2C090000 +4082000C +39200000 +4800002C +81210008 +39290001 +91210008 +81210008 +89490000 +8121000C +5529063E +7C0A4840 +4082FFC8 +81210008 +7D234B78 +38210010 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000058 +8121001C +9121000C +48000030 +81210008 +89490000 +8121000C +89290000 +7C0A4840 +4082000C +81210008 +48000040 +8121000C +39290001 +9121000C +8121000C +89290000 +2C090000 +4082FFC8 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFA0 +39200000 +7D234B78 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +9081001C +80610018 +480003DD +7C6A1B78 +81210018 +7D295214 +91210008 +81210008 +89490000 +8121001C +5529063E +7C0A4840 +4082000C +81210008 +48000024 +81210008 +3929FFFF +91210008 +81410008 +81210018 +7C0A4840 +4080FFC8 +39200000 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +90610008 +9081000C +90A10010 +48000030 +81210008 +89490000 +81210010 +5529063E +7C0A4840 +4082000C +81210008 +48000038 +81210008 +39290001 +91210008 +8121000C +3949FFFF +9141000C +2C090000 +41820014 +81210008 +89290000 +2C090000 +4082FFB4 +39200000 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +60000000 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFD8 +81210008 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +48000048 +8121001C +89490000 +81210008 +99490000 +81210008 +89290000 +2C090000 +41820010 +8121001C +39290001 +9121001C +81210008 +39290001 +91210008 +81210020 +3929FFFF +91210020 +81210020 +2C090000 +4082FFB4 +81210018 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +89490000 +8121001C +39090001 +9101001C +89290000 +7D295050 +5529063E +99210008 +89210008 +7D290774 +2C090000 +40820020 +81210018 +39490001 +91410018 +89290000 +2C090000 +41820008 +4BFFFFB4 +89210008 +7D290774 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +39200000 +9121000C +39200000 +99210008 +4800005C +81210018 +89490000 +8121001C +39090001 +9101001C +89290000 +7D295050 +5529063E +99210008 +89210008 +7D290774 +2C090000 +40820038 +81210018 +39490001 +91410018 +89290000 +2C090000 +41820020 +8121000C +39290001 +9121000C +8141000C +81210020 +7C0A4840 +4180FF9C +89210008 +7D290774 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000010 +81210018 +39290001 +91210018 +81210018 +89290000 +2C090000 +4082FFE8 +60000000 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFD8 +81210008 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +81210020 +2C090000 +4182007C +48000010 +81210018 +39290001 +91210018 +81210018 +89290000 +2C090000 +4082FFE8 +4800002C +81210020 +3929FFFF +91210020 +81210020 +2C090000 +40820014 +81210018 +39400000 +99490000 +48000030 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFB0 +81210008 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +81210018 +91210008 +48000010 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFE8 +81410008 +81210018 +7D295050 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000010 +81210008 +39290001 +91210008 +8121001C +3949FFFF +9141001C +2C090000 +41820014 +81210008 +89290000 +2C090000 +4082FFD4 +81410008 +81210018 +7D295050 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +39200000 +91210010 +81210018 +91210008 +4800007C +8121001C +9121000C +48000028 +81210008 +89490000 +8121000C +89290000 +7C0A4840 +41820024 +8121000C +39290001 +9121000C +8121000C +89290000 +2C090000 +4082FFD0 +48000008 +60000000 +8121000C +89290000 +2C090000 +4082000C +81210010 +48000030 +81210010 +39290001 +91210010 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FF7C +81210010 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +39200000 +91210010 +81210018 +91210008 +8121001C +9121000C +48000050 +81210008 +89290000 +7D2A4B78 +8121000C +89290000 +7D295050 +91210010 +81210010 +2C090000 +40820038 +81210008 +39290001 +91210008 +8121000C +39290001 +9121000C +81210020 +3929FFFF +91210020 +81210020 +2C090000 +4082FFAC +48000008 +60000000 +81210010 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +4800001C +81210008 +39490001 +91410008 +8141001C +554A063E +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD8 +81210018 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +8121001C +9121000C +48000024 +8141000C +392A0001 +9121000C +81210008 +39090001 +91010008 +894A0000 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD0 +81210018 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81410018 +8121001C +7C0A4840 +41810050 +81210018 +91210008 +8121001C +9121000C +48000024 +8141000C +392A0001 +9121000C +81210008 +39090001 +91010008 +894A0000 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD0 +48000064 +81410018 +81210020 +7D2A4A14 +91210008 +8141001C +81210020 +7D2A4A14 +9121000C +4800002C +8121000C +3929FFFF +9121000C +81210008 +3929FFFF +91210008 +8121000C +89490000 +81210008 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFC8 +81210018 +7D234B78 +38210030 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +9081001C +8061001C +4BFFFC51 +7C691B78 +9121000C +8121000C +2C090000 +4082000C +81210018 +48000068 +80610018 +4BFFFC2D +7C691B78 +91210008 +48000040 +81210008 +3929FFFF +91210008 +80A1000C +8081001C +80610018 +4BFFFD65 +7C691B78 +2C090000 +4082000C +81210018 +48000024 +81210018 +39290001 +91210018 +81410008 +8121000C +7C0A4840 +4080FFB8 +39200000 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +48000030 +8121001C +552A063E +81210008 +39090001 +91010008 +89290000 +7C0A4840 +40820010 +81210008 +3929FFFF +4800001C +81210020 +3949FFFF +91410020 +2C090000 +4082FFC4 +39200000 +7D234B78 +38210030 +4E800020 +9421FFD0 +7C0802A6 +90010034 +90610018 +9081001C +90A10020 +39200000 +91210008 +81210020 +2C090000 +4082008C +3920000A +91210020 +81210018 +89290000 +28090030 +408200E4 +39200008 +91210020 +81210018 +39290001 +91210018 +81210018 +89290000 +7D234B78 +4BFFF541 +7C691B78 +28090058 +408200B4 +81210018 +39290001 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +71290044 +2C090000 +4182008C +81210018 +39290001 +91210018 +39200010 +91210020 +48000074 +81210020 +2C090010 +40820068 +81210018 +89290000 +28090030 +40820058 +81210018 +39290001 +89290000 +7D234B78 +4BFFF4C5 +7C691B78 +28090058 +40820038 +81210018 +39290002 +91210018 +48000028 +81410008 +81210020 +7D2A49D6 +8141000C +7D2A4A14 +91210008 +81210018 +39290001 +91210018 +81210018 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +71290044 +2C090000 +41820064 +81210018 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +41820014 +81210018 +89290000 +3929FFD0 +4800001C +81210018 +89290000 +7D234B78 +4BFFF41D +7C691B78 +3929FFC9 +9121000C +8141000C +81210020 +7C0A4840 +4180FF5C +8121001C +2C090000 +41820010 +8121001C +81410018 +91490000 +81210008 +7D234B78 +80010034 +7C0803A6 +38210030 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610008 +9081000C +90A10010 +81210008 +89290000 +2809002D +4082002C +81210008 +39290001 +81410010 +7D455378 +8081000C +7D234B78 +4BFFFDE9 +7C691B78 +7D2900D0 +4800001C +81210010 +7D254B78 +8081000C +80610008 +4BFFFDC9 +7C691B78 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +90610018 +39200000 +91210008 +48000030 +81210008 +1D49000A +81210018 +81290000 +38E90001 +81010018 +90E80000 +89290000 +7D2A4A14 +3929FFD0 +91210008 +81210018 +81290000 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4082FFB0 +81210008 +7D234B78 +38210020 +4E800020 +9421FF70 +90610068 +9081006C +90A10070 +90C10074 +90E10078 +9101007C +91210080 +81210080 +55290672 +2C090000 +41820010 +3D200000 +39290A10 +4800000C +3D200000 +39290A38 +91210010 +81210080 +552906F6 +2C090000 +41820010 +81210080 +5529003C +91210080 +81210074 +2C090001 +40810010 +81210074 +2C090024 +4081000C +39200000 +480003FC +81210080 +552907FE +2C090000 +4182000C +39200030 +48000008 +39200020 +99210014 +39200000 +99210008 +81210080 +552907BC +2C090000 +41820080 +81210070 +2C090000 +40800028 +3920002D +99210008 +81210070 +7D2900D0 +91210070 +81210078 +3929FFFF +91210078 +48000050 +81210080 +5529077A +2C090000 +4182001C +3920002B +99210008 +81210078 +3929FFFF +91210078 +48000028 +81210080 +55290738 +2C090000 +41820018 +39200020 +99210008 +81210078 +3929FFFF +91210078 +81210080 +552906B4 +2C090000 +41820038 +81210074 +2C090010 +40820014 +81210078 +3929FFFE +91210078 +4800001C +81210074 +2C090008 +40820010 +81210078 +3929FFFF +91210078 +39200000 +9121000C +81210070 +2C090000 +4082006C +8121000C +39490001 +9141000C +39410008 +7D2A4A14 +39400030 +99490010 +48000058 +81410074 +81210070 +7D095396 +7D4851D6 +7D2A4850 +81410010 +7D4A4A14 +8121000C +39090001 +9101000C +894A0000 +39010008 +7D284A14 +99490010 +81210074 +81410070 +7D2A4B96 +91210070 +81210070 +2C090000 +4082FFB0 +8141000C +8121007C +7C0A4800 +4081000C +8121000C +9121007C +81410078 +8121007C +7D295050 +91210078 +81210080 +71290011 +2C090000 +40820044 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400020 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +89210008 +2C090000 +4182002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +89410008 +99490000 +81210068 +39290001 +91210068 +81210080 +552906B4 +2C090000 +4182009C +81210074 +2C090008 +40820030 +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +48000064 +81210074 +2C090010 +40820058 +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +81410068 +8121006C +7C0A4840 +40800014 +81210010 +89490021 +81210068 +99490000 +81210068 +39290001 +91210068 +81210080 +552906F6 +2C090000 +40820070 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +89410014 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +8121007C +3949FFFF +9141007C +8141000C +7C0A4800 +4180FFC4 +48000038 +81410068 +8121006C +7C0A4840 +4080001C +39410018 +8121000C +7D2A4A14 +89490000 +81210068 +99490000 +81210068 +39290001 +91210068 +8121000C +3949FFFF +9141000C +2C090000 +4181FFBC +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400020 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +81210068 +7D234B78 +38210090 +4E800020 +9421FFD0 +7C0802A6 +90010034 +90610018 +9081001C +90A10020 +90C10024 +80C10024 +80A10020 +8081001C +80610018 +4800044D +7C691B78 +91210008 +81410008 +8121001C +7C0A4840 +41800010 +8121001C +3929FFFF +48000008 +81210008 +7D234B78 +80010034 +7C0803A6 +38210030 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200003 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D264B78 +80A10020 +8081001C +80610018 +48000389 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200003 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D264B78 +80A10020 +8081001C +80610018 +480002E1 +7C691B78 +91210008 +81410008 +8121001C +7C0A4840 +41800010 +8121001C +3929FFFF +48000008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610008 +9081000C +90A10010 +80C10010 +80A1000C +3D207FFF +6124FFFF +80610008 +48000275 +7C691B78 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C10024 +90E10028 +9101002C +91210030 +91410034 +40860024 +D8210038 +D8410040 +D8610048 +D8810050 +D8A10058 +D8C10060 +D8E10068 +D9010070 +39200002 +9921000C +39200000 +9921000D +39210088 +91210010 +39210018 +91210014 +3921000C +7D264B78 +80A1001C +3D207FFF +6124FFFF +80610018 +480001D1 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +3D200002 +8129E014 +1D290081 +3D293619 +394962E9 +3D200002 +9149E014 +3D200002 +8129E014 +7D234B78 +4E800020 +9421FFF0 +90610008 +3D200002 +81410008 +9149E014 +60000000 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200000 +38690A04 +4CC63182 +4800111D +48000000 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +91210008 +89210008 +2C090000 +41820014 +80610018 +4BFFEB75 +7C691B78 +48000008 +81210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +7C691B78 +B1210018 +39200001 +91210008 +89210008 +2C090000 +41820018 +A1210018 +7D234B78 +4BFFEAE1 +7C691B78 +48000008 +A1210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +91210008 +89210008 +2C090000 +41820014 +80610018 +4BFFEAD5 +7C691B78 +48000008 +81210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +7C691B78 +B1210018 +39200001 +91210008 +89210008 +2C090000 +41820018 +A1210018 +7D234B78 +4BFFEA41 +7C691B78 +48000008 +A1210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFA0 +7C0802A6 +90010064 +90610048 +9081004C +90A10050 +90C10054 +8121004C +2C090000 +4080000C +39200000 +48000D3C +81210048 +91210018 +81410048 +8121004C +7D2A4A14 +9121001C +8141001C +81210048 +7C0A4840 +40800CBC +3920FFFF +9121001C +8141001C +81210048 +7D295050 +9121004C +48000CA0 +81210050 +89290000 +28090025 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210050 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +48000C54 +39200000 +91210024 +81210050 +39290001 +91210050 +81210050 +89290000 +3929FFE0 +28090010 +4181007C +552A103A +3D200000 +39290A68 +7D2A4A14 +81490000 +3D200000 +39290A68 +7D2A4A14 +7D2903A6 +4E800420 +81210024 +61290010 +91210024 +4BFFFFAC +81210024 +61290004 +91210024 +4BFFFF9C +81210024 +61290008 +91210024 +4BFFFF8C +81210024 +61290020 +91210024 +4BFFFF7C +81210024 +61290001 +91210024 +4BFFFF6C +3920FFFF +91210028 +81210050 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4182001C +39210050 +7D234B78 +4BFFF501 +7C691B78 +91210028 +4800009C +81210050 +89290000 +2809002A +4082008C +81210050 +39290001 +91210050 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210028 +81210028 +2C090000 +4080001C +81210028 +7D2900D0 +91210028 +81210024 +61290010 +91210024 +3920FFFF +9121002C +81210050 +89290000 +2809002E +408200D4 +81210050 +39290001 +91210050 +81210050 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4182001C +39210050 +7D234B78 +4BFFF409 +7C691B78 +9121002C +48000078 +81210050 +89290000 +2809002A +40820068 +81210050 +39290001 +91210050 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121002C +8121002C +2C090000 +4080000C +39200000 +9121002C +3920FFFF +91210030 +81210050 +89290000 +28090068 +41820054 +81210050 +89290000 +2809006C +41820044 +81210050 +89290000 +2809004C +41820034 +81210050 +89290000 +2809005A +41820024 +81210050 +89290000 +2809007A +41820014 +81210050 +89290000 +28090074 +4082004C +81210050 +89290000 +91210030 +81210050 +39290001 +91210050 +81210030 +2C09006C +40820028 +81210050 +89290000 +2809006C +40820018 +3920004C +91210030 +81210050 +39290001 +91210050 +3920000A +91210014 +81210050 +89290000 +3929FFDB +28090053 +41810550 +552A103A +3D200000 +39290AAC +7D2A4A14 +81490000 +3D200000 +39290AAC +7D2A4A14 +7D2903A6 +4E800420 +81210024 +552906F6 +2C090000 +40820048 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3929FFFF +91210028 +81210028 +2C090000 +4181FFC4 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +99210044 +81410018 +8121001C +7C0A4840 +40800010 +81210018 +89410044 +99490000 +81210018 +39290001 +91210018 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3929FFFF +91210028 +81210028 +2C090000 +4181FFC4 +480007E0 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210020 +81210020 +2C090000 +40820010 +3D200000 +39290A60 +91210020 +8121002C +7D244B78 +80610020 +4BFFEA25 +7C691B78 +91210034 +81210024 +552906F6 +2C090000 +40820048 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3949FFFF +91410028 +81410034 +7C0A4800 +4180FFC4 +39200000 +91210010 +48000048 +81410018 +8121001C +7C0A4840 +40800014 +81210020 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +81210020 +39290001 +91210020 +81210010 +39290001 +91210010 +81410010 +81210034 +7C0A4800 +4180FFB0 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3949FFFF +91410028 +81410034 +7C0A4800 +4180FFC4 +4800065C +81410028 +3920FFFF +7C0A4800 +40820018 +39200008 +91210028 +81210024 +61290021 +91210024 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +7D2A4B78 +81210024 +8101002C +80E10028 +38C00010 +7D455378 +8081001C +80610018 +4BFFEFBD +7C691B78 +91210018 +480005B4 +81210030 +2C09006C +40820074 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210040 +81410018 +81210048 +7D495050 +81210040 +91490000 +48000538 +81210030 +2C09005A +41820010 +81210030 +2C09007A +4082007C +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121003C +81410018 +81210048 +7D295050 +7D2A4B78 +8121003C +91490000 +60000000 +480004A8 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210038 +81410018 +81210048 +7D495050 +81210038 +91490000 +48000438 +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400025 +99490000 +81210018 +39290001 +91210018 +4800040C +39200008 +91210014 +480000A8 +81210024 +61290040 +91210024 +39200010 +91210014 +48000090 +81210024 +61290002 +91210024 +4800007C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400025 +99490000 +81210018 +39290001 +91210018 +81210050 +89290000 +2C090000 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210050 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +48000370 +81210050 +3929FFFF +91210050 +48000360 +60000000 +81210030 +2C09004C +40820090 +81210054 +89290000 +81410054 +894A0000 +554A07FE +554A063E +7D4A4A14 +5548063E +81410054 +990A0000 +28090006 +41810030 +81210054 +81490008 +81210054 +89290000 +39090002 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000020 +81210054 +81290004 +39290007 +55290038 +39090008 +81410054 +910A0004 +81490000 +81690004 +91410008 +9161000C +48000298 +81210030 +2C09006C +40820088 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +4182021C +8121000C +9121000C +7D29FE70 +91210008 +48000208 +81210030 +2C09005A +41820010 +81210030 +2C09007A +40820068 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +4800018C +81210030 +2C090074 +40820068 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +7D29FE70 +91210008 +4800011C +81210030 +2C090068 +40820090 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +5529043E +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +4182009C +A121000E +7D290734 +9121000C +7D29FE70 +91210008 +48000084 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +41820014 +8121000C +9121000C +7D29FE70 +91210008 +8141000C +81210024 +8101002C +80E10028 +80C10014 +7D455378 +8081001C +80610018 +4BFFEA09 +7C691B78 +91210018 +81210050 +39290001 +91210050 +81210050 +89290000 +2C090000 +4082F358 +8121004C +2C090000 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210018 +39400000 +99490000 +48000014 +8121001C +3929FFFF +39400000 +99490000 +81410018 +81210048 +7D295050 +7D234B78 +80010064 +7C0803A6 +38210060 +4E800020 +9421FFF0 +90610008 +3D200002 +81410008 +9149E018 +60000000 +38210010 +4E800020 +9421FFF0 +90610008 +9081000C +3D200002 +81410008 +9149E01C +3D200002 +8141000C +9149E020 +60000000 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +3D200002 +8129E018 +2C090000 +41820020 +3D200002 +8129E018 +81410008 +554A063E +7D435378 +7D2903A6 +4E800421 +81210008 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200002 +8129E020 +2C090000 +4182FFF4 +3D200002 +8129E020 +7D2903A6 +4E800421 +7C691B78 +2C090000 +4182FFD8 +3D200002 +8129E01C +7D2903A6 +4E800421 +7C691B78 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200002 +8129E020 +2C090000 +41820028 +3D200002 +8129E020 +7D2903A6 +4E800421 +7C691B78 +2C090000 +4182000C +39200001 +48000008 +39200000 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +80610008 +48000025 +3860000A +4BFFFED9 +39200001 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +48000020 +81210008 +89290000 +7D234B78 +4BFFFE9D +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFD8 +60000000 +60000000 +80010014 +7C0803A6 +38210010 +4E800020 +9421FEE0 +7C0802A6 +90010124 +90610118 +9081011C +3921000C +80C1011C +80A10118 +38800100 +7D234B78 +4BFFEBF9 +7C691B78 +91210008 +3941000C +81210008 +7D2A4A14 +39400000 +99490000 +3921000C +7D234B78 +4BFFFF59 +81210008 +7D234B78 +80010124 +7C0803A6 +38210120 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +90810024 +90A10028 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200001 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D244B78 +80610018 +4BFFFF19 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 diff --git a/dev/src/test3_smt/rom.s b/dev/src/test3_smt/rom.s new file mode 100644 index 0000000..4c6d80d --- /dev/null +++ b/dev/src/test3_smt/rom.s @@ -0,0 +1,958 @@ + +rom: file format elf32-powerpc + +Contents of section .kernel: + 0000 48000400 44000002 00000000 00000000 H...D........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 48001010 00000000 00000000 00000000 H............... + 0030 00000000 00000000 00000000 00000000 ................ + 0040 48000000 00000000 00000000 00000000 H............... + 0050 00000000 00000000 00000000 00000000 ................ + 0060 48000000 00000000 00000000 00000000 H............... + 0070 00000000 00000000 00000000 00000000 ................ + 0080 48000000 00000000 00000000 00000000 H............... + 0090 00000000 00000000 00000000 00000000 ................ + 00a0 48000000 00000000 00000000 00000000 H............... + 00b0 00000000 00000000 00000000 00000000 ................ + 00c0 48000000 00000000 00000000 00000000 H............... + 00d0 00000000 00000000 00000000 00000000 ................ + 00e0 48000000 00000000 00000000 00000000 H............... + 00f0 00000000 00000000 00000000 00000000 ................ + 0100 48000000 00000000 00000000 00000000 H............... + 0110 00000000 00000000 00000000 00000000 ................ + 0120 48001154 00000000 00000000 00000000 H..T............ + 0130 00000000 00000000 00000000 00000000 ................ + 0140 48000000 00000000 00000000 00000000 H............... + 0150 00000000 00000000 00000000 00000000 ................ + 0160 48000000 00000000 00000000 00000000 H............... + 0170 00000000 00000000 00000000 00000000 ................ + 0180 48000000 00000000 00000000 00000000 H............... + 0190 00000000 00000000 00000000 00000000 ................ + 01a0 48000000 00000000 00000000 00000000 H............... + 01b0 00000000 00000000 00000000 00000000 ................ + 01c0 48000000 00000000 00000000 00000000 H............... + 01d0 00000000 00000000 00000000 00000000 ................ + 01e0 48000000 00000000 00000000 00000000 H............... + 01f0 00000000 00000000 00000000 00000000 ................ + 0200 48000000 00000000 00000000 00000000 H............... + 0210 00000000 00000000 00000000 00000000 ................ + 0220 48000000 00000000 00000000 00000000 H............... + 0230 00000000 00000000 00000000 00000000 ................ + 0240 48000000 00000000 00000000 00000000 H............... + 0250 00000000 00000000 00000000 00000000 ................ + 0260 48000000 00000000 00000000 00000000 H............... + 0270 00000000 00000000 00000000 00000000 ................ + 0280 48000000 00000000 00000000 00000000 H............... + 0290 00000000 00000000 00000000 00000000 ................ + 02a0 48000000 00000000 00000000 00000000 H............... + 02b0 00000000 00000000 00000000 00000000 ................ + 02c0 48000000 00000000 00000000 00000000 H............... + 02d0 00000000 00000000 00000000 00000000 ................ + 02e0 48000000 00000000 00000000 00000000 H............... + 02f0 00000000 00000000 00000000 00000000 ................ + 0300 48000000 00000000 00000000 00000000 H............... + 0310 00000000 00000000 00000000 00000000 ................ + 0320 48000000 00000000 00000000 00000000 H............... + 0330 00000000 00000000 00000000 00000000 ................ + 0340 48000000 00000000 00000000 00000000 H............... + 0350 00000000 00000000 00000000 00000000 ................ + 0360 00000000 00000000 00000000 00000000 ................ + 0370 00000000 00000000 00000000 00000000 ................ + 0380 00000000 00000000 00000000 00000000 ................ + 0390 00000000 00000000 00000000 00000000 ................ + 03a0 00000000 00000000 00000000 00000000 ................ + 03b0 00000000 00000000 00000000 00000000 ................ + 03c0 00000000 00000000 00000000 00000000 ................ + 03d0 00000000 00000000 00000000 00000000 ................ + 03e0 00000000 00000000 00000000 00000000 ................ + 03f0 00000000 00000000 00000000 00000000 ................ + 0400 7cbe6aa6 2c250000 408200f4 3c608c00 |.j.,%..@...<`.. + 0410 3800001f 38400015 38800000 3900023f 8...8@..8...9..? + 0420 7c7cfba6 7c4011a6 7c8009a6 7d0001a6 ||..|@..|...}... + 0430 4c00012c 39400000 654a0000 614a003f L..,9@..eJ..aJ.? + 0440 3800001e 38800000 64840001 60840000 8...8...d...`... + 0450 39000000 65080001 61080000 6108023f 9...e...a...a..? + 0460 7d4011a6 7c8009a6 7d0001a6 4c00012c }@..|...}...L.., + 0470 3c608800 3800000f 3840003f 38800000 <`..8...8@.?8... + 0480 3900023f 7c7cfba6 7c4011a6 7c8009a6 9..?||..|@..|... + 0490 7d0001a6 4c00012c 3800000d 38800000 }...L..,8...8... + 04a0 64840001 60840000 39000000 65080001 d...`...9...e... + 04b0 61080000 6108023f 7d4011a6 7c8009a6 a...a..?}@..|... + 04c0 7d0001a6 4c00012c 48000004 38200003 }...L..,H...8 .. + 04d0 7c366ba6 7c2108f8 7c376ba6 4c00012c |6k.|!..|7k.L.., + 04e0 39400000 654a8002 614ab000 7d400124 9@..eJ..aJ..}@.$ + 04f0 4c00012c 802008fa 48000020 39400000 L..,. ..H.. 9@.. + 0500 654a8002 614ab000 7d400124 4c00012c eJ..aJ..}@.$L.., + 0510 802008fe 48000004 3c600000 60630c34 . ..H...<`..`c.4 + 0520 7c6903a6 7c7e6aa6 4e800421 480002d0 |i..|~j.N..!H... + 0530 00000000 00000000 00000000 00000000 ................ + 0540 00000000 00000000 00000000 00000000 ................ + 0550 00000000 00000000 00000000 00000000 ................ + 0560 00000000 00000000 00000000 00000000 ................ + 0570 00000000 00000000 00000000 00000000 ................ + 0580 00000000 00000000 00000000 00000000 ................ + 0590 00000000 00000000 00000000 00000000 ................ + 05a0 00000000 00000000 00000000 00000000 ................ + 05b0 00000000 00000000 00000000 00000000 ................ + 05c0 00000000 00000000 00000000 00000000 ................ + 05d0 00000000 00000000 00000000 00000000 ................ + 05e0 00000000 00000000 00000000 00000000 ................ + 05f0 00000000 00000000 00000000 00000000 ................ + 0600 00000000 00000000 00000000 00000000 ................ + 0610 00000000 00000000 00000000 00000000 ................ + 0620 00000000 00000000 00000000 00000000 ................ + 0630 00000000 00000000 00000000 00000000 ................ + 0640 00000000 00000000 00000000 00000000 ................ + 0650 00000000 00000000 00000000 00000000 ................ + 0660 00000000 00000000 00000000 00000000 ................ + 0670 00000000 00000000 00000000 00000000 ................ + 0680 00000000 00000000 00000000 00000000 ................ + 0690 00000000 00000000 00000000 00000000 ................ + 06a0 00000000 00000000 00000000 00000000 ................ + 06b0 00000000 00000000 00000000 00000000 ................ + 06c0 00000000 00000000 00000000 00000000 ................ + 06d0 00000000 00000000 00000000 00000000 ................ + 06e0 00000000 00000000 00000000 00000000 ................ + 06f0 00000000 00000000 00000000 00000000 ................ + 0700 00000000 00000000 00000000 00000000 ................ + 0710 00000000 00000000 00000000 00000000 ................ + 0720 00000000 00000000 00000000 00000000 ................ + 0730 00000000 00000000 00000000 00000000 ................ + 0740 00000000 00000000 00000000 00000000 ................ + 0750 00000000 00000000 00000000 00000000 ................ + 0760 00000000 00000000 00000000 00000000 ................ + 0770 00000000 00000000 00000000 00000000 ................ + 0780 00000000 00000000 00000000 00000000 ................ + 0790 00000000 00000000 00000000 00000000 ................ + 07a0 00000000 00000000 00000000 00000000 ................ + 07b0 00000000 00000000 00000000 00000000 ................ + 07c0 00000000 00000000 00000000 00000000 ................ + 07d0 00000000 00000000 00000000 00000000 ................ + 07e0 00000000 00000000 00000000 00000000 ................ + 07f0 48000000 48000000 00000000 48000000 H...H.......H... + 0800 48000000 00000000 00000000 00000000 H............... + 0810 00000000 00000000 00000000 00000000 ................ + 0820 48000000 00000000 00000000 00000000 H............... + 0830 00000000 00000000 00000000 00000000 ................ + 0840 00000000 00000000 00000000 00000000 ................ + 0850 00000000 00000000 00000000 00000000 ................ + 0860 00000000 00000000 00000000 00000000 ................ + 0870 00000000 00000000 00000000 00000000 ................ + 0880 00000000 00000000 00000000 00000000 ................ + 0890 00000000 00000000 00000000 00000000 ................ + 08a0 00000000 00000000 00000000 00000000 ................ + 08b0 00000000 00000000 00000000 00000000 ................ + 08c0 00000000 00000000 00000000 00000000 ................ + 08d0 00000000 00000000 00000000 00000000 ................ + 08e0 00000000 00000000 00000000 00000000 ................ +Contents of section .rodata: + 08f0 6d61696e 28256929 0a000001 fff80000 main(%i)........ + 0900 fff80000 08080808 08080808 08282828 .............((( + 0910 28280808 08080808 08080808 08080808 ((.............. + 0920 08080808 a0101010 10101010 10101010 ................ + 0930 10101010 04040404 04040404 04041010 ................ + 0940 10101010 10414141 41414101 01010101 .....AAAAAA..... + 0950 01010101 01010101 01010101 01010110 ................ + 0960 10101010 10424242 42424202 02020202 .....BBBBBB..... + 0970 02020202 02020202 02020202 02020210 ................ + 0980 10101008 00000000 00000000 00000000 ................ + 0990 00000000 00000000 00000000 00000000 ................ + 09a0 00000000 a0101010 10101010 10101010 ................ + 09b0 10101010 10101010 10101010 10101010 ................ + 09c0 10101010 01010101 01010101 01010101 ................ + 09d0 01010101 01010101 01010110 01010101 ................ + 09e0 01010102 02020202 02020202 02020202 ................ + 09f0 02020202 02020202 02020210 02020202 ................ + 0a00 02020202 41626f72 7465642e 00000000 ....Aborted..... + 0a10 30313233 34353637 38394142 43444546 0123456789ABCDEF + 0a20 4748494a 4b4c4d4e 4f505152 53545556 GHIJKLMNOPQRSTUV + 0a30 5758595a 00000000 30313233 34353637 WXYZ....01234567 + 0a40 38396162 63646566 6768696a 6b6c6d6e 89abcdefghijklmn + 0a50 6f707172 73747576 7778797a 00000000 opqrstuvwxyz.... + 0a60 3c4e554c 4c3e0000 00002180 000021b0 ....!...!. + 0a70 000021b0 00002190 000021b0 000021b0 ..!...!...!...!. + 0a80 000021b0 000021b0 000021b0 000021b0 ..!...!...!...!. + 0a90 000021b0 00002170 000021b0 00002160 ..!...!p..!...!` + 0aa0 000021b0 000021b0 000021a0 000028e8 ..!...!...!...(. + 0ab0 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0ac0 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0ad0 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0ae0 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0af0 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b00 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b10 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b20 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b30 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b40 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b50 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b60 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b70 00002948 00002948 00002920 00002948 ..)H..)H..) ..)H + 0b80 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0b90 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0ba0 00002948 00002424 00002938 00002948 ..)H..$$..)8..)H + 0bb0 00002948 00002948 00002948 00002938 ..)H..)H..)H..)8 + 0bc0 00002948 00002948 00002948 00002948 ..)H..)H..)H..)H + 0bd0 0000276c 00002914 000026c4 00002948 ..'l..)...&...)H + 0be0 00002948 00002540 00002948 000029c0 ..)H..%@..)H..). + 0bf0 00002948 00002948 0000292c 00000000 ..)H..)H..),.... +Contents of section .bios: + 0c00 9421fff0 7c691b78 99210008 3d200001 .!..|i.x.!..= .. + 0c10 81292000 39090001 3d400001 910a2000 .) .9...=@.... . + 0c20 89410008 99490000 60000000 38210010 .A...I..`...8!.. + 0c30 4e800020 9421ffc0 7c0802a6 90010044 N.. .!..|......D + 0c40 90610038 3d200001 39292000 9121000c .a.8= ..9) ..!.. + 0c50 3d200000 39291060 91210010 81210038 = ..9).`.!...!.8 + 0c60 2c090000 4182000c 3920ffff 48000190 ,...A...9 ..H... + 0c70 3d200000 39291034 91210008 48000028 = ..9).4.!..H..( + 0c80 8121000c 39490004 9141000c 81410008 .!..9I...A...A.. + 0c90 814a0000 91490000 81210008 39290004 .J...I...!..9).. + 0ca0 91210008 81410008 3d200000 3929103c .!...A..= ..9).< + 0cb0 7c0a4840 4180ffcc 3d200002 3929e008 |.H@A...= ..9).. + 0cc0 91210008 48000024 81210008 39490004 .!..H..$.!..9I.. + 0cd0 91410008 39400000 91490000 81210008 .A..9@...I...!.. + 0ce0 39290004 91210008 81410008 3d200002 9)...!...A..= .. + 0cf0 3929e028 7c0a4840 4180ffd0 3d200000 9).(|.H@A...= .. + 0d00 38690c00 4cc63182 48002b39 38600077 8i..L.1.H.+98`.w + 0d10 48002b81 38600074 48002b79 38600066 H.+.8`.tH.+y8`.f + 0d20 48002b71 3860000a 48002b69 80810038 H.+q8`..H.+i...8 + 0d30 3d200000 386908f0 4cc63182 48002d5d = ..8i..L.1.H.-] + 0d40 3d200300 91210034 81210034 7d334ba6 = ...!.4.!.4}3K. + 0d50 60000000 39200000 91210030 81210030 `...9 ...!.0.!.0 + 0d60 7d3603a6 60000000 39200000 9121002c }6..`...9 ...!., + 0d70 8121002c 7d3d43a6 60000000 39200000 .!.,}=C.`...9 .. + 0d80 91210028 81210028 7d3c43a6 60000000 .!.(.!.(}U).>}).4}IKx + 150c 7d290734 5529043e 7d234b78 38210010 }).4U).>}#Kx8!.. + 151c 4e800020 9421fff0 90610008 81210008 N.. .!...a...!.. + 152c 552a463e 81210008 5529c23e 5529042e U*F>.!..U).>U).. + 153c 7d4a4b78 81210008 5529402e 5529021e }JKx.!..U)@.U).. + 154c 7d4a4b78 81210008 5529c00e 7d494b78 }JKx.!..U)..}IKx + 155c 7d234b78 38210010 4e800020 9421fff0 }#Kx8!..N.. .!.. + 156c 90610008 9081000c 48000028 81210008 .a......H..(.!.. + 157c 89290000 2c090000 4082000c 39200000 .)..,...@...9 .. + 158c 4800002c 81210008 39290001 91210008 H..,.!..9)...!.. + 159c 81210008 89490000 8121000c 5529063e .!...I...!..U).> + 15ac 7c0a4840 4082ffc8 81210008 7d234b78 |.H@@....!..}#Kx + 15bc 38210010 4e800020 9421ffe0 90610018 8!..N.. .!...a.. + 15cc 9081001c 81210018 91210008 48000058 .....!...!..H..X + 15dc 8121001c 9121000c 48000030 81210008 .!...!..H..0.!.. + 15ec 89490000 8121000c 89290000 7c0a4840 .I...!...)..|.H@ + 15fc 4082000c 81210008 48000040 8121000c @....!..H..@.!.. + 160c 39290001 9121000c 8121000c 89290000 9)...!...!...).. + 161c 2c090000 4082ffc8 81210008 39290001 ,...@....!..9).. + 162c 91210008 81210008 89290000 2c090000 .!...!...)..,... + 163c 4082ffa0 39200000 7d234b78 38210020 @...9 ..}#Kx8!. + 164c 4e800020 9421ffe0 7c0802a6 90010024 N.. .!..|......$ + 165c 90610018 9081001c 80610018 480003dd .a.......a..H... + 166c 7c6a1b78 81210018 7d295214 91210008 |j.x.!..})R..!.. + 167c 81210008 89490000 8121001c 5529063e .!...I...!..U).> + 168c 7c0a4840 4082000c 81210008 48000024 |.H@@....!..H..$ + 169c 81210008 3929ffff 91210008 81410008 .!..9)...!...A.. + 16ac 81210018 7c0a4840 4080ffc8 39200000 .!..|.H@@...9 .. + 16bc 7d234b78 80010024 7c0803a6 38210020 }#Kx...$|...8!. + 16cc 4e800020 9421ffe0 90610008 9081000c N.. .!...a...... + 16dc 90a10010 48000030 81210008 89490000 ....H..0.!...I.. + 16ec 81210010 5529063e 7c0a4840 4082000c .!..U).>|.H@@... + 16fc 81210008 48000038 81210008 39290001 .!..H..8.!..9).. + 170c 91210008 8121000c 3949ffff 9141000c .!...!..9I...A.. + 171c 2c090000 41820014 81210008 89290000 ,...A....!...).. + 172c 2c090000 4082ffb4 39200000 7d234b78 ,...@...9 ..}#Kx + 173c 38210020 4e800020 9421ffe0 90610018 8!. N.. .!...a.. + 174c 9081001c 81210018 91210008 60000000 .....!...!..`... + 175c 8141001c 392a0001 9121001c 81210018 .A..9*...!...!.. + 176c 39090001 91010018 894a0000 99490000 9........J...I.. + 177c 89290000 2c090000 4082ffd8 81210008 .)..,...@....!.. + 178c 7d234b78 38210020 4e800020 9421ffd0 }#Kx8!. N.. .!.. + 179c 90610018 9081001c 90a10020 81210018 .a......... .!.. + 17ac 91210008 48000048 8121001c 89490000 .!..H..H.!...I.. + 17bc 81210008 99490000 81210008 89290000 .!...I...!...).. + 17cc 2c090000 41820010 8121001c 39290001 ,...A....!..9).. + 17dc 9121001c 81210008 39290001 91210008 .!...!..9)...!.. + 17ec 81210020 3929ffff 91210020 81210020 .!. 9)...!. .!. + 17fc 2c090000 4082ffb4 81210018 7d234b78 ,...@....!..}#Kx + 180c 38210030 4e800020 9421ffe0 90610018 8!.0N.. .!...a.. + 181c 9081001c 81210018 89490000 8121001c .....!...I...!.. + 182c 39090001 9101001c 89290000 7d295050 9........)..})PP + 183c 5529063e 99210008 89210008 7d290774 U).>.!...!..}).t + 184c 2c090000 40820020 81210018 39490001 ,...@.. .!..9I.. + 185c 91410018 89290000 2c090000 41820008 .A...)..,...A... + 186c 4bffffb4 89210008 7d290774 7d234b78 K....!..}).t}#Kx + 187c 38210020 4e800020 9421ffd0 90610018 8!. N.. .!...a.. + 188c 9081001c 90a10020 39200000 9121000c ....... 9 ...!.. + 189c 39200000 99210008 4800005c 81210018 9 ...!..H..\.!.. + 18ac 89490000 8121001c 39090001 9101001c .I...!..9....... + 18bc 89290000 7d295050 5529063e 99210008 .)..})PPU).>.!.. + 18cc 89210008 7d290774 2c090000 40820038 .!..}).t,...@..8 + 18dc 81210018 39490001 91410018 89290000 .!..9I...A...).. + 18ec 2c090000 41820020 8121000c 39290001 ,...A.. .!..9).. + 18fc 9121000c 8141000c 81210020 7c0a4840 .!...A...!. |.H@ + 190c 4180ff9c 89210008 7d290774 7d234b78 A....!..}).t}#Kx + 191c 38210030 4e800020 9421ffe0 90610018 8!.0N.. .!...a.. + 192c 9081001c 81210018 91210008 48000010 .....!...!..H... + 193c 81210018 39290001 91210018 81210018 .!..9)...!...!.. + 194c 89290000 2c090000 4082ffe8 60000000 .)..,...@...`... + 195c 8141001c 392a0001 9121001c 81210018 .A..9*...!...!.. + 196c 39090001 91010018 894a0000 99490000 9........J...I.. + 197c 89290000 2c090000 4082ffd8 81210008 .)..,...@....!.. + 198c 7d234b78 38210020 4e800020 9421ffd0 }#Kx8!. N.. .!.. + 199c 90610018 9081001c 90a10020 81210018 .a......... .!.. + 19ac 91210008 81210020 2c090000 4182007c .!...!. ,...A..| + 19bc 48000010 81210018 39290001 91210018 H....!..9)...!.. + 19cc 81210018 89290000 2c090000 4082ffe8 .!...)..,...@... + 19dc 4800002c 81210020 3929ffff 91210020 H..,.!. 9)...!. + 19ec 81210020 2c090000 40820014 81210018 .!. ,...@....!.. + 19fc 39400000 99490000 48000030 8141001c 9@...I..H..0.A.. + 1a0c 392a0001 9121001c 81210018 39090001 9*...!...!..9... + 1a1c 91010018 894a0000 99490000 89290000 .....J...I...).. + 1a2c 2c090000 4082ffb0 81210008 7d234b78 ,...@....!..}#Kx + 1a3c 38210030 4e800020 9421ffe0 90610018 8!.0N.. .!...a.. + 1a4c 81210018 91210008 48000010 81210008 .!...!..H....!.. + 1a5c 39290001 91210008 81210008 89290000 9)...!...!...).. + 1a6c 2c090000 4082ffe8 81410008 81210018 ,...@....A...!.. + 1a7c 7d295050 7d234b78 38210020 4e800020 })PP}#Kx8!. N.. + 1a8c 9421ffe0 90610018 9081001c 81210018 .!...a.......!.. + 1a9c 91210008 48000010 81210008 39290001 .!..H....!..9).. + 1aac 91210008 8121001c 3949ffff 9141001c .!...!..9I...A.. + 1abc 2c090000 41820014 81210008 89290000 ,...A....!...).. + 1acc 2c090000 4082ffd4 81410008 81210018 ,...@....A...!.. + 1adc 7d295050 7d234b78 38210020 4e800020 })PP}#Kx8!. N.. + 1aec 9421ffe0 90610018 9081001c 39200000 .!...a......9 .. + 1afc 91210010 81210018 91210008 4800007c .!...!...!..H..| + 1b0c 8121001c 9121000c 48000028 81210008 .!...!..H..(.!.. + 1b1c 89490000 8121000c 89290000 7c0a4840 .I...!...)..|.H@ + 1b2c 41820024 8121000c 39290001 9121000c A..$.!..9)...!.. + 1b3c 8121000c 89290000 2c090000 4082ffd0 .!...)..,...@... + 1b4c 48000008 60000000 8121000c 89290000 H...`....!...).. + 1b5c 2c090000 4082000c 81210010 48000030 ,...@....!..H..0 + 1b6c 81210010 39290001 91210010 81210008 .!..9)...!...!.. + 1b7c 39290001 91210008 81210008 89290000 9)...!...!...).. + 1b8c 2c090000 4082ff7c 81210010 7d234b78 ,...@..|.!..}#Kx + 1b9c 38210020 4e800020 9421ffd0 90610018 8!. N.. .!...a.. + 1bac 9081001c 90a10020 39200000 91210010 ....... 9 ...!.. + 1bbc 81210018 91210008 8121001c 9121000c .!...!...!...!.. + 1bcc 48000050 81210008 89290000 7d2a4b78 H..P.!...)..}*Kx + 1bdc 8121000c 89290000 7d295050 91210010 .!...)..})PP.!.. + 1bec 81210010 2c090000 40820038 81210008 .!..,...@..8.!.. + 1bfc 39290001 91210008 8121000c 39290001 9)...!...!..9).. + 1c0c 9121000c 81210020 3929ffff 91210020 .!...!. 9)...!. + 1c1c 81210020 2c090000 4082ffac 48000008 .!. ,...@...H... + 1c2c 60000000 81210010 7d234b78 38210030 `....!..}#Kx8!.0 + 1c3c 4e800020 9421ffd0 90610018 9081001c N.. .!...a...... + 1c4c 90a10020 81210018 91210008 4800001c ... .!...!..H... + 1c5c 81210008 39490001 91410008 8141001c .!..9I...A...A.. + 1c6c 554a063e 99490000 81210020 3949ffff UJ.>.I...!. 9I.. + 1c7c 91410020 2c090000 4082ffd8 81210018 .A. ,...@....!.. + 1c8c 7d234b78 38210030 4e800020 9421ffd0 }#Kx8!.0N.. .!.. + 1c9c 90610018 9081001c 90a10020 81210018 .a......... .!.. + 1cac 91210008 8121001c 9121000c 48000024 .!...!...!..H..$ + 1cbc 8141000c 392a0001 9121000c 81210008 .A..9*...!...!.. + 1ccc 39090001 91010008 894a0000 99490000 9........J...I.. + 1cdc 81210020 3949ffff 91410020 2c090000 .!. 9I...A. ,... + 1cec 4082ffd0 81210018 7d234b78 38210030 @....!..}#Kx8!.0 + 1cfc 4e800020 9421ffd0 90610018 9081001c N.. .!...a...... + 1d0c 90a10020 81410018 8121001c 7c0a4840 ... .A...!..|.H@ + 1d1c 41810050 81210018 91210008 8121001c A..P.!...!...!.. + 1d2c 9121000c 48000024 8141000c 392a0001 .!..H..$.A..9*.. + 1d3c 9121000c 81210008 39090001 91010008 .!...!..9....... + 1d4c 894a0000 99490000 81210020 3949ffff .J...I...!. 9I.. + 1d5c 91410020 2c090000 4082ffd0 48000064 .A. ,...@...H..d + 1d6c 81410018 81210020 7d2a4a14 91210008 .A...!. }*J..!.. + 1d7c 8141001c 81210020 7d2a4a14 9121000c .A...!. }*J..!.. + 1d8c 4800002c 8121000c 3929ffff 9121000c H..,.!..9)...!.. + 1d9c 81210008 3929ffff 91210008 8121000c .!..9)...!...!.. + 1dac 89490000 81210008 99490000 81210020 .I...!...I...!. + 1dbc 3949ffff 91410020 2c090000 4082ffc8 9I...A. ,...@... + 1dcc 81210018 7d234b78 38210030 4e800020 .!..}#Kx8!.0N.. + 1ddc 9421ffe0 7c0802a6 90010024 90610018 .!..|......$.a.. + 1dec 9081001c 8061001c 4bfffc51 7c691b78 .....a..K..Q|i.x + 1dfc 9121000c 8121000c 2c090000 4082000c .!...!..,...@... + 1e0c 81210018 48000068 80610018 4bfffc2d .!..H..h.a..K..- + 1e1c 7c691b78 91210008 48000040 81210008 |i.x.!..H..@.!.. + 1e2c 3929ffff 91210008 80a1000c 8081001c 9)...!.......... + 1e3c 80610018 4bfffd65 7c691b78 2c090000 .a..K..e|i.x,... + 1e4c 4082000c 81210018 48000024 81210018 @....!..H..$.!.. + 1e5c 39290001 91210018 81410008 8121000c 9)...!...A...!.. + 1e6c 7c0a4840 4080ffb8 39200000 7d234b78 |.H@@...9 ..}#Kx + 1e7c 80010024 7c0803a6 38210020 4e800020 ...$|...8!. N.. + 1e8c 9421ffd0 90610018 9081001c 90a10020 .!...a......... + 1e9c 81210018 91210008 48000030 8121001c .!...!..H..0.!.. + 1eac 552a063e 81210008 39090001 91010008 U*.>.!..9....... + 1ebc 89290000 7c0a4840 40820010 81210008 .)..|.H@@....!.. + 1ecc 3929ffff 4800001c 81210020 3949ffff 9)..H....!. 9I.. + 1edc 91410020 2c090000 4082ffc4 39200000 .A. ,...@...9 .. + 1eec 7d234b78 38210030 4e800020 9421ffd0 }#Kx8!.0N.. .!.. + 1efc 7c0802a6 90010034 90610018 9081001c |......4.a...... + 1f0c 90a10020 39200000 91210008 81210020 ... 9 ...!...!. + 1f1c 2c090000 4082008c 3920000a 91210020 ,...@...9 ...!. + 1f2c 81210018 89290000 28090030 408200e4 .!...)..(..0@... + 1f3c 39200008 91210020 81210018 39290001 9 ...!. .!..9).. + 1f4c 91210018 81210018 89290000 7d234b78 .!...!...)..}#Kx + 1f5c 4bfff541 7c691b78 28090058 408200b4 K..A|i.x(..X@... + 1f6c 81210018 39290001 89290000 7d2a4b78 .!..9)...)..}*Kx + 1f7c 3d200000 39290904 7d2950ae 71290044 = ..9)..})P.q).D + 1f8c 2c090000 4182008c 81210018 39290001 ,...A....!..9).. + 1f9c 91210018 39200010 91210020 48000074 .!..9 ...!. H..t + 1fac 81210020 2c090010 40820068 81210018 .!. ,...@..h.!.. + 1fbc 89290000 28090030 40820058 81210018 .)..(..0@..X.!.. + 1fcc 39290001 89290000 7d234b78 4bfff4c5 9)...)..}#KxK... + 1fdc 7c691b78 28090058 40820038 81210018 |i.x(..X@..8.!.. + 1fec 39290002 91210018 48000028 81410008 9)...!..H..(.A.. + 1ffc 81210020 7d2a49d6 8141000c 7d2a4a14 .!. }*I..A..}*J. + 200c 91210008 81210018 39290001 91210018 .!...!..9)...!.. + 201c 81210018 89290000 7d2a4b78 3d200000 .!...)..}*Kx= .. + 202c 39290904 7d2950ae 71290044 2c090000 9)..})P.q).D,... + 203c 41820064 81210018 89290000 7d2a4b78 A..d.!...)..}*Kx + 204c 3d200000 39290904 7d2950ae 5529077a = ..9)..})P.U).z + 205c 2c090000 41820014 81210018 89290000 ,...A....!...).. + 206c 3929ffd0 4800001c 81210018 89290000 9)..H....!...).. + 207c 7d234b78 4bfff41d 7c691b78 3929ffc9 }#KxK...|i.x9).. + 208c 9121000c 8141000c 81210020 7c0a4840 .!...A...!. |.H@ + 209c 4180ff5c 8121001c 2c090000 41820010 A..\.!..,...A... + 20ac 8121001c 81410018 91490000 81210008 .!...A...I...!.. + 20bc 7d234b78 80010034 7c0803a6 38210030 }#Kx...4|...8!.0 + 20cc 4e800020 9421ffe0 7c0802a6 90010024 N.. .!..|......$ + 20dc 90610008 9081000c 90a10010 81210008 .a...........!.. + 20ec 89290000 2809002d 4082002c 81210008 .)..(..-@..,.!.. + 20fc 39290001 81410010 7d455378 8081000c 9)...A..}ESx.... + 210c 7d234b78 4bfffde9 7c691b78 7d2900d0 }#KxK...|i.x}).. + 211c 4800001c 81210010 7d254b78 8081000c H....!..}%Kx.... + 212c 80610008 4bfffdc9 7c691b78 7d234b78 .a..K...|i.x}#Kx + 213c 80010024 7c0803a6 38210020 4e800020 ...$|...8!. N.. + 214c 9421ffe0 90610018 39200000 91210008 .!...a..9 ...!.. + 215c 48000030 81210008 1d49000a 81210018 H..0.!...I...!.. + 216c 81290000 38e90001 81010018 90e80000 .)..8........... + 217c 89290000 7d2a4a14 3929ffd0 91210008 .)..}*J.9)...!.. + 218c 81210018 81290000 89290000 7d2a4b78 .!...)...)..}*Kx + 219c 3d200000 39290904 7d2950ae 5529077a = ..9)..})P.U).z + 21ac 2c090000 4082ffb0 81210008 7d234b78 ,...@....!..}#Kx + 21bc 38210020 4e800020 9421ff70 90610068 8!. N.. .!.p.a.h + 21cc 9081006c 90a10070 90c10074 90e10078 ...l...p...t...x + 21dc 9101007c 91210080 81210080 55290672 ...|.!...!..U).r + 21ec 2c090000 41820010 3d200000 39290a10 ,...A...= ..9).. + 21fc 4800000c 3d200000 39290a38 91210010 H...= ..9).8.!.. + 220c 81210080 552906f6 2c090000 41820010 .!..U)..,...A... + 221c 81210080 5529003c 91210080 81210074 .!..U).<.!...!.t + 222c 2c090001 40810010 81210074 2c090024 ,...@....!.t,..$ + 223c 4081000c 39200000 480003fc 81210080 @...9 ..H....!.. + 224c 552907fe 2c090000 4182000c 39200030 U)..,...A...9 .0 + 225c 48000008 39200020 99210014 39200000 H...9 . .!..9 .. + 226c 99210008 81210080 552907bc 2c090000 .!...!..U)..,... + 227c 41820080 81210070 2c090000 40800028 A....!.p,...@..( + 228c 3920002d 99210008 81210070 7d2900d0 9 .-.!...!.p}).. + 229c 91210070 81210078 3929ffff 91210078 .!.p.!.x9)...!.x + 22ac 48000050 81210080 5529077a 2c090000 H..P.!..U).z,... + 22bc 4182001c 3920002b 99210008 81210078 A...9 .+.!...!.x + 22cc 3929ffff 91210078 48000028 81210080 9)...!.xH..(.!.. + 22dc 55290738 2c090000 41820018 39200020 U).8,...A...9 . + 22ec 99210008 81210078 3929ffff 91210078 .!...!.x9)...!.x + 22fc 81210080 552906b4 2c090000 41820038 .!..U)..,...A..8 + 230c 81210074 2c090010 40820014 81210078 .!.t,...@....!.x + 231c 3929fffe 91210078 4800001c 81210074 9)...!.xH....!.t + 232c 2c090008 40820010 81210078 3929ffff ,...@....!.x9).. + 233c 91210078 39200000 9121000c 81210070 .!.x9 ...!...!.p + 234c 2c090000 4082006c 8121000c 39490001 ,...@..l.!..9I.. + 235c 9141000c 39410008 7d2a4a14 39400030 .A..9A..}*J.9@.0 + 236c 99490010 48000058 81410074 81210070 .I..H..X.A.t.!.p + 237c 7d095396 7d4851d6 7d2a4850 81410010 }.S.}HQ.}*HP.A.. + 238c 7d4a4a14 8121000c 39090001 9101000c }JJ..!..9....... + 239c 894a0000 39010008 7d284a14 99490010 .J..9...}(J..I.. + 23ac 81210074 81410070 7d2a4b96 91210070 .!.t.A.p}*K..!.p + 23bc 81210070 2c090000 4082ffb0 8141000c .!.p,...@....A.. + 23cc 8121007c 7c0a4800 4081000c 8121000c .!.||.H.@....!.. + 23dc 9121007c 81410078 8121007c 7d295050 .!.|.A.x.!.|})PP + 23ec 91210078 81210080 71290011 2c090000 .!.x.!..q)..,... + 23fc 40820044 4800002c 81410068 8121006c @..DH..,.A.h.!.l + 240c 7c0a4840 40800010 81210068 39400020 |.H@@....!.h9@. + 241c 99490000 81210068 39290001 91210068 .I...!.h9)...!.h + 242c 81210078 3949ffff 91410078 2c090000 .!.x9I...A.x,... + 243c 4181ffc8 89210008 2c090000 4182002c A....!..,...A.., + 244c 81410068 8121006c 7c0a4840 40800010 .A.h.!.l|.H@@... + 245c 81210068 89410008 99490000 81210068 .!.h.A...I...!.h + 246c 39290001 91210068 81210080 552906b4 9)...!.h.!..U).. + 247c 2c090000 4182009c 81210074 2c090008 ,...A....!.t,... + 248c 40820030 81410068 8121006c 7c0a4840 @..0.A.h.!.l|.H@ + 249c 40800010 81210068 39400030 99490000 @....!.h9@.0.I.. + 24ac 81210068 39290001 91210068 48000064 .!.h9)...!.hH..d + 24bc 81210074 2c090010 40820058 81410068 .!.t,...@..X.A.h + 24cc 8121006c 7c0a4840 40800010 81210068 .!.l|.H@@....!.h + 24dc 39400030 99490000 81210068 39290001 9@.0.I...!.h9).. + 24ec 91210068 81410068 8121006c 7c0a4840 .!.h.A.h.!.l|.H@ + 24fc 40800014 81210010 89490021 81210068 @....!...I.!.!.h + 250c 99490000 81210068 39290001 91210068 .I...!.h9)...!.h + 251c 81210080 552906f6 2c090000 40820070 .!..U)..,...@..p + 252c 4800002c 81410068 8121006c 7c0a4840 H..,.A.h.!.l|.H@ + 253c 40800010 81210068 89410014 99490000 @....!.h.A...I.. + 254c 81210068 39290001 91210068 81210078 .!.h9)...!.h.!.x + 255c 3949ffff 91410078 2c090000 4181ffc8 9I...A.x,...A... + 256c 4800002c 81410068 8121006c 7c0a4840 H..,.A.h.!.l|.H@ + 257c 40800010 81210068 39400030 99490000 @....!.h9@.0.I.. + 258c 81210068 39290001 91210068 8121007c .!.h9)...!.h.!.| + 259c 3949ffff 9141007c 8141000c 7c0a4800 9I...A.|.A..|.H. + 25ac 4180ffc4 48000038 81410068 8121006c A...H..8.A.h.!.l + 25bc 7c0a4840 4080001c 39410018 8121000c |.H@@...9A...!.. + 25cc 7d2a4a14 89490000 81210068 99490000 }*J..I...!.h.I.. + 25dc 81210068 39290001 91210068 8121000c .!.h9)...!.h.!.. + 25ec 3949ffff 9141000c 2c090000 4181ffbc 9I...A..,...A... + 25fc 4800002c 81410068 8121006c 7c0a4840 H..,.A.h.!.l|.H@ + 260c 40800010 81210068 39400020 99490000 @....!.h9@. .I.. + 261c 81210068 39290001 91210068 81210078 .!.h9)...!.h.!.x + 262c 3949ffff 91410078 2c090000 4181ffc8 9I...A.x,...A... + 263c 81210068 7d234b78 38210090 4e800020 .!.h}#Kx8!..N.. + 264c 9421ffd0 7c0802a6 90010034 90610018 .!..|......4.a.. + 265c 9081001c 90a10020 90c10024 80c10024 ....... ...$...$ + 266c 80a10020 8081001c 80610018 4800044d ... .....a..H..M + 267c 7c691b78 91210008 81410008 8121001c |i.x.!...A...!.. + 268c 7c0a4840 41800010 8121001c 3929ffff |.H@A....!..9).. + 269c 48000008 81210008 7d234b78 80010034 H....!..}#Kx...4 + 26ac 7c0803a6 38210030 4e800020 9421ff80 |...8!.0N.. .!.. + 26bc 7c0802a6 90010084 90610018 9081001c |........a...... + 26cc 90a10020 90c1002c 90e10030 91010034 ... ...,...0...4 + 26dc 91210038 9141003c 40860024 d8210040 .!.8.A.<@..$.!.@ + 26ec d8410048 d8610050 d8810058 d8a10060 .A.H.a.P...X...` + 26fc d8c10068 d8e10070 d9010078 39200003 ...h...p...x9 .. + 270c 9921000c 39200000 9921000d 39210088 .!..9 ...!..9!.. + 271c 91210010 39210020 91210014 3921000c .!..9!. .!..9!.. + 272c 7d264b78 80a10020 8081001c 80610018 }&Kx... .....a.. + 273c 48000389 7c691b78 91210008 81210008 H...|i.x.!...!.. + 274c 7d234b78 80010084 7c0803a6 38210080 }#Kx....|...8!.. + 275c 4e800020 9421ff80 7c0802a6 90010084 N.. .!..|....... + 276c 90610018 9081001c 90a10020 90c1002c .a......... ..., + 277c 90e10030 91010034 91210038 9141003c ...0...4.!.8.A.< + 278c 40860024 d8210040 d8410048 d8610050 @..$.!.@.A.H.a.P + 279c d8810058 d8a10060 d8c10068 d8e10070 ...X...`...h...p + 27ac d9010078 39200003 9921000c 39200000 ...x9 ...!..9 .. + 27bc 9921000d 39210088 91210010 39210020 .!..9!...!..9!. + 27cc 91210014 3921000c 7d264b78 80a10020 .!..9!..}&Kx... + 27dc 8081001c 80610018 480002e1 7c691b78 .....a..H...|i.x + 27ec 91210008 81410008 8121001c 7c0a4840 .!...A...!..|.H@ + 27fc 41800010 8121001c 3929ffff 48000008 A....!..9)..H... + 280c 81210008 7d234b78 80010084 7c0803a6 .!..}#Kx....|... + 281c 38210080 4e800020 9421ffe0 7c0802a6 8!..N.. .!..|... + 282c 90010024 90610008 9081000c 90a10010 ...$.a.......... + 283c 80c10010 80a1000c 3d207fff 6124ffff ........= ..a$.. + 284c 80610008 48000275 7c691b78 7d234b78 .a..H..u|i.x}#Kx + 285c 80010024 7c0803a6 38210020 4e800020 ...$|...8!. N.. + 286c 9421ff80 7c0802a6 90010084 90610018 .!..|........a.. + 287c 9081001c 90a10020 90c10024 90e10028 ....... ...$...( + 288c 9101002c 91210030 91410034 40860024 ...,.!.0.A.4@..$ + 289c d8210038 d8410040 d8610048 d8810050 .!.8.A.@.a.H...P + 28ac d8a10058 d8c10060 d8e10068 d9010070 ...X...`...h...p + 28bc 39200002 9921000c 39200000 9921000d 9 ...!..9 ...!.. + 28cc 39210088 91210010 39210018 91210014 9!...!..9!...!.. + 28dc 3921000c 7d264b78 80a1001c 3d207fff 9!..}&Kx....= .. + 28ec 6124ffff 80610018 480001d1 7c691b78 a$...a..H...|i.x + 28fc 91210008 81210008 7d234b78 80010084 .!...!..}#Kx.... + 290c 7c0803a6 38210080 4e800020 3d200002 |...8!..N.. = .. + 291c 8129e014 1d290081 3d293619 394962e9 .)...)..=)6.9Ib. + 292c 3d200002 9149e014 3d200002 8129e014 = ...I..= ...).. + 293c 7d234b78 4e800020 9421fff0 90610008 }#KxN.. .!...a.. + 294c 3d200002 81410008 9149e014 60000000 = ...A...I..`... + 295c 38210010 4e800020 9421fff0 7c0802a6 8!..N.. .!..|... + 296c 90010014 3d200000 38690a04 4cc63182 ....= ..8i..L.1. + 297c 4800111d 48000000 9421ffe0 7c0802a6 H...H....!..|... + 298c 90010024 90610018 39200001 91210008 ...$.a..9 ...!.. + 299c 89210008 2c090000 41820014 80610018 .!..,...A....a.. + 29ac 4bffeb75 7c691b78 48000008 81210018 K..u|i.xH....!.. + 29bc 7d234b78 80010024 7c0803a6 38210020 }#Kx...$|...8!. + 29cc 4e800020 9421ffe0 7c0802a6 90010024 N.. .!..|......$ + 29dc 7c691b78 b1210018 39200001 91210008 |i.x.!..9 ...!.. + 29ec 89210008 2c090000 41820018 a1210018 .!..,...A....!.. + 29fc 7d234b78 4bffeae1 7c691b78 48000008 }#KxK...|i.xH... + 2a0c a1210018 7d234b78 80010024 7c0803a6 .!..}#Kx...$|... + 2a1c 38210020 4e800020 9421ffe0 7c0802a6 8!. N.. .!..|... + 2a2c 90010024 90610018 39200001 91210008 ...$.a..9 ...!.. + 2a3c 89210008 2c090000 41820014 80610018 .!..,...A....a.. + 2a4c 4bffead5 7c691b78 48000008 81210018 K...|i.xH....!.. + 2a5c 7d234b78 80010024 7c0803a6 38210020 }#Kx...$|...8!. + 2a6c 4e800020 9421ffe0 7c0802a6 90010024 N.. .!..|......$ + 2a7c 7c691b78 b1210018 39200001 91210008 |i.x.!..9 ...!.. + 2a8c 89210008 2c090000 41820018 a1210018 .!..,...A....!.. + 2a9c 7d234b78 4bffea41 7c691b78 48000008 }#KxK..A|i.xH... + 2aac a1210018 7d234b78 80010024 7c0803a6 .!..}#Kx...$|... + 2abc 38210020 4e800020 9421ffa0 7c0802a6 8!. N.. .!..|... + 2acc 90010064 90610048 9081004c 90a10050 ...d.a.H...L...P + 2adc 90c10054 8121004c 2c090000 4080000c ...T.!.L,...@... + 2aec 39200000 48000d3c 81210048 91210018 9 ..H..<.!.H.!.. + 2afc 81410048 8121004c 7d2a4a14 9121001c .A.H.!.L}*J..!.. + 2b0c 8141001c 81210048 7c0a4840 40800cbc .A...!.H|.H@@... + 2b1c 3920ffff 9121001c 8141001c 81210048 9 ...!...A...!.H + 2b2c 7d295050 9121004c 48000ca0 81210050 })PP.!.LH....!.P + 2b3c 89290000 28090025 41820034 81410018 .)..(..%A..4.A.. + 2b4c 8121001c 7c0a4840 40800014 81210050 .!..|.H@@....!.P + 2b5c 89490000 81210018 99490000 81210018 .I...!...I...!.. + 2b6c 39290001 91210018 48000c54 39200000 9)...!..H..T9 .. + 2b7c 91210024 81210050 39290001 91210050 .!.$.!.P9)...!.P + 2b8c 81210050 89290000 3929ffe0 28090010 .!.P.)..9)..(... + 2b9c 4181007c 552a103a 3d200000 39290a68 A..|U*.:= ..9).h + 2bac 7d2a4a14 81490000 3d200000 39290a68 }*J..I..= ..9).h + 2bbc 7d2a4a14 7d2903a6 4e800420 81210024 }*J.})..N.. .!.$ + 2bcc 61290010 91210024 4bffffac 81210024 a)...!.$K....!.$ + 2bdc 61290004 91210024 4bffff9c 81210024 a)...!.$K....!.$ + 2bec 61290008 91210024 4bffff8c 81210024 a)...!.$K....!.$ + 2bfc 61290020 91210024 4bffff7c 81210024 a). .!.$K..|.!.$ + 2c0c 61290001 91210024 4bffff6c 3920ffff a)...!.$K..l9 .. + 2c1c 91210028 81210050 89290000 7d2a4b78 .!.(.!.P.)..}*Kx + 2c2c 3d200000 39290904 7d2950ae 5529077a = ..9)..})P.U).z + 2c3c 2c090000 4182001c 39210050 7d234b78 ,...A...9!.P}#Kx + 2c4c 4bfff501 7c691b78 91210028 4800009c K...|i.x.!.(H... + 2c5c 81210050 89290000 2809002a 4082008c .!.P.)..(..*@... + 2c6c 81210050 39290001 91210050 81210054 .!.P9)...!.P.!.T + 2c7c 89290000 28090007 41810030 81210054 .)..(...A..0.!.T + 2c8c 81490008 81210054 89290000 39090001 .I...!.T.)..9... + 2c9c 5507063e 81010054 98e80000 5529103a U..>...T....U).: + 2cac 7d2a4a14 48000018 81210054 81290004 }*J.H....!.T.).. + 2cbc 39090004 81410054 910a0004 81290000 9....A.T.....).. + 2ccc 91210028 81210028 2c090000 4080001c .!.(.!.(,...@... + 2cdc 81210028 7d2900d0 91210028 81210024 .!.(})...!.(.!.$ + 2cec 61290010 91210024 3920ffff 9121002c a)...!.$9 ...!., + 2cfc 81210050 89290000 2809002e 408200d4 .!.P.)..(...@... + 2d0c 81210050 39290001 91210050 81210050 .!.P9)...!.P.!.P + 2d1c 89290000 7d2a4b78 3d200000 39290904 .)..}*Kx= ..9).. + 2d2c 7d2950ae 5529077a 2c090000 4182001c })P.U).z,...A... + 2d3c 39210050 7d234b78 4bfff409 7c691b78 9!.P}#KxK...|i.x + 2d4c 9121002c 48000078 81210050 89290000 .!.,H..x.!.P.).. + 2d5c 2809002a 40820068 81210050 39290001 (..*@..h.!.P9).. + 2d6c 91210050 81210054 89290000 28090007 .!.P.!.T.)..(... + 2d7c 41810030 81210054 81490008 81210054 A..0.!.T.I...!.T + 2d8c 89290000 39090001 5507063e 81010054 .)..9...U..>...T + 2d9c 98e80000 5529103a 7d2a4a14 48000018 ....U).:}*J.H... + 2dac 81210054 81290004 39090004 81410054 .!.T.)..9....A.T + 2dbc 910a0004 81290000 9121002c 8121002c .....)...!.,.!., + 2dcc 2c090000 4080000c 39200000 9121002c ,...@...9 ...!., + 2ddc 3920ffff 91210030 81210050 89290000 9 ...!.0.!.P.).. + 2dec 28090068 41820054 81210050 89290000 (..hA..T.!.P.).. + 2dfc 2809006c 41820044 81210050 89290000 (..lA..D.!.P.).. + 2e0c 2809004c 41820034 81210050 89290000 (..LA..4.!.P.).. + 2e1c 2809005a 41820024 81210050 89290000 (..ZA..$.!.P.).. + 2e2c 2809007a 41820014 81210050 89290000 (..zA....!.P.).. + 2e3c 28090074 4082004c 81210050 89290000 (..t@..L.!.P.).. + 2e4c 91210030 81210050 39290001 91210050 .!.0.!.P9)...!.P + 2e5c 81210030 2c09006c 40820028 81210050 .!.0,..l@..(.!.P + 2e6c 89290000 2809006c 40820018 3920004c .)..(..l@...9 .L + 2e7c 91210030 81210050 39290001 91210050 .!.0.!.P9)...!.P + 2e8c 3920000a 91210014 81210050 89290000 9 ...!...!.P.).. + 2e9c 3929ffdb 28090053 41810550 552a103a 9)..(..SA..PU*.: + 2eac 3d200000 39290aac 7d2a4a14 81490000 = ..9)..}*J..I.. + 2ebc 3d200000 39290aac 7d2a4a14 7d2903a6 = ..9)..}*J.}).. + 2ecc 4e800420 81210024 552906f6 2c090000 N.. .!.$U)..,... + 2edc 40820048 4800002c 81410018 8121001c @..HH..,.A...!.. + 2eec 7c0a4840 40800010 81210018 39400020 |.H@@....!..9@. + 2efc 99490000 81210018 39290001 91210018 .I...!..9)...!.. + 2f0c 81210028 3929ffff 91210028 81210028 .!.(9)...!.(.!.( + 2f1c 2c090000 4181ffc4 81210054 89290000 ,...A....!.T.).. + 2f2c 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 2f3c 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 2f4c 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 2f5c 48000018 81210054 81290004 39090004 H....!.T.)..9... + 2f6c 81410054 910a0004 81290000 99210044 .A.T.....)...!.D + 2f7c 81410018 8121001c 7c0a4840 40800010 .A...!..|.H@@... + 2f8c 81210018 89410044 99490000 81210018 .!...A.D.I...!.. + 2f9c 39290001 91210018 4800002c 81410018 9)...!..H..,.A.. + 2fac 8121001c 7c0a4840 40800010 81210018 .!..|.H@@....!.. + 2fbc 39400020 99490000 81210018 39290001 9@. .I...!..9).. + 2fcc 91210018 81210028 3929ffff 91210028 .!...!.(9)...!.( + 2fdc 81210028 2c090000 4181ffc4 480007e0 .!.(,...A...H... + 2fec 81210054 89290000 28090007 41810030 .!.T.)..(...A..0 + 2ffc 81210054 81490008 81210054 89290000 .!.T.I...!.T.).. + 300c 39090001 5507063e 81010054 98e80000 9...U..>...T.... + 301c 5529103a 7d2a4a14 48000018 81210054 U).:}*J.H....!.T + 302c 81290004 39090004 81410054 910a0004 .)..9....A.T.... + 303c 81290000 91210020 81210020 2c090000 .)...!. .!. ,... + 304c 40820010 3d200000 39290a60 91210020 @...= ..9).`.!. + 305c 8121002c 7d244b78 80610020 4bffea25 .!.,}$Kx.a. K..% + 306c 7c691b78 91210034 81210024 552906f6 |i.x.!.4.!.$U).. + 307c 2c090000 40820048 4800002c 81410018 ,...@..HH..,.A.. + 308c 8121001c 7c0a4840 40800010 81210018 .!..|.H@@....!.. + 309c 39400020 99490000 81210018 39290001 9@. .I...!..9).. + 30ac 91210018 81210028 3949ffff 91410028 .!...!.(9I...A.( + 30bc 81410034 7c0a4800 4180ffc4 39200000 .A.4|.H.A...9 .. + 30cc 91210010 48000048 81410018 8121001c .!..H..H.A...!.. + 30dc 7c0a4840 40800014 81210020 89490000 |.H@@....!. .I.. + 30ec 81210018 99490000 81210018 39290001 .!...I...!..9).. + 30fc 91210018 81210020 39290001 91210020 .!...!. 9)...!. + 310c 81210010 39290001 91210010 81410010 .!..9)...!...A.. + 311c 81210034 7c0a4800 4180ffb0 4800002c .!.4|.H.A...H.., + 312c 81410018 8121001c 7c0a4840 40800010 .A...!..|.H@@... + 313c 81210018 39400020 99490000 81210018 .!..9@. .I...!.. + 314c 39290001 91210018 81210028 3949ffff 9)...!...!.(9I.. + 315c 91410028 81410034 7c0a4800 4180ffc4 .A.(.A.4|.H.A... + 316c 4800065c 81410028 3920ffff 7c0a4800 H..\.A.(9 ..|.H. + 317c 40820018 39200008 91210028 81210024 @...9 ...!.(.!.$ + 318c 61290021 91210024 81210054 89290000 a).!.!.$.!.T.).. + 319c 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 31ac 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 31bc 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 31cc 48000018 81210054 81290004 39090004 H....!.T.)..9... + 31dc 81410054 910a0004 81290000 7d2a4b78 .A.T.....)..}*Kx + 31ec 81210024 8101002c 80e10028 38c00010 .!.$...,...(8... + 31fc 7d455378 8081001c 80610018 4bffefbd }ESx.....a..K... + 320c 7c691b78 91210018 480005b4 81210030 |i.x.!..H....!.0 + 321c 2c09006c 40820074 81210054 89290000 ,..l@..t.!.T.).. + 322c 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 323c 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 324c 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 325c 48000018 81210054 81290004 39090004 H....!.T.)..9... + 326c 81410054 910a0004 81290000 91210040 .A.T.....)...!.@ + 327c 81410018 81210048 7d495050 81210040 .A...!.H}IPP.!.@ + 328c 91490000 48000538 81210030 2c09005a .I..H..8.!.0,..Z + 329c 41820010 81210030 2c09007a 4082007c A....!.0,..z@..| + 32ac 81210054 89290000 28090007 41810030 .!.T.)..(...A..0 + 32bc 81210054 81490008 81210054 89290000 .!.T.I...!.T.).. + 32cc 39090001 5507063e 81010054 98e80000 9...U..>...T.... + 32dc 5529103a 7d2a4a14 48000018 81210054 U).:}*J.H....!.T + 32ec 81290004 39090004 81410054 910a0004 .)..9....A.T.... + 32fc 81290000 9121003c 81410018 81210048 .)...!.<.A...!.H + 330c 7d295050 7d2a4b78 8121003c 91490000 })PP}*Kx.!.<.I.. + 331c 60000000 480004a8 81210054 89290000 `...H....!.T.).. + 332c 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 333c 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 334c 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 335c 48000018 81210054 81290004 39090004 H....!.T.)..9... + 336c 81410054 910a0004 81290000 91210038 .A.T.....)...!.8 + 337c 81410018 81210048 7d495050 81210038 .A...!.H}IPP.!.8 + 338c 91490000 48000438 81410018 8121001c .I..H..8.A...!.. + 339c 7c0a4840 40800010 81210018 39400025 |.H@@....!..9@.% + 33ac 99490000 81210018 39290001 91210018 .I...!..9)...!.. + 33bc 4800040c 39200008 91210014 480000a8 H...9 ...!..H... + 33cc 81210024 61290040 91210024 39200010 .!.$a).@.!.$9 .. + 33dc 91210014 48000090 81210024 61290002 .!..H....!.$a).. + 33ec 91210024 4800007c 81410018 8121001c .!.$H..|.A...!.. + 33fc 7c0a4840 40800010 81210018 39400025 |.H@@....!..9@.% + 340c 99490000 81210018 39290001 91210018 .I...!..9)...!.. + 341c 81210050 89290000 2c090000 41820034 .!.P.)..,...A..4 + 342c 81410018 8121001c 7c0a4840 40800014 .A...!..|.H@@... + 343c 81210050 89490000 81210018 99490000 .!.P.I...!...I.. + 344c 81210018 39290001 91210018 48000370 .!..9)...!..H..p + 345c 81210050 3929ffff 91210050 48000360 .!.P9)...!.PH..` + 346c 60000000 81210030 2c09004c 40820090 `....!.0,..L@... + 347c 81210054 89290000 81410054 894a0000 .!.T.)...A.T.J.. + 348c 554a07fe 554a063e 7d4a4a14 5548063e UJ..UJ.>}JJ.UH.> + 349c 81410054 990a0000 28090006 41810030 .A.T....(...A..0 + 34ac 81210054 81490008 81210054 89290000 .!.T.I...!.T.).. + 34bc 39090002 5507063e 81010054 98e80000 9...U..>...T.... + 34cc 5529103a 7d2a4a14 48000020 81210054 U).:}*J.H.. .!.T + 34dc 81290004 39290007 55290038 39090008 .)..9)..U).89... + 34ec 81410054 910a0004 81490000 81690004 .A.T.....I...i.. + 34fc 91410008 9161000c 48000298 81210030 .A...a..H....!.0 + 350c 2c09006c 40820088 81210054 89290000 ,..l@....!.T.).. + 351c 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 352c 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 353c 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 354c 48000018 81210054 81290004 39090004 H....!.T.)..9... + 355c 81410054 910a0004 81290000 9121000c .A.T.....)...!.. + 356c 39200000 91210008 81210024 552907bc 9 ...!...!.$U).. + 357c 2c090000 4182021c 8121000c 9121000c ,...A....!...!.. + 358c 7d29fe70 91210008 48000208 81210030 }).p.!..H....!.0 + 359c 2c09005a 41820010 81210030 2c09007a ,..ZA....!.0,..z + 35ac 40820068 81210054 89290000 28090007 @..h.!.T.)..(... + 35bc 41810030 81210054 81490008 81210054 A..0.!.T.I...!.T + 35cc 89290000 39090001 5507063e 81010054 .)..9...U..>...T + 35dc 98e80000 5529103a 7d2a4a14 48000018 ....U).:}*J.H... + 35ec 81210054 81290004 39090004 81410054 .!.T.)..9....A.T + 35fc 910a0004 81290000 9121000c 39200000 .....)...!..9 .. + 360c 91210008 4800018c 81210030 2c090074 .!..H....!.0,..t + 361c 40820068 81210054 89290000 28090007 @..h.!.T.)..(... + 362c 41810030 81210054 81490008 81210054 A..0.!.T.I...!.T + 363c 89290000 39090001 5507063e 81010054 .)..9...U..>...T + 364c 98e80000 5529103a 7d2a4a14 48000018 ....U).:}*J.H... + 365c 81210054 81290004 39090004 81410054 .!.T.)..9....A.T + 366c 910a0004 81290000 9121000c 7d29fe70 .....)...!..}).p + 367c 91210008 4800011c 81210030 2c090068 .!..H....!.0,..h + 368c 40820090 81210054 89290000 28090007 @....!.T.)..(... + 369c 41810030 81210054 81490008 81210054 A..0.!.T.I...!.T + 36ac 89290000 39090001 5507063e 81010054 .)..9...U..>...T + 36bc 98e80000 5529103a 7d2a4a14 48000018 ....U).:}*J.H... + 36cc 81210054 81290004 39090004 81410054 .!.T.)..9....A.T + 36dc 910a0004 81290000 5529043e 9121000c .....)..U).>.!.. + 36ec 39200000 91210008 81210024 552907bc 9 ...!...!.$U).. + 36fc 2c090000 4182009c a121000e 7d290734 ,...A....!..}).4 + 370c 9121000c 7d29fe70 91210008 48000084 .!..}).p.!..H... + 371c 81210054 89290000 28090007 41810030 .!.T.)..(...A..0 + 372c 81210054 81490008 81210054 89290000 .!.T.I...!.T.).. + 373c 39090001 5507063e 81010054 98e80000 9...U..>...T.... + 374c 5529103a 7d2a4a14 48000018 81210054 U).:}*J.H....!.T + 375c 81290004 39090004 81410054 910a0004 .)..9....A.T.... + 376c 81290000 9121000c 39200000 91210008 .)...!..9 ...!.. + 377c 81210024 552907bc 2c090000 41820014 .!.$U)..,...A... + 378c 8121000c 9121000c 7d29fe70 91210008 .!...!..}).p.!.. + 379c 8141000c 81210024 8101002c 80e10028 .A...!.$...,...( + 37ac 80c10014 7d455378 8081001c 80610018 ....}ESx.....a.. + 37bc 4bffea09 7c691b78 91210018 81210050 K...|i.x.!...!.P + 37cc 39290001 91210050 81210050 89290000 9)...!.P.!.P.).. + 37dc 2c090000 4082f358 8121004c 2c090000 ,...@..X.!.L,... + 37ec 41820034 81410018 8121001c 7c0a4840 A..4.A...!..|.H@ + 37fc 40800014 81210018 39400000 99490000 @....!..9@...I.. + 380c 48000014 8121001c 3929ffff 39400000 H....!..9)..9@.. + 381c 99490000 81410018 81210048 7d295050 .I...A...!.H})PP + 382c 7d234b78 80010064 7c0803a6 38210060 }#Kx...d|...8!.` + 383c 4e800020 9421fff0 90610008 3d200002 N.. .!...a..= .. + 384c 81410008 9149e018 60000000 38210010 .A...I..`...8!.. + 385c 4e800020 9421fff0 90610008 9081000c N.. .!...a...... + 386c 3d200002 81410008 9149e01c 3d200002 = ...A...I..= .. + 387c 8141000c 9149e020 60000000 38210010 .A...I. `...8!.. + 388c 4e800020 9421fff0 7c0802a6 90010014 N.. .!..|....... + 389c 90610008 3d200002 8129e018 2c090000 .a..= ...)..,... + 38ac 41820020 3d200002 8129e018 81410008 A.. = ...)...A.. + 38bc 554a063e 7d435378 7d2903a6 4e800421 UJ.>}CSx})..N..! + 38cc 81210008 7d234b78 80010014 7c0803a6 .!..}#Kx....|... + 38dc 38210010 4e800020 9421fff0 7c0802a6 8!..N.. .!..|... + 38ec 90010014 3d200002 8129e020 2c090000 ....= ...). ,... + 38fc 4182fff4 3d200002 8129e020 7d2903a6 A...= ...). }).. + 390c 4e800421 7c691b78 2c090000 4182ffd8 N..!|i.x,...A... + 391c 3d200002 8129e01c 7d2903a6 4e800421 = ...)..})..N..! + 392c 7c691b78 7d234b78 80010014 7c0803a6 |i.x}#Kx....|... + 393c 38210010 4e800020 9421fff0 7c0802a6 8!..N.. .!..|... + 394c 90010014 3d200002 8129e020 2c090000 ....= ...). ,... + 395c 41820028 3d200002 8129e020 7d2903a6 A..(= ...). }).. + 396c 4e800421 7c691b78 2c090000 4182000c N..!|i.x,...A... + 397c 39200001 48000008 39200000 7d234b78 9 ..H...9 ..}#Kx + 398c 80010014 7c0803a6 38210010 4e800020 ....|...8!..N.. + 399c 9421fff0 7c0802a6 90010014 90610008 .!..|........a.. + 39ac 80610008 48000025 3860000a 4bfffed9 .a..H..%8`..K... + 39bc 39200001 7d234b78 80010014 7c0803a6 9 ..}#Kx....|... + 39cc 38210010 4e800020 9421fff0 7c0802a6 8!..N.. .!..|... + 39dc 90010014 90610008 48000020 81210008 .....a..H.. .!.. + 39ec 89290000 7d234b78 4bfffe9d 81210008 .)..}#KxK....!.. + 39fc 39290001 91210008 81210008 89290000 9)...!...!...).. + 3a0c 2c090000 4082ffd8 60000000 60000000 ,...@...`...`... + 3a1c 80010014 7c0803a6 38210010 4e800020 ....|...8!..N.. + 3a2c 9421fee0 7c0802a6 90010124 90610118 .!..|......$.a.. + 3a3c 9081011c 3921000c 80c1011c 80a10118 ....9!.......... + 3a4c 38800100 7d234b78 4bffebf9 7c691b78 8...}#KxK...|i.x + 3a5c 91210008 3941000c 81210008 7d2a4a14 .!..9A...!..}*J. + 3a6c 39400000 99490000 3921000c 7d234b78 9@...I..9!..}#Kx + 3a7c 4bffff59 81210008 7d234b78 80010124 K..Y.!..}#Kx...$ + 3a8c 7c0803a6 38210120 4e800020 9421ff80 |...8!. N.. .!.. + 3a9c 7c0802a6 90010084 90610018 90810024 |........a.....$ + 3aac 90a10028 90c1002c 90e10030 91010034 ...(...,...0...4 + 3abc 91210038 9141003c 40860024 d8210040 .!.8.A.<@..$.!.@ + 3acc d8410048 d8610050 d8810058 d8a10060 .A.H.a.P...X...` + 3adc d8c10068 d8e10070 d9010078 39200001 ...h...p...x9 .. + 3aec 9921000c 39200000 9921000d 39210088 .!..9 ...!..9!.. + 3afc 91210010 39210020 91210014 3921000c .!..9!. .!..9!.. + 3b0c 7d244b78 80610018 4bffff19 7c691b78 }$Kx.a..K...|i.x + 3b1c 91210008 81210008 7d234b78 80010084 .!...!..}#Kx.... + 3b2c 7c0803a6 38210080 4e800020 |...8!..N.. diff --git a/dev/src/test3_smt/test3 b/dev/src/test3_smt/test3 new file mode 120000 index 0000000..451e7de --- /dev/null +++ b/dev/src/test3_smt/test3 @@ -0,0 +1 @@ +../../sim/mem/test3 \ No newline at end of file diff --git a/dev/src/test3_soc/arcitst.h b/dev/src/test3_soc/arcitst.h new file mode 100755 index 0000000..6e95460 --- /dev/null +++ b/dev/src/test3_soc/arcitst.h @@ -0,0 +1,297 @@ +# asmtst.tpl +# powerpc-linux-gnu-as -c arcitst.s + +.include "defines.s" + +# ------------------------------------------------------------------------------------------------- +# c-accessible + +.global init_tst +.global tst_start +.global tst_end +.global tst_inits +.global tst_results +.global tst_expects + +# ------------------------------------------------------------------------------------------------- +tst_misc: + +tst_info: .asciz "info text" +tst_header: .asciz "header text" + +.set SAVESPR,sprg3 +.set MAGIC,0x8675309 + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_inits: + +init_r0: .int 0x5EA9536C +init_r1: .int 0x07EC9BA7 +init_r2: .int 0xFFFFFFFF +init_r3: .int 0x18FAD811 +init_r4: .int 0xFFFFFFFF +init_r5: .int 0xFFFFFFFF +init_r6: .int 0xFFFFFFFF +init_r7: .int 0xFFFFFFFF +init_r8: .int 0xFFFFFFFF +init_r9: .int 0xFFFFFFFF +init_r10: .int 0xB186394A +init_r11: .int 0x07EC9BA7 +init_r12: .int 0xFFFFFFFF +init_r13: .int 0xFC9D07CE +init_r14: .int 0x7305868F +init_r15: .int 0xFFFFFFFF +init_r16: .int 0xFFFFFFFF +init_r17: .int 0x6E078D56 +init_r18: .int 0xFFFFFFFF +init_r19: .int 0xFFFFFFFF +init_r20: .int 0x0F8F2BB1 +init_r21: .int 0xFFFFFFFF +init_r22: .int 0xFFFFFFFF +init_r23: .int 0x9E47F6C0 +init_r24: .int 0x46B0FC81 +init_r25: .int 0xFFFFFFFF +init_r26: .int 0xFFFFFFFF +init_r27: .int 0x48026438 +init_r28: .int 0xEFB046E4 +init_r29: .int 0x4B5CBE25 +init_r30: .int 0xFFFFFFFF +init_r31: .int 0xFFFFFFFF + +init_cr: .int 0xB0215BC8 +init_xer: .int 0xBFC0004B +init_ctr: .int 0xF7DA2C8A +init_lr: .int 0x8BC7C22B +init_tar: .int 0xFFFFFFFF +init_msr: .int 0x00001081 + +init_iar: .int 0x00010000 + +save_r1: .int 0 + +codelen: .int 13 +ops: .int 0x36E86A7F,0x10748A7F,0x71AE9D7E,0x1C865B55,0xF45EAA7D,0x2000154D,0x50E01B7C,0x4933037B,0x00082B7D,0x36B8317C,0x00000060,0x00000060,0x00000060 +iars: .int 0x00010000,0x00010004,0x00010008,0x0001000C,0x00010010,0x00010014,0x00010018,0x0001001C,0x00010020,0x00010024,0x00010028,0x0001002C,0x00010030 + +# ------------------------------------------------------------------------------------------------- +# r3=@tst_inits +.align 5 +init_tst: + +# save c stuff + stw r1,(save_r1-tst_inits)(r3) + +# copy ops +opcopy: + lwz r1,(codelen-tst_inits)(r3) + mtctr r1 +opcopy_loop: + la r1,(cops-tst_inits)(r3) + la r2,(iars-tst_inits)(r3) + stw r1,0(r2) + addi r2,r2,4 + bdnz opcopy_loop + +# init test regs +init_regs: + lwz r1,(init_cr-tst_inits)(r3) + mtcr r1 + lwz r1,(init_xer-tst_inits)(r3) + mtxer r1 + lwz r1,(init_ctr-tst_inits)(r3) + mtctr r1 + lwz r1,(init_lr-tst_inits)(r3) + mtlr r1 + lwz r1,(init_tar-tst_inits)(r3) + mtspr tar,r1 + + lwz r0,(init_r0-tst_inits)(r3) + lwz r1,(init_r1-tst_inits)(r3) + lwz r2,(init_r2-tst_inits)(r3) + lwz r4,(init_r4-tst_inits)(r3) + lwz r5,(init_r5-tst_inits)(r3) + lwz r6,(init_r6-tst_inits)(r3) + lwz r7,(init_r7-tst_inits)(r3) + lwz r8,(init_r8-tst_inits)(r3) + lwz r9,(init_r9-tst_inits)(r3) + lwz r10,(init_r10-tst_inits)(r3) + lwz r11,(init_r11-tst_inits)(r3) + lwz r12,(init_r12-tst_inits)(r3) + lwz r13,(init_r13-tst_inits)(r3) + lwz r14,(init_r14-tst_inits)(r3) + lwz r15,(init_r15-tst_inits)(r3) + lwz r16,(init_r16-tst_inits)(r3) + lwz r17,(init_r17-tst_inits)(r3) + lwz r18,(init_r18-tst_inits)(r3) + lwz r19,(init_r19-tst_inits)(r3) + lwz r20,(init_r20-tst_inits)(r3) + lwz r21,(init_r21-tst_inits)(r3) + lwz r22,(init_r22-tst_inits)(r3) + lwz r23,(init_r23-tst_inits)(r3) + lwz r24,(init_r24-tst_inits)(r3) + lwz r25,(init_r25-tst_inits)(r3) + lwz r26,(init_r26-tst_inits)(r3) + lwz r27,(init_r27-tst_inits)(r3) + lwz r28,(init_r28-tst_inits)(r3) + lwz r29,(init_r29-tst_inits)(r3) + lwz r30,(init_r30-tst_inits)(r3) + lwz r31,(init_r31-tst_inits)(r3) + lwz r3,(init_r3-tst_inits)(r3) + +jmp2tst: rfi + +# needs to be inserted into epilogue of tst! +#tst_end: +# b save_results + +# ------------------------------------------------------------------------------------------------- +.align 5 +save_results: +# use a designated spr to save (sprgx, ...) + mtspr SAVESPR,r1 + lis r1,tst_results@h + ori r1,r1,tst_results@l + stw r0,(rslt_r0-tst_results)(r1) + stw r2,(rslt_r2-tst_results)(r1) + stw r3,(rslt_r3-tst_results)(r1) + stw r4,(rslt_r4-tst_results)(r1) + stw r5,(rslt_r5-tst_results)(r1) + stw r6,(rslt_r6-tst_results)(r1) + stw r7,(rslt_r7-tst_results)(r1) + stw r8,(rslt_r8-tst_results)(r1) + stw r9,(rslt_r9-tst_results)(r1) + stw r10,(rslt_r10-tst_results)(r1) + stw r11,(rslt_r11-tst_results)(r1) + stw r12,(rslt_r12-tst_results)(r1) + stw r13,(rslt_r13-tst_results)(r1) + stw r14,(rslt_r14-tst_results)(r1) + stw r15,(rslt_r15-tst_results)(r1) + stw r16,(rslt_r16-tst_results)(r1) + stw r17,(rslt_r17-tst_results)(r1) + stw r18,(rslt_r18-tst_results)(r1) + stw r19,(rslt_r19-tst_results)(r1) + stw r20,(rslt_r20-tst_results)(r1) + stw r21,(rslt_r21-tst_results)(r1) + stw r22,(rslt_r22-tst_results)(r1) + stw r23,(rslt_r23-tst_results)(r1) + stw r24,(rslt_r24-tst_results)(r1) + stw r25,(rslt_r25-tst_results)(r1) + stw r26,(rslt_r26-tst_results)(r1) + stw r27,(rslt_r27-tst_results)(r1) + stw r28,(rslt_r28-tst_results)(r1) + stw r29,(rslt_r29-tst_results)(r1) + stw r30,(rslt_r30-tst_results)(r1) + stw r31,(rslt_r31-tst_results)(r1) + mfspr r2,SAVESPR + stw r2,(rslt_r1-tst_results)(r1) + mfcr r2 + stw r2,(rslt_cr-tst_results)(r1) + mfxer r2 + stw r2,(rslt_xer-tst_results)(r1) + mfctr r2 + stw r2,(rslt_ctr-tst_results)(r1) + mflr r2 + stw r2,(rslt_lr-tst_results)(r1) + mfspr r2,tar + stw r2,(rslt_tar-tst_results)(r1) + +tst_cleanup: +# restore c stuff + lis r3,tst_inits@h + ori r3,r3,tst_inits@l + lwz r1,(save_r1-tst_inits)(r3) + lis r3,MAGIC@h + ori r3,r3,MAGIC@l + + b tst_done + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_results: + +rslt_r0: .int 0xFFFFFFFF +rslt_r1: .int 0xFFFFFFFF +rslt_r2: .int 0xFFFFFFFF +rslt_r3: .int 0xFFFFFFFF +rslt_r4: .int 0xFFFFFFFF +rslt_r5: .int 0xFFFFFFFF +rslt_r6: .int 0xFFFFFFFF +rslt_r7: .int 0xFFFFFFFF +rslt_r8: .int 0xFFFFFFFF +rslt_r9: .int 0xFFFFFFFF +rslt_r10: .int 0xFFFFFFFF +rslt_r11: .int 0xFFFFFFFF +rslt_r12: .int 0xFFFFFFFF +rslt_r13: .int 0xFFFFFFFF +rslt_r14: .int 0xFFFFFFFF +rslt_r15: .int 0xFFFFFFFF +rslt_r16: .int 0xFFFFFFFF +rslt_r17: .int 0xFFFFFFFF +rslt_r18: .int 0xFFFFFFFF +rslt_r19: .int 0xFFFFFFFF +rslt_r20: .int 0xFFFFFFFF +rslt_r21: .int 0xFFFFFFFF +rslt_r22: .int 0xFFFFFFFF +rslt_r23: .int 0xFFFFFFFF +rslt_r24: .int 0xFFFFFFFF +rslt_r25: .int 0xFFFFFFFF +rslt_r26: .int 0xFFFFFFFF +rslt_r27: .int 0xFFFFFFFF +rslt_r28: .int 0xFFFFFFFF +rslt_r29: .int 0xFFFFFFFF +rslt_r30: .int 0xFFFFFFFF +rslt_r31: .int 0xFFFFFFFF + +rslt_cr: .int 0xFFFFFFFF +rslt_xer: .int 0xFFFFFFFF +rslt_ctr: .int 0xFFFFFFFF +rslt_lr: .int 0xFFFFFFFF +rslt_tar: .int 0xFFFFFFFF + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_expects: + +expt_r0: .int 0x7305868F +expt_r1: .int 0x07EC9BA7 +expt_r2: .int 0xFFFFFFFF +expt_r3: .int 0xAC3F2040 +expt_r4: .int 0xFFFFFFFF +expt_r5: .int 0xFFFFFFFF +expt_r6: .int 0xFFFFFFFF +expt_r7: .int 0xFFFFFFFF +expt_r8: .int 0xFFFFFFFF +expt_r9: .int 0xFFFFFFFF +expt_r10: .int 0xE83E7000 +expt_r11: .int 0x07EC9BA7 +expt_r12: .int 0xFFFFFFFF +expt_r13: .int 0xFC9D07CE +expt_r14: .int 0x7305868F +expt_r15: .int 0xFFFFFFFF +expt_r16: .int 0xFFFFFFFF +expt_r17: .int 0x00000000 +expt_r18: .int 0xFFFFFFFF +expt_r19: .int 0xFFFFFFFF +expt_r20: .int 0x0F8F2BB1 +expt_r21: .int 0xFFFFFFFF +expt_r22: .int 0xFFFFFFFF +expt_r23: .int 0x9E47F6C0 +expt_r24: .int 0x46B0FC81 +expt_r25: .int 0xFFFFFFFF +expt_r26: .int 0xFFFFFFFF +expt_r27: .int 0x00000000 +expt_r28: .int 0x7305868F +expt_r29: .int 0x0000007C +expt_r30: .int 0xFFFFFFFF +expt_r31: .int 0xFFFFFFFF + +expt_cr: .int 0x90315BC8 +expt_xer: .int 0x82C0004B +expt_ctr: .int 0xF7DA2C89 +expt_lr: .int 0x8BC7C22B +expt_tar: .int 0xFFFFFFFF +expt_msr: .int 0x00001081 + +expt_iar: .int 0x00010038 + diff --git a/dev/src/test3_soc/arcitst.lst b/dev/src/test3_soc/arcitst.lst new file mode 100644 index 0000000..ea3d13c --- /dev/null +++ b/dev/src/test3_soc/arcitst.lst @@ -0,0 +1,492 @@ + 1 # asmtst.tpl + 2 + 3 .include "defines.s" + 1 # © IBM Corp. 2020 + 2 # Licensed under and subject to the terms of the CC-BY 4.0 + 3 # license (https://creativecommons.org/licenses/by/4.0/legalcode). + 4 # Additional rights, including the right to physically implement a softcore + 5 # that is compliant with the required sections of the Power ISA + 6 # Specification, will be available at no cost via the OpenPOWER Foundation. + 7 # This README will be updated with additional information when OpenPOWER's + 8 # license is available. + 9 + 10 #----------------------------------------- + 11 # Defines + 12 #----------------------------------------- + 13 + 14 # Regs + 15 + 16 .set r0, 0 + 17 .set r1, 1 + 18 .set r2, 2 + 19 .set r3, 3 + 20 .set r4, 4 + 21 .set r5, 5 + 22 .set r6, 6 + 23 .set r7, 7 + 24 .set r8, 8 + 25 .set r9, 9 + 26 .set r10,10 + 27 .set r11,11 + 28 .set r12,12 + 29 .set r13,13 + 30 .set r14,14 + 31 .set r15,15 + 32 .set r16,16 + 33 .set r17,17 + 34 .set r18,18 + 35 .set r19,19 + 36 .set r20,20 + 37 .set r21,21 + 38 .set r22,22 + 39 .set r23,23 + 40 .set r24,24 + 41 .set r25,25 + 42 .set r26,26 + 43 .set r27,27 + 44 .set r28,28 + 45 .set r29,29 + 46 .set r30,30 + 47 .set r31,31 + 48 + 49 .set f0, 0 + 50 .set f1, 1 + 51 .set f2, 2 + 52 .set f3, 3 + 53 .set f4, 4 + 54 .set f5, 5 + 55 .set f6, 6 + 56 .set f7, 7 + 57 .set f8, 8 + 58 .set f9, 9 + 59 .set f10,10 + 60 .set f11,11 + 61 .set f12,12 + 62 .set f13,13 + 63 .set f14,14 + 64 .set f15,15 + 65 .set f16,16 + 66 .set f17,17 + 67 .set f18,18 + 68 .set f19,19 + 69 .set f20,20 + 70 .set f21,21 + 71 .set f22,22 + 72 .set f23,23 + 73 .set f24,24 + 74 .set f25,25 + 75 .set f26,26 + 76 .set f27,27 + 77 .set f28,28 + 78 .set f29,29 + 79 .set f30,30 + 80 .set f31,31 + 81 + 82 .set cr0, 0 + 83 .set cr1, 1 + 84 .set cr2, 2 + 85 .set cr3, 3 + 86 .set cr4, 4 + 87 .set cr5, 5 + 88 .set cr6, 6 + 89 .set cr7, 7 + 90 + 91 # SPR numbers + 92 + 93 .set srr0, 26 + 94 .set srr1, 27 + 95 .set dar, 19 + 96 .set dsisr, 18 + 97 .set epcr, 307 + 98 .set tar, 815 + 99 + 100 .set dbsr, 304 + 101 .set dbcr0, 308 + 102 .set dbcr1, 309 + 103 .set dbcr2, 310 + 104 .set dbcr3, 848 + 105 + 106 .set ivpr, 63 + 107 + 108 .set iucr0, 1011 + 109 .set iucr1, 883 + 110 .set iucr2, 884 + 111 + 112 .set iudbg0, 888 + 113 .set iudbg1, 889 + 114 .set iudbg2, 890 + 115 .set iulfsr, 891 + 116 .set iullcr, 892 + 117 + 118 .set mmucr0, 1020 + 119 .set mmucr1, 1021 + 120 .set mmucr2, 1022 + 121 .set mmucr3, 1023 + 122 + 123 .set tb, 268 + 124 .set tbl, 284 + 125 .set tbh, 285 + 126 + 127 .set dec, 22 + 128 .set udec, 550 + 129 .set tsr, 336 + 130 .set tcr, 340 + 131 + 132 .set xucr0, 1014 + 133 .set xucr1, 851 + 134 .set xucr2, 1016 + 135 .set xucr3, 852 + 136 .set xucr4, 853 + 137 + 138 .set tens, 438 + 139 .set tenc, 439 + 140 .set tensr, 437 + 141 + 142 .set pid, 48 + 143 .set pir, 286 + 144 .set pvr, 287 + 145 .set tir, 446 + 146 + 147 #.set sprg0, + 148 #.set sprg1, + 149 #.set sprg2, + 150 .set sprg3, 259 + 4 + 5 # ------------------------------------------------------------------------------------------------- + 6 # c-accessible + 7 + 8 .global init_tst + 9 .global tst_start + 10 .global tst_end + 11 .global tst_inits + 12 .global tst_results + 13 .global tst_expects + 14 + 15 # ------------------------------------------------------------------------------------------------- + 16 tst_misc: + 17 + 18 0000 696E666F tst_info: .asciz "info text" + 18 20746578 + 18 7400 + 19 000a 68656164 tst_header: .asciz "header text" + 19 65722074 + 19 65787400 + 20 + 21 .set SAVESPR,tar + 22 .set MAGIC,0x8675309 + 23 + 24 # ------------------------------------------------------------------------------------------------- + 25 0016 00000000 .align 5 + 25 00000000 + 25 0000 + 26 tst_inits: + 27 + 28 0020 00000000 init_r0: .int 0x00000000 + 29 0024 5822C905 init_r1: .int 0x5822C905 + 30 0028 FFFFFFFF init_r2: .int 0xFFFFFFFF + 31 002c 91B6D1A3 init_r3: .int 0x91B6D1A3 + 32 0030 FFFFFFFF init_r4: .int 0xFFFFFFFF + 33 0034 FFFFFFFF init_r5: .int 0xFFFFFFFF + 34 0038 FFFFFFFF init_r6: .int 0xFFFFFFFF + 35 003c FFFFFFFF init_r7: .int 0xFFFFFFFF + 36 0040 FFFFFFFF init_r8: .int 0xFFFFFFFF + 37 0044 7E11EE88 init_r9: .int 0x7E11EE88 + 38 0048 FFFFFFFF init_r10: .int 0xFFFFFFFF + 39 004c 7FFFFFFF init_r11: .int 0x7FFFFFFF + 40 0050 FFFFFFFF init_r12: .int 0xFFFFFFFF + 41 0054 FFFFFFFF init_r13: .int 0xFFFFFFFF + 42 0058 8C20BDE6 init_r14: .int 0x8C20BDE6 + 43 005c FFFFFFFF init_r15: .int 0xFFFFFFFF + 44 0060 76D0DADF init_r16: .int 0x76D0DADF + 45 0064 15111F42 init_r17: .int 0x15111F42 + 46 0068 FFFFFFFF init_r18: .int 0xFFFFFFFF + 47 006c 36108E50 init_r19: .int 0x36108E50 + 48 0070 FFFFFFFF init_r20: .int 0xFFFFFFFF + 49 0074 FFFFFFFF init_r21: .int 0xFFFFFFFF + 50 0078 328A0CED init_r22: .int 0x328A0CED + 51 007c FFFFFFFF init_r23: .int 0xFFFFFFFF + 52 0080 FFFFFFFF init_r24: .int 0xFFFFFFFF + 53 0084 AF224C19 init_r25: .int 0xAF224C19 + 54 0088 FFFFFFFF init_r26: .int 0xFFFFFFFF + 55 008c FFFFFFFF init_r27: .int 0xFFFFFFFF + 56 0090 D624B27A init_r28: .int 0xD624B27A + 57 0094 FFFFFFFF init_r29: .int 0xFFFFFFFF + 58 0098 FFFFFFFF init_r30: .int 0xFFFFFFFF + 59 009c FFFFFFFF init_r31: .int 0xFFFFFFFF + 60 + 61 00a0 DBFD3628 init_cr: .int 0xDBFD3628 + 62 00a4 89F0006E init_xer: .int 0x89F0006E + 63 00a8 FFFFFFFF init_ctr: .int 0xFFFFFFFF + 64 00ac FFFFFFFF init_lr: .int 0xFFFFFFFF + 65 00b0 FFFFFFFF init_tar: .int 0xFFFFFFFF + 66 00b4 00001104 init_msr: .int 0x00001104 + 67 + 68 00b8 00010000 init_iar: .int 0x00010000 + 69 + 70 00bc 00000000 save_r1: .int 0 + 71 + 72 00c0 0000000D codelen: .int 13 + 73 00c4 7C61CC14 ops: .int 0x7C61CC14,0x7D230595,0x7AC37392,0x7E094C11,0x7E1CB115,0x7A338886,0x7C6004D1,0x + 73 7D230595 + 73 7AC37392 + 73 7E094C11 + 73 7E1CB115 + 74 00f8 00010000 iars: .int 0x00010000,0x00010004,0x00010008,0x0001000C,0x00010010,0x00010014,0x00010018,0x + 74 00010004 + 74 00010008 + 74 0001000C + 74 00010010 + 75 + 76 # ------------------------------------------------------------------------------------------------- + 77 # r3=@tst_inits + 78 012c 48000014 .align 5 + 78 60000000 + 78 60000000 + 78 60000000 + 78 60000000 + 79 init_tst: + 80 + 81 # save c stuff + 82 0140 9023009C stw r1,(save_r1-tst_inits)(r3) + 83 + 84 # copy ops + 85 opcopy: + 86 0144 802300A0 lwz r1,(codelen-tst_inits)(r3) + 87 0148 7C2903A6 mtctr r1 + 88 014c 382300A4 la r1,(ops-tst_inits)(r3) # @ ops list + 89 0150 384300D8 la r2,(iars-tst_inits)(r3) # @ iars list + 90 opcopy_loop: + 91 0154 80810000 lwz r4,0(r1) # next op + 92 0158 80A20000 lwz r5,0(r2) # next iar + 93 015c 90850000 stw r4,0(r5) # store it + 94 0160 38210004 addi r1,r1,4 # inc to next + 95 0164 38420004 addi r2,r2,4 + 96 0168 4200FFEC bdnz opcopy_loop + 97 + 98 # add end of test op - could be done here or by builder + 99 # ways to end: + 100 # ba - avoid reloc, target op can then branch to tst_end + 101 # trap,sc,scv - branch to tst_end in handler + 102 # attn, priv op, etc. - " + 103 # overwrite the last epilogue op to avoid any crossing + 104 opcopy_eot: + 105 016c 3C804800 lis r4,0x4800 + 106 0170 60840006 ori r4,r4,0x0006 # ba 0x0004 + 107 0174 90850000 stw r4,0(r5) + 108 + 109 # get tst start + 110 0178 80230094 lwz r1,(init_msr-tst_inits)(r3) + 111 017c 7C3B03A6 mtsrr1 r1 + 112 0180 80230098 lwz r1,(init_iar-tst_inits)(r3) + 113 0184 7C3A03A6 mtsrr0 r1 + 114 + 115 # init test regs + 116 init_regs: + 117 0188 80230080 lwz r1,(init_cr-tst_inits)(r3) + 118 018c 7C2FF120 mtcr r1 + 119 0190 80230084 lwz r1,(init_xer-tst_inits)(r3) + 120 0194 7C2103A6 mtxer r1 + 121 0198 80230088 lwz r1,(init_ctr-tst_inits)(r3) + 122 019c 7C2903A6 mtctr r1 + 123 01a0 8023008C lwz r1,(init_lr-tst_inits)(r3) + 124 01a4 7C2803A6 mtlr r1 + 125 01a8 80230090 lwz r1,(init_tar-tst_inits)(r3) + 126 01ac 7C2FCBA6 mtspr tar,r1 + 127 + 128 01b0 80030000 lwz r0,(init_r0-tst_inits)(r3) + 129 01b4 80230004 lwz r1,(init_r1-tst_inits)(r3) + 130 01b8 80430008 lwz r2,(init_r2-tst_inits)(r3) + 131 01bc 80830010 lwz r4,(init_r4-tst_inits)(r3) + 132 01c0 80A30014 lwz r5,(init_r5-tst_inits)(r3) + 133 01c4 80C30018 lwz r6,(init_r6-tst_inits)(r3) + 134 01c8 80E3001C lwz r7,(init_r7-tst_inits)(r3) + 135 01cc 81030020 lwz r8,(init_r8-tst_inits)(r3) + 136 01d0 81230024 lwz r9,(init_r9-tst_inits)(r3) + 137 01d4 81430028 lwz r10,(init_r10-tst_inits)(r3) + 138 01d8 8163002C lwz r11,(init_r11-tst_inits)(r3) + 139 01dc 81830030 lwz r12,(init_r12-tst_inits)(r3) + 140 01e0 81A30034 lwz r13,(init_r13-tst_inits)(r3) + 141 01e4 81C30038 lwz r14,(init_r14-tst_inits)(r3) + 142 01e8 81E3003C lwz r15,(init_r15-tst_inits)(r3) + 143 01ec 82030040 lwz r16,(init_r16-tst_inits)(r3) + 144 01f0 82230044 lwz r17,(init_r17-tst_inits)(r3) + 145 01f4 82430048 lwz r18,(init_r18-tst_inits)(r3) + 146 01f8 8263004C lwz r19,(init_r19-tst_inits)(r3) + 147 01fc 82830050 lwz r20,(init_r20-tst_inits)(r3) + 148 0200 82A30054 lwz r21,(init_r21-tst_inits)(r3) + 149 0204 82C30058 lwz r22,(init_r22-tst_inits)(r3) + 150 0208 82E3005C lwz r23,(init_r23-tst_inits)(r3) + 151 020c 83030060 lwz r24,(init_r24-tst_inits)(r3) + 152 0210 83230064 lwz r25,(init_r25-tst_inits)(r3) + 153 0214 83430068 lwz r26,(init_r26-tst_inits)(r3) + 154 0218 8363006C lwz r27,(init_r27-tst_inits)(r3) + 155 021c 83830070 lwz r28,(init_r28-tst_inits)(r3) + 156 0220 83A30074 lwz r29,(init_r29-tst_inits)(r3) + 157 0224 83C30078 lwz r30,(init_r30-tst_inits)(r3) + 158 0228 83E3007C lwz r31,(init_r31-tst_inits)(r3) + 159 022c 8063000C lwz r3,(init_r3-tst_inits)(r3) + 160 + 161 jmp2tst: + 162 0230 4C000064 rfi + 163 #rfid + 164 #ba 0x10000 + 165 + 166 tst_end: + 167 0234 4800000C b save_results + 168 + 169 # ------------------------------------------------------------------------------------------------- + 170 0238 60000000 .align 5 + 170 60000000 + 171 save_results: + 172 # use a designated spr to save (sprgx, ...) + 173 0240 7C2FCBA6 mtspr SAVESPR,r1 + 174 0244 3C200000 lis r1,tst_results@h + 175 0248 60210000 ori r1,r1,tst_results@l + 176 024c 90010000 stw r0,(rslt_r0-tst_results)(r1) + 177 0250 90410008 stw r2,(rslt_r2-tst_results)(r1) + 178 0254 9061000C stw r3,(rslt_r3-tst_results)(r1) + 179 0258 90810010 stw r4,(rslt_r4-tst_results)(r1) + 180 025c 90A10014 stw r5,(rslt_r5-tst_results)(r1) + 181 0260 90C10018 stw r6,(rslt_r6-tst_results)(r1) + 182 0264 90E1001C stw r7,(rslt_r7-tst_results)(r1) + 183 0268 91010020 stw r8,(rslt_r8-tst_results)(r1) + 184 026c 91210024 stw r9,(rslt_r9-tst_results)(r1) + 185 0270 91410028 stw r10,(rslt_r10-tst_results)(r1) + 186 0274 9161002C stw r11,(rslt_r11-tst_results)(r1) + 187 0278 91810030 stw r12,(rslt_r12-tst_results)(r1) + 188 027c 91A10034 stw r13,(rslt_r13-tst_results)(r1) + 189 0280 91C10038 stw r14,(rslt_r14-tst_results)(r1) + 190 0284 91E1003C stw r15,(rslt_r15-tst_results)(r1) + 191 0288 92010040 stw r16,(rslt_r16-tst_results)(r1) + 192 028c 92210044 stw r17,(rslt_r17-tst_results)(r1) + 193 0290 92410048 stw r18,(rslt_r18-tst_results)(r1) + 194 0294 9261004C stw r19,(rslt_r19-tst_results)(r1) + 195 0298 92810050 stw r20,(rslt_r20-tst_results)(r1) + 196 029c 92A10054 stw r21,(rslt_r21-tst_results)(r1) + 197 02a0 92C10058 stw r22,(rslt_r22-tst_results)(r1) + 198 02a4 92E1005C stw r23,(rslt_r23-tst_results)(r1) + 199 02a8 93010060 stw r24,(rslt_r24-tst_results)(r1) + 200 02ac 93210064 stw r25,(rslt_r25-tst_results)(r1) + 201 02b0 93410068 stw r26,(rslt_r26-tst_results)(r1) + 202 02b4 9361006C stw r27,(rslt_r27-tst_results)(r1) + 203 02b8 93810070 stw r28,(rslt_r28-tst_results)(r1) + 204 02bc 93A10074 stw r29,(rslt_r29-tst_results)(r1) + 205 02c0 93C10078 stw r30,(rslt_r30-tst_results)(r1) + 206 02c4 93E1007C stw r31,(rslt_r31-tst_results)(r1) + 207 02c8 7C4FCAA6 mfspr r2,SAVESPR + 208 02cc 90410004 stw r2,(rslt_r1-tst_results)(r1) + 209 02d0 7C400026 mfcr r2 + 210 02d4 90410080 stw r2,(rslt_cr-tst_results)(r1) + 211 02d8 7C4102A6 mfxer r2 + 212 02dc 90410084 stw r2,(rslt_xer-tst_results)(r1) + 213 02e0 7C4902A6 mfctr r2 + 214 02e4 90410088 stw r2,(rslt_ctr-tst_results)(r1) + 215 02e8 7C4802A6 mflr r2 + 216 02ec 9041008C stw r2,(rslt_lr-tst_results)(r1) + 217 02f0 7C4FCAA6 mfspr r2,tar + 218 02f4 90410090 stw r2,(rslt_tar-tst_results)(r1) + 219 + 220 tst_cleanup: + 221 # restore c stuff + 222 02f8 3C600000 lis r3,tst_inits@h + 223 02fc 60630000 ori r3,r3,tst_inits@l + 224 0300 8023009C lwz r1,(save_r1-tst_inits)(r3) + 225 0304 3C600867 lis r3,MAGIC@h + 226 0308 60635309 ori r3,r3,MAGIC@l + 227 + 228 030c 48000003 bla tst_done + 229 + 230 # ------------------------------------------------------------------------------------------------- + 231 0310 60000000 .align 5 + 231 60000000 + 231 60000000 + 231 60000000 + 232 tst_results: + 233 + 234 0320 FFFFFFFF rslt_r0: .int 0xFFFFFFFF + 235 0324 FFFFFFFF rslt_r1: .int 0xFFFFFFFF + 236 0328 FFFFFFFF rslt_r2: .int 0xFFFFFFFF + 237 032c FFFFFFFF rslt_r3: .int 0xFFFFFFFF + 238 0330 FFFFFFFF rslt_r4: .int 0xFFFFFFFF + 239 0334 FFFFFFFF rslt_r5: .int 0xFFFFFFFF + 240 0338 FFFFFFFF rslt_r6: .int 0xFFFFFFFF + 241 033c FFFFFFFF rslt_r7: .int 0xFFFFFFFF + 242 0340 FFFFFFFF rslt_r8: .int 0xFFFFFFFF + 243 0344 FFFFFFFF rslt_r9: .int 0xFFFFFFFF + 244 0348 FFFFFFFF rslt_r10: .int 0xFFFFFFFF + 245 034c FFFFFFFF rslt_r11: .int 0xFFFFFFFF + 246 0350 FFFFFFFF rslt_r12: .int 0xFFFFFFFF + 247 0354 FFFFFFFF rslt_r13: .int 0xFFFFFFFF + 248 0358 FFFFFFFF rslt_r14: .int 0xFFFFFFFF + 249 035c FFFFFFFF rslt_r15: .int 0xFFFFFFFF + 250 0360 FFFFFFFF rslt_r16: .int 0xFFFFFFFF + 251 0364 FFFFFFFF rslt_r17: .int 0xFFFFFFFF + 252 0368 FFFFFFFF rslt_r18: .int 0xFFFFFFFF + 253 036c FFFFFFFF rslt_r19: .int 0xFFFFFFFF + 254 0370 FFFFFFFF rslt_r20: .int 0xFFFFFFFF + 255 0374 FFFFFFFF rslt_r21: .int 0xFFFFFFFF + 256 0378 FFFFFFFF rslt_r22: .int 0xFFFFFFFF + 257 037c FFFFFFFF rslt_r23: .int 0xFFFFFFFF + 258 0380 FFFFFFFF rslt_r24: .int 0xFFFFFFFF + 259 0384 FFFFFFFF rslt_r25: .int 0xFFFFFFFF + 260 0388 FFFFFFFF rslt_r26: .int 0xFFFFFFFF + 261 038c FFFFFFFF rslt_r27: .int 0xFFFFFFFF + 262 0390 FFFFFFFF rslt_r28: .int 0xFFFFFFFF + 263 0394 FFFFFFFF rslt_r29: .int 0xFFFFFFFF + 264 0398 FFFFFFFF rslt_r30: .int 0xFFFFFFFF + 265 039c FFFFFFFF rslt_r31: .int 0xFFFFFFFF + 266 + 267 03a0 FFFFFFFF rslt_cr: .int 0xFFFFFFFF + 268 03a4 FFFFFFFF rslt_xer: .int 0xFFFFFFFF + 269 03a8 FFFFFFFF rslt_ctr: .int 0xFFFFFFFF + 270 03ac FFFFFFFF rslt_lr: .int 0xFFFFFFFF + 271 03b0 FFFFFFFF rslt_tar: .int 0xFFFFFFFF + 272 + 273 # ------------------------------------------------------------------------------------------------- + 274 03b4 60000000 .align 5 + 274 60000000 + 274 60000000 + 275 tst_expects: + 276 + 277 03c0 00000000 expt_r0: .int 0x00000000 + 278 03c4 CD75F313 expt_r1: .int 0xCD75F313 + 279 03c8 FFFFFFFF expt_r2: .int 0xFFFFFFFF + 280 03cc 00000000 expt_r3: .int 0x00000000 + 281 03d0 FFFFFFFF expt_r4: .int 0xFFFFFFFF + 282 03d4 FFFFFFFF expt_r5: .int 0xFFFFFFFF + 283 03d8 FFFFFFFF expt_r6: .int 0xFFFFFFFF + 284 03dc FFFFFFFF expt_r7: .int 0xFFFFFFFF + 285 03e0 FFFFFFFF expt_r8: .int 0xFFFFFFFF + 286 03e4 008A0C68 expt_r9: .int 0x008A0C68 + 287 03e8 FFFFFFFF expt_r10: .int 0xFFFFFFFF + 288 03ec 7FFFFFFF expt_r11: .int 0x7FFFFFFF + 289 03f0 FFFFFFFF expt_r12: .int 0xFFFFFFFF + 290 03f4 FFFFFFFF expt_r13: .int 0xFFFFFFFF + 291 03f8 8C20BDE6 expt_r14: .int 0x8C20BDE6 + 292 03fc FFFFFFFF expt_r15: .int 0xFFFFFFFF + 293 0400 08AEBF68 expt_r16: .int 0x08AEBF68 + 294 0404 80000001 expt_r17: .int 0x80000001 + 295 0408 FFFFFFFF expt_r18: .int 0xFFFFFFFF + 296 040c 00000000 expt_r19: .int 0x00000000 + 297 0410 FFFFFFFF expt_r20: .int 0xFFFFFFFF + 298 0414 FFFFFFFF expt_r21: .int 0xFFFFFFFF + 299 0418 328A0CED expt_r22: .int 0x328A0CED + 300 041c FFFFFFFF expt_r23: .int 0xFFFFFFFF + 301 0420 FFFFFFFF expt_r24: .int 0xFFFFFFFF + 302 0424 AF224C19 expt_r25: .int 0xAF224C19 + 303 0428 FFFFFFFF expt_r26: .int 0xFFFFFFFF + 304 042c FFFFFFFF expt_r27: .int 0xFFFFFFFF + 305 0430 D624B27A expt_r28: .int 0xD624B27A + 306 0434 FFFFFFFF expt_r29: .int 0xFFFFFFFF + 307 0438 FFFFFFFF expt_r30: .int 0xFFFFFFFF + 308 043c FFFFFFFF expt_r31: .int 0xFFFFFFFF + 309 + 310 0440 9BFD3628 expt_cr: .int 0x9BFD3628 + 311 0444 98F0006E expt_xer: .int 0x98F0006E + 312 0448 FFFFFFFF expt_ctr: .int 0xFFFFFFFF + 313 044c FFFFFFFF expt_lr: .int 0xFFFFFFFF + 314 0450 FFFFFFFF expt_tar: .int 0xFFFFFFFF + 315 0454 00001104 expt_msr: .int 0x00001104 + 316 + 317 0458 00010038 expt_iar: .int 0x00010038 + 318 diff --git a/dev/src/test3_soc/arcitst.s b/dev/src/test3_soc/arcitst.s new file mode 100755 index 0000000..ccba708 --- /dev/null +++ b/dev/src/test3_soc/arcitst.s @@ -0,0 +1,318 @@ +# asmtst.tpl + +.include "defines.s" + +# ------------------------------------------------------------------------------------------------- +# c-accessible + +.global init_tst +.global tst_start +.global tst_end +.global tst_inits +.global tst_results +.global tst_expects + +# ------------------------------------------------------------------------------------------------- +tst_misc: + +tst_info: .asciz "info text" +tst_header: .asciz "header text" + +.set SAVESPR,tar +.set MAGIC,0x8675309 + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_inits: + +init_r0: .int 0x00000000 +init_r1: .int 0x5822C905 +init_r2: .int 0xFFFFFFFF +init_r3: .int 0x91B6D1A3 +init_r4: .int 0xFFFFFFFF +init_r5: .int 0xFFFFFFFF +init_r6: .int 0xFFFFFFFF +init_r7: .int 0xFFFFFFFF +init_r8: .int 0xFFFFFFFF +init_r9: .int 0x7E11EE88 +init_r10: .int 0xFFFFFFFF +init_r11: .int 0x7FFFFFFF +init_r12: .int 0xFFFFFFFF +init_r13: .int 0xFFFFFFFF +init_r14: .int 0x8C20BDE6 +init_r15: .int 0xFFFFFFFF +init_r16: .int 0x76D0DADF +init_r17: .int 0x15111F42 +init_r18: .int 0xFFFFFFFF +init_r19: .int 0x36108E50 +init_r20: .int 0xFFFFFFFF +init_r21: .int 0xFFFFFFFF +init_r22: .int 0x328A0CED +init_r23: .int 0xFFFFFFFF +init_r24: .int 0xFFFFFFFF +init_r25: .int 0xAF224C19 +init_r26: .int 0xFFFFFFFF +init_r27: .int 0xFFFFFFFF +init_r28: .int 0xD624B27A +init_r29: .int 0xFFFFFFFF +init_r30: .int 0xFFFFFFFF +init_r31: .int 0xFFFFFFFF + +init_cr: .int 0xDBFD3628 +init_xer: .int 0x89F0006E +init_ctr: .int 0xFFFFFFFF +init_lr: .int 0xFFFFFFFF +init_tar: .int 0xFFFFFFFF +init_msr: .int 0x00001104 + +init_iar: .int 0x00010000 + +save_r1: .int 0 + +codelen: .int 13 +ops: .int 0x7C61CC14,0x7D230595,0x7AC37392,0x7E094C11,0x7E1CB115,0x7A338886,0x7C6004D1,0x7E09B038,0x7C360591,0x7E2B00D1,0x60000000,0x60000000,0x60000000 +iars: .int 0x00010000,0x00010004,0x00010008,0x0001000C,0x00010010,0x00010014,0x00010018,0x0001001C,0x00010020,0x00010024,0x00010028,0x0001002C,0x00010030 + +# ------------------------------------------------------------------------------------------------- +# r3=@tst_inits +.align 5 +init_tst: + +# save c stuff + stw r1,(save_r1-tst_inits)(r3) + +# copy ops +opcopy: + lwz r1,(codelen-tst_inits)(r3) + mtctr r1 + la r1,(ops-tst_inits)(r3) # @ ops list + la r2,(iars-tst_inits)(r3) # @ iars list +opcopy_loop: + lwz r4,0(r1) # next op + lwz r5,0(r2) # next iar + stw r4,0(r5) # store it + addi r1,r1,4 # inc to next + addi r2,r2,4 + bdnz opcopy_loop + +# add end of test op - could be done here or by builder +# ways to end: +# ba - avoid reloc, target op can then branch to tst_end +# trap,sc,scv - branch to tst_end in handler +# attn, priv op, etc. - " +# overwrite the last epilogue op to avoid any crossing +opcopy_eot: + lis r4,0x4800 + ori r4,r4,0x0006 # ba 0x0004 + stw r4,0(r5) + +# get tst start + lwz r1,(init_msr-tst_inits)(r3) + mtsrr1 r1 + lwz r1,(init_iar-tst_inits)(r3) + mtsrr0 r1 + +# init test regs +init_regs: + lwz r1,(init_cr-tst_inits)(r3) + mtcr r1 + lwz r1,(init_xer-tst_inits)(r3) + mtxer r1 + lwz r1,(init_ctr-tst_inits)(r3) + mtctr r1 + lwz r1,(init_lr-tst_inits)(r3) + mtlr r1 + lwz r1,(init_tar-tst_inits)(r3) + mtspr tar,r1 + + lwz r0,(init_r0-tst_inits)(r3) + lwz r1,(init_r1-tst_inits)(r3) + lwz r2,(init_r2-tst_inits)(r3) + lwz r4,(init_r4-tst_inits)(r3) + lwz r5,(init_r5-tst_inits)(r3) + lwz r6,(init_r6-tst_inits)(r3) + lwz r7,(init_r7-tst_inits)(r3) + lwz r8,(init_r8-tst_inits)(r3) + lwz r9,(init_r9-tst_inits)(r3) + lwz r10,(init_r10-tst_inits)(r3) + lwz r11,(init_r11-tst_inits)(r3) + lwz r12,(init_r12-tst_inits)(r3) + lwz r13,(init_r13-tst_inits)(r3) + lwz r14,(init_r14-tst_inits)(r3) + lwz r15,(init_r15-tst_inits)(r3) + lwz r16,(init_r16-tst_inits)(r3) + lwz r17,(init_r17-tst_inits)(r3) + lwz r18,(init_r18-tst_inits)(r3) + lwz r19,(init_r19-tst_inits)(r3) + lwz r20,(init_r20-tst_inits)(r3) + lwz r21,(init_r21-tst_inits)(r3) + lwz r22,(init_r22-tst_inits)(r3) + lwz r23,(init_r23-tst_inits)(r3) + lwz r24,(init_r24-tst_inits)(r3) + lwz r25,(init_r25-tst_inits)(r3) + lwz r26,(init_r26-tst_inits)(r3) + lwz r27,(init_r27-tst_inits)(r3) + lwz r28,(init_r28-tst_inits)(r3) + lwz r29,(init_r29-tst_inits)(r3) + lwz r30,(init_r30-tst_inits)(r3) + lwz r31,(init_r31-tst_inits)(r3) + lwz r3,(init_r3-tst_inits)(r3) + +jmp2tst: + rfi + #rfid + #ba 0x10000 + +tst_end: + b save_results + +# ------------------------------------------------------------------------------------------------- +.align 5 +save_results: +# use a designated spr to save (sprgx, ...) + mtspr SAVESPR,r1 + lis r1,tst_results@h + ori r1,r1,tst_results@l + stw r0,(rslt_r0-tst_results)(r1) + stw r2,(rslt_r2-tst_results)(r1) + stw r3,(rslt_r3-tst_results)(r1) + stw r4,(rslt_r4-tst_results)(r1) + stw r5,(rslt_r5-tst_results)(r1) + stw r6,(rslt_r6-tst_results)(r1) + stw r7,(rslt_r7-tst_results)(r1) + stw r8,(rslt_r8-tst_results)(r1) + stw r9,(rslt_r9-tst_results)(r1) + stw r10,(rslt_r10-tst_results)(r1) + stw r11,(rslt_r11-tst_results)(r1) + stw r12,(rslt_r12-tst_results)(r1) + stw r13,(rslt_r13-tst_results)(r1) + stw r14,(rslt_r14-tst_results)(r1) + stw r15,(rslt_r15-tst_results)(r1) + stw r16,(rslt_r16-tst_results)(r1) + stw r17,(rslt_r17-tst_results)(r1) + stw r18,(rslt_r18-tst_results)(r1) + stw r19,(rslt_r19-tst_results)(r1) + stw r20,(rslt_r20-tst_results)(r1) + stw r21,(rslt_r21-tst_results)(r1) + stw r22,(rslt_r22-tst_results)(r1) + stw r23,(rslt_r23-tst_results)(r1) + stw r24,(rslt_r24-tst_results)(r1) + stw r25,(rslt_r25-tst_results)(r1) + stw r26,(rslt_r26-tst_results)(r1) + stw r27,(rslt_r27-tst_results)(r1) + stw r28,(rslt_r28-tst_results)(r1) + stw r29,(rslt_r29-tst_results)(r1) + stw r30,(rslt_r30-tst_results)(r1) + stw r31,(rslt_r31-tst_results)(r1) + mfspr r2,SAVESPR + stw r2,(rslt_r1-tst_results)(r1) + mfcr r2 + stw r2,(rslt_cr-tst_results)(r1) + mfxer r2 + stw r2,(rslt_xer-tst_results)(r1) + mfctr r2 + stw r2,(rslt_ctr-tst_results)(r1) + mflr r2 + stw r2,(rslt_lr-tst_results)(r1) + mfspr r2,tar + stw r2,(rslt_tar-tst_results)(r1) + +tst_cleanup: +# restore c stuff + lis r3,tst_inits@h + ori r3,r3,tst_inits@l + lwz r1,(save_r1-tst_inits)(r3) + lis r3,MAGIC@h + ori r3,r3,MAGIC@l + + bla tst_done + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_results: + +rslt_r0: .int 0xFFFFFFFF +rslt_r1: .int 0xFFFFFFFF +rslt_r2: .int 0xFFFFFFFF +rslt_r3: .int 0xFFFFFFFF +rslt_r4: .int 0xFFFFFFFF +rslt_r5: .int 0xFFFFFFFF +rslt_r6: .int 0xFFFFFFFF +rslt_r7: .int 0xFFFFFFFF +rslt_r8: .int 0xFFFFFFFF +rslt_r9: .int 0xFFFFFFFF +rslt_r10: .int 0xFFFFFFFF +rslt_r11: .int 0xFFFFFFFF +rslt_r12: .int 0xFFFFFFFF +rslt_r13: .int 0xFFFFFFFF +rslt_r14: .int 0xFFFFFFFF +rslt_r15: .int 0xFFFFFFFF +rslt_r16: .int 0xFFFFFFFF +rslt_r17: .int 0xFFFFFFFF +rslt_r18: .int 0xFFFFFFFF +rslt_r19: .int 0xFFFFFFFF +rslt_r20: .int 0xFFFFFFFF +rslt_r21: .int 0xFFFFFFFF +rslt_r22: .int 0xFFFFFFFF +rslt_r23: .int 0xFFFFFFFF +rslt_r24: .int 0xFFFFFFFF +rslt_r25: .int 0xFFFFFFFF +rslt_r26: .int 0xFFFFFFFF +rslt_r27: .int 0xFFFFFFFF +rslt_r28: .int 0xFFFFFFFF +rslt_r29: .int 0xFFFFFFFF +rslt_r30: .int 0xFFFFFFFF +rslt_r31: .int 0xFFFFFFFF + +rslt_cr: .int 0xFFFFFFFF +rslt_xer: .int 0xFFFFFFFF +rslt_ctr: .int 0xFFFFFFFF +rslt_lr: .int 0xFFFFFFFF +rslt_tar: .int 0xFFFFFFFF + +# ------------------------------------------------------------------------------------------------- +.align 5 +tst_expects: + +expt_r0: .int 0x00000000 +expt_r1: .int 0xCD75F313 +expt_r2: .int 0xFFFFFFFF +expt_r3: .int 0x00000000 +expt_r4: .int 0xFFFFFFFF +expt_r5: .int 0xFFFFFFFF +expt_r6: .int 0xFFFFFFFF +expt_r7: .int 0xFFFFFFFF +expt_r8: .int 0xFFFFFFFF +expt_r9: .int 0x008A0C68 +expt_r10: .int 0xFFFFFFFF +expt_r11: .int 0x7FFFFFFF +expt_r12: .int 0xFFFFFFFF +expt_r13: .int 0xFFFFFFFF +expt_r14: .int 0x8C20BDE6 +expt_r15: .int 0xFFFFFFFF +expt_r16: .int 0x08AEBF68 +expt_r17: .int 0x80000001 +expt_r18: .int 0xFFFFFFFF +expt_r19: .int 0x00000000 +expt_r20: .int 0xFFFFFFFF +expt_r21: .int 0xFFFFFFFF +expt_r22: .int 0x328A0CED +expt_r23: .int 0xFFFFFFFF +expt_r24: .int 0xFFFFFFFF +expt_r25: .int 0xAF224C19 +expt_r26: .int 0xFFFFFFFF +expt_r27: .int 0xFFFFFFFF +expt_r28: .int 0xD624B27A +expt_r29: .int 0xFFFFFFFF +expt_r30: .int 0xFFFFFFFF +expt_r31: .int 0xFFFFFFFF + +expt_cr: .int 0x9BFD3628 +expt_xer: .int 0x98F0006E +expt_ctr: .int 0xFFFFFFFF +expt_lr: .int 0xFFFFFFFF +expt_tar: .int 0xFFFFFFFF +expt_msr: .int 0x00001104 + +expt_iar: .int 0x00010038 + diff --git a/dev/src/test3_soc/bin b/dev/src/test3_soc/bin new file mode 120000 index 0000000..19f285a --- /dev/null +++ b/dev/src/test3_soc/bin @@ -0,0 +1 @@ +../bin \ No newline at end of file diff --git a/dev/src/test3_soc/bios.c b/dev/src/test3_soc/bios.c new file mode 100644 index 0000000..6210221 --- /dev/null +++ b/dev/src/test3_soc/bios.c @@ -0,0 +1,175 @@ +#include +#include + +#include "bios.h" + +#ifdef PRINTF +#include "liblitex.h" + +//static char printbuf[1000]; // make this a pointer with address a define +//const char* printbuf = (char *)0x12000; +#ifndef PRINTBUF +#define PRINTBUF 0x0001C000 +#endif +//static int printbuf_ptr = 0; +static char *printbuf_ptr = (char *)PRINTBUF; +//wtf needs smt +void putchar_handler(char c) { + //printbuf[printbuf_ptr++] = c; + //*(printbuf + printbuf_ptr++) = c; + *printbuf_ptr++ = c; +} +#endif + +// arci stuff +//void tst_done(unsigned int rc); +void tst_done(unsigned int rc); + +// in kernel (for constant locs) +extern void tst_pass(void); +extern void tst_fail(int i); +/* +void tst_pass(void); +void tst_fail(int i); + +void tst_fail(int i) { + while(1) {} +} + +void tst_pass(void) { + while(1) {} +} +*/ + +//inline unsigned int checkResult(unsigned int r) __attribute__((always_inline)); +unsigned int checkResult(unsigned int r); + +extern unsigned int tst_start; +extern unsigned int tst_end; +extern unsigned int tst_inits; +extern unsigned int tst_results; +extern unsigned int tst_expects; + +int main(int tid) { + int *p; + int *fdata = &_fdata; + unsigned int *inits = &tst_inits; + + if (tid != 0) { + return -1; + } + + // r/w memory init + + // copy + for (p = &_fdata_rom; p < &_edata_rom; p++){ + *(fdata++) = *p; + } + // zero + for (p = &_fbss; p < &_ebss; p++) { + *(p++) = 0; + } + +#ifdef PRINTF + console_set_write_hook(putchar_handler); + putchar('w'); + putchar('t'); + putchar('f'); + putchar('\n'); + printf("main(%i)\n", tid); +#endif + + // core init + set_epcr(0x03000000); // icm=gicm=1 + set_dec(0); + set_tbh(0); + set_tbl(0); + set_tsr(0xFE000000); // mask: clear enw,wis,wrs,dis,fis,udis + set_xucr0(get_xucr0() & ~0x00000200); // set tcs=0 + set_tsr(0); + set_tcr(0); // disable all timers + + // thread enable + // set_tens(0x3); + + // run a .tst + // danger! once r1 is whacked, any c code like bad int handler, etc. needs + // to make sure it has a safe stack for calls + asm ( + "mr 3,%0\n" + //"lis 4,init_tst@h\n" + //"ori 4,4,init_tst@l\n" + //"mtctr 4\n" + //"bcctr\n" + "b init_tst\n" + : // outputs + : "r"(inits) // inputs + : "r3" // clobbers + ); + + while(1) {} + return 0; +} + +#define MAGIC 0x08675309 + +// r1 has been restored to where it was for 'b init_tst' above +void tst_done(unsigned int rc) { + unsigned int i, ok = 1; + unsigned int act, exp; + + if (rc != MAGIC) { + tst_fail(0x80000000); + } + + // check GPR & CR + for (i = 0; i < 32; i++) { + act = *(&tst_results + i); + exp = *(&tst_expects + i); + ok = ok && (act == exp); + if (!ok) { + tst_fail(i); + } + } + + // check XER - a2o not compliant right now (only so/ov/ca/len) + i = 33; + act = *(&tst_results + i); + exp = *(&tst_expects + i) & 0xE000007F; + ok = ok && (act == exp); + if (!ok) { + tst_fail(i); + } + + // check CLT - skip tar, a2o doesn't have usermode sprg to use for save reg, so using tar + //for (i = 34; i < 37; i++) { + for (i = 34; i < 36; i++) { + act = *(&tst_results + i); + exp = *(&tst_expects + i); + ok = ok && (act == exp); + if (!ok) { + tst_fail(i); + } + } + + // could get back to kernel + tst_pass(); + while (1) {} +} + +// these are branched to! but if fun, they assume r1 is stack!!!! + +// tst is ended with sc to return to priv mode; then save results +void int_sc(int code, int srr0) { + asm ( + "b tst_end\n" + : // outputs + : // inputs + : // clobbers + ); +} + +void int_unhandled(void) { + while(1) {} +} + diff --git a/dev/src/test3_soc/bios.h b/dev/src/test3_soc/bios.h new file mode 100644 index 0000000..2cbb9c4 --- /dev/null +++ b/dev/src/test3_soc/bios.h @@ -0,0 +1,111 @@ +#ifndef _BIOS_H_ +#define _BIOS_H_ + +// need address for linker constants! +extern int _fdata_rom; +extern int _edata_rom; +extern int _fdata; +extern int _fbss; +extern int _ebss; + +// printf to mem +void putchar_handler(char c); + + +void int_sc(int code, int srr0); +void int_unhandled(void); + +inline void set_epcr(int v) __attribute__((always_inline)); +inline void set_dec(int v) __attribute__((always_inline)); +inline void set_tbh(int v) __attribute__((always_inline)); +inline void set_tbl(int v) __attribute__((always_inline)); +inline void set_tsr(int v) __attribute__((always_inline)); +inline void set_tcr(int v) __attribute__((always_inline)); +inline void set_tens(int v) __attribute__((always_inline)); +inline void set_xucr0(int v) __attribute__((always_inline)); +inline int get_xucr0(void) __attribute__((always_inline)); + +inline void set_epcr(int v) { + asm volatile( + "mtspr 307,%0\n" // epcr + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_dec(int v) { + asm volatile( + "mtspr 22,%0\n" // dec + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tbh(int v) { + asm volatile( + "mtspr 285,%0\n" // tbh + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tbl(int v) { + asm volatile( + "mtspr 284,%0\n" // tbl + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tsr(int v) { + asm volatile( + "mtspr 336,%0\n" // tsr + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tcr(int v) { + asm volatile( + "mtspr 340,%0\n" // tcr + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline int get_xucr0(void) { + int v; + asm volatile( + "mfspr %0,1014\n" // xucr0 + : "=r"(v) // outputs + : // inputs + : // clobbers + ); + return v; +} + +inline void set_xucr0(int v) { + asm volatile( + "mtspr 1014,%0\n" // xucr0 + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +inline void set_tens(int v) { + asm volatile( + "mtspr 438,%0\n" // tens + : // outputs + : "r"(v) // inputs + : "r4" // clobbers + ); +} + +#endif \ No newline at end of file diff --git a/dev/src/test3_soc/boot.s b/dev/src/test3_soc/boot.s new file mode 100755 index 0000000..30345ce --- /dev/null +++ b/dev/src/test3_soc/boot.s @@ -0,0 +1,377 @@ +# © IBM Corp. 2022 +# Licensed under and subject to the terms of the CC-BY 4.0 +# license (https://creativecommons.org/licenses/by/4.0/legalcode). +# Additional rights, including the right to physically implement a softcore +# that is compliant with the required sections of the Power ISA +# Specification, will be available at no cost via the OpenPOWER Foundation. +# This README will be updated with additional information when OpenPOWER's +# license is available. + +# boot kernel +# resets to 32BE +# set up translations for starting bios (inc. BE/LE) +# copy modifiable rom data to ram - or do in bios? +# set up msr for running bios (inc. 32/64) +# jump to bios + + +.include "defines.s" + +.macro load32 rx,v + li \rx,0 + oris \rx,\rx,\v>>16 + ori \rx,\rx,\v&0x0000FFFF +.endm + +.macro load16swiz rx,v + li \rx,0 + ori \rx,\rx,(\v<<8)&0xFF00 + ori \rx,\rx,(\v>>8)&0x00FF +.endm + +# constants from linker script, or defsym + +.ifdef BIOS_32 +# sup MSR cm=1 ce=1 ee=1 pr=0 fp=1 me=1 fe=00 de=0 is=0 ds=0 +.set BIOS_MSR,0x0002B000 +.else +# sup MSR cm=1 ce=1 ee=1 pr=0 fp=1 me=1 fe=00 de=0 is=0 ds=0 +.set BIOS_MSR,0x8002B000 +.endif + +#wtf this should to be done in bios based on the tst +# erat w2 (test) # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw=60:61 ur/sr=62:63 +.ifdef BIOS_LE +.set BIOS_ERATW2,0x000000BF +.else +.set BIOS_ERATW2,0x0000003F +.endif + +# bios might be able to use one stack during thread startup if careful +.ifndef BIOS_STACK_0 +.set BIOS_STACK_0,_stack_0 +.endif + +.ifndef BIOS_STACK_1 +.set BIOS_STACK_1,_stack_1 +.endif + +#wtf get rid of this and just make the low 1G a single erat entry - it can be fixed up by bios later +.ifndef BIOS_START +.set BIOS_START,0x00010000 +.endif + +.section .text + +.global _start + +.org 0x000 +_start: +int_000: + b boot_start + +.ifdef TST_END +# tst ends with ba here, which switches to priv and jumps to tst_end + sc +.endif + +# critical input +.org 0x020 +int_020: +.ifdef INT_UNHANDLED + b int_unhandled +.else + b . +.endif + +# debug +.org 0x040 +int_040: + b . + +# dsi +.org 0x060 +int_060: + b . + +# isi +.org 0x080 +int_080: + b . + +# external +.org 0x0A0 +int_0A0: + b . + +# alignment +.org 0x0C0 +int_0C0: + b . + +# program +.org 0x0E0 +int_0E0: + b . + +# fp unavailable +.org 0x100 +int_100: + b . + +# sc +.org 0x120 +int_120: +.ifdef TST_END +# tst results haven't been saved yet; if want to call bios, need to save r1, then restore or set stack + b tst_end +.else +.ifdef INT_SC + # lev is in 20:26, but supposed to use scv now + li r3,0 + mfsrr0 r4 + b int_sc +.else +.ifdef INT_UNHANDLED + b int_unhandled +.else + b . +.endif +.endif +.endif + +# apu unavailable +.org 0x140 +int_140: + b . + +# decrementer +.org 0x160 +int_160: + b . + +# fit +.org 0x180 +int_180: + b . + +# watchdog +.org 0x1A0 +int_1A0: + b . + +# dtlb +.org 0x1C0 +int_1C0: + b . + +# itlb +.org 0x1E0 +int_1E0: + b . + +# vector unavailable +.org 0x200 +int_200: + b . + +# +.org 0x220 +int_220: + b . + +# +.org 0x240 +int_240: + b . + +# +.org 0x260 +int_260: + b . + +# doorbell +.org 0x280 +int_280: + b . + +# doorbell critical +.org 0x2A0 +int_2A0: + b . + +# doorbell guest +.org 0x2C0 +int_2C0: + b . + +# doorbell guest critical +.org 0x2E0 +int_2E0: + b . + +# hvsc +.org 0x300 +int_300: + b . + +# hvpriv +.org 0x320 +int_320: + b . + +# lrat +.org 0x340 +int_340: + b . + +# ------------------------------------------------------------------------------------------------------------------------------ +# initial translation +# both erats: +# 00000000 64K: (rom, BE) +# 00010000 64K: (ram, BE or LE) +# +.org 0x400 +boot_start: + + mfspr r5,tir # who am i? + cmpdi r5,0x00 # skip unless T0 + bne init_t123 + + lis r3,0x8C00 # 32=ecl 36:37=tlbsel (10=i, 11=d) + +# derat 31 @00000000 + li r0,0x001F # entry #31 + li r2,0x0015 # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw=60:61 ur/sr=62:63 + li r4,0 # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + li r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + mtspr mmucr0,r3 + eratwe r2,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + + load32 r10,BIOS_ERATW2 # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw=60:61 ur/sr=62:63 + +# derat 30 @ + li r0,0x001E # entry #30 + load32 r4,BIOS_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + load32 r8,BIOS_START + ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + eratwe r10,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + + lis r3,0x8800 # 32=ecl 36:37=tlbsel (10=i, 11=d) + +# ierat 15 @00000000 + li r0,0x000F # entry #15 + li r2,0x003F # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw=60:61 ur/sr=62:63 + li r4,0 # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + li r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + mtspr mmucr0,r3 + eratwe r2,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + + # *** leave the init'd entry 14 for MT access to FFFFFFC0 + # ierat 13 @ + li r0,0x000D # entry #13 + load32 r4,BIOS_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + load32 r8,BIOS_START + ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 size: 0001=4K 0011=64K 0101=1M 0111=16M 1010=1G + + eratwe r10,r0,2 + eratwe r4,r0,1 + eratwe r8,r0,0 + isync + + b init_t0 + +# ------------------------------------------------------------------------------------------------------------------------------ +# init +# + +# T0 + +init_t0: + +# set up BIOS msr + + load32 r10,BIOS_MSR + mtmsr r10 + isync +# can't use load32 unless you can .set BIOS_STACK_0 to the linked value +# load32 r1,BIOS_STACK_0 # @stack_0 +# this ignores def +# lis r1,_stack_0@h +# ori r1,r1,_stack_0@l +# this requires data load + lwz r1,stack_0(r0) + + b boot_complete + +# except T0 + +init_t123: + +# set up BIOS msr + + load32 r10,BIOS_MSR + mtmsr r10 + isync + # check tir if more than 2 threads possible + lwz r1,stack_1(r0) + + b boot_complete + +# ------------------------------------------------------------------------------------------------------------------------------ +boot_complete: + +# set up thread and hop to it + + lis r3,main@h + ori r3,r3,main@l + mtctr r3 + mfspr r3,tir # who am i? + bctrl + b kernel_return + +# ------------------------------------------------------------------------------------------------------------------------------ + +.ifdef TST_PASSFAIL +.global tst_pass +.global tst_fail + +.org 0x7F0 +tst_pass: + b . + +.org 0x7F4 +tst_fail: + b . +.endif + +.org 0x7FC +kernel_return: + b . + +# dec +.org 0x800 +int_800: + b . + +# perf +.org 0x820 +int_820: + b . + +.org 0x8F0 +.section .rodata +stack_0: .long BIOS_STACK_0 +stack_1: .long BIOS_STACK_1 diff --git a/dev/src/test3_soc/build b/dev/src/test3_soc/build new file mode 100755 index 0000000..517ec9c --- /dev/null +++ b/dev/src/test3_soc/build @@ -0,0 +1,102 @@ +#!/usr/bin/bash + +export COMMONFLAGS="-ffreestanding -fomit-frame-pointer -Wall -fno-stack-protector" +export CFLAGS="$COMMONFLAGS -fexceptions -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes" + +#LITEXLIB= +#PRINTF= +LITEXLIB="libc.o vsnprintf.o console.o" +# getting dtlb in vsnprintf +PRINTF="-DPRINTF" + +# defines + +## define vars to init rom with csr's it uses... + +# +#csr_base=`grep '#define CSR_BASE' generated/csr.h | cut -d ' ' -f 3 | cut -c 1-6` +#uart_base=`grep 'CSR_UART_BASE' generated/csr.h | cut -d ' ' -f 5 | cut -c 3-6` +#UART_ADDR="${csr_base}${uart_base}" +#defsyms="-defsym $UART_ADDR" +# +#uart_base=`grep 'CSR_UART_1_BASE' generated/csr.h | cut -d ' ' -f 5 | cut -c 3-6` +#if [[ "$uart_base" != "" ]] ; then +# UART_1_ADDR="${csr_base}${uart_base}" +# defsyms="$defsyms -defsym $UART_1_ADDR" +#fi +# +#uart_base=`grep 'CSR_UART_2_BASE' generated/csr.h | cut -d ' ' -f 5 | cut -c 3-6` +#if [[ "$uart_base" != "" ]] ; then +# UART_2_ADDR="${csr_base}${uart_base}" +# defsyms="$defsyms -defsym $UART_2_ADDR" +#fi +# +#leds_base=`grep 'CSR_LEDS_BASE' generated/csr.h | cut -d ' ' -f 5 | cut -c 3-6` +#if [[ "$leds_base" != "" ]] ; then +# LEDS_ADDR="${csr_base}${leds_base}" +# defsyms="$defsyms -defsym $LEDS_ADDR" +#fi +# +#echo "CSR Addresses" +#echo "Console UART: ${UART_ADDR}" +#echo " LEDS: ${LEDS_ADDR}" +#echo " UART_1: ${UART_1_ADDR}" +#echo " UART_2: ${UART_1_ADDR}" + +# a2o nanokernel + +echo -n "Compiling..." + +echo -n "boot.s " +#powerpc-linux-gnu-as -mbig-endian -ma2 -defsym INT_SC=1 -defsym INT_UNHANDLED=1 -I. boot.s -ahlnd -o crt0.o > crt0.lst +powerpc-linux-gnu-as -mbig-endian -ma2 -defsym THREAD_ENABLES=3 -defsym TST_END=1 -defsym INT_UNHANDLED=1 -defsym TST_PASSFAIL=1 -I. boot.s -ahlnd -o crt0.o > crt0.lst + +if [ $? -ne 0 ]; then + exit +fi + +echo -n "arcitst.s " +#powerpc-linux-gnu-as -defsym UART_ADDR=$UART_ADDR -defsym LEDS_ADDR=$LEDS_ADDR -defsym UNHANDLED=1 -mbig-endian -mpower9 -I./asm asm/cmod7-boot.s -ahlnd -o crt0.o > crt0.lst +powerpc-linux-gnu-as -mbig-endian -ma2 -I. arcitst.s -ahlnd -o arcitst.o > arcitst.lst +if [ $? -ne 0 ]; then + exit +fi + +echo "" +echo -n "bios.c " +powerpc-linux-gnu-gcc $PRINTF -c -I. $CFLAGS bios.c +if [ $? -ne 0 ]; then + exit +fi + +echo "" +echo "Linking..." +powerpc-linux-gnu-ld -nostdlib -nodefaultlibs -T linker.ld crt0.o bios.o arcitst.o $LITEXLIB -o rom +if [ $? -ne 0 ]; then + exit +fi + +powerpc-linux-gnu-objdump -d rom > rom.d #wtf: why not getting labels in asm code? +powerpc-linux-gnu-objdump -s rom > rom.s +#powerpc-linux-gnu-objcopy --change-section-lma .bios=0x10000 -O binary rom rom.bin +powerpc-linux-gnu-objcopy -O binary rom rom.bin + +#python3 -m litex.soc.software.memusage rom ./generated/regions.ld powerpc-linux-gnu + +# make rom.bin.hex +bin/bin2init rom.bin +mv rom.bin.hex rom.init + +echo "Built rom.d, rom.s, rom.init." + +romsize=`grep rom regions.ld | cut -d " " -f 8 | cut -c 3-10` + +echo "Hardware ROM Size $romsize" +#echo "" +#echo "CSR Addresses" +#echo "Console UART: ${UART_ADDR}" +#echo " LEDS: ${LEDS_ADDR}" +#echo " UART_1: ${UART_1_ADDR}" +#echo " UART_2: ${UART_2_ADDR}" +# + diff --git a/dev/src/test3_soc/build_litex_base b/dev/src/test3_soc/build_litex_base new file mode 100755 index 0000000..fdd2579 --- /dev/null +++ b/dev/src/test3_soc/build_litex_base @@ -0,0 +1,43 @@ +#!/usr/bin/bash + +export COMMONFLAGS="-ffreestanding -fomit-frame-pointer -Wall -fno-stack-protector" +export CFLAGS="$COMMONFLAGS -fexceptions -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes" + +echo -n "Compiling..." + +echo "" + +echo -n "libc.c " +powerpc-linux-gnu-gcc -c -Ilitex/include/base -Ilitex/include/flibm $CFLAGS -DNO_FLOAT litex/libbase/libc.c +if [ $? -ne 0 ]; then + exit +fi + +echo -n "vsnprintf.c " +# NO_FLOAT gets rid of +#snprintf.c:(.text+0x800): undefined reference to `log10' +#powerpc-linux-gnu-ld: vsnprintf.c:(.text+0x80c): undefined reference to `floor' +#powerpc-linux-gnu-ld: vsnprintf.c:(.text+0x824): undefined reference to `pow' +#powerpc-linux-gnu-ld: vsnprintf.c:(.text+0x898): undefined reference to `fmod' +#powerpc-linux-gnu-ld: vsnprintf.c:(.text+0x950): undefined reference to `fmod' +powerpc-linux-gnu-gcc -c -Ilitex/include/base -Ilitex/include/flibm $CFLAGS -DNO_FLOAT litex/libbase/vsnprintf.c +if [ $? -ne 0 ]; then + exit +fi + +echo -n "console.c " +# use hacked console.c to printf to mem instead of uart - use console_set_write_hook(console_write_hook putchar_handler)) to print to buffer +#powerpc-linux-gnu-gcc -c -Ilitex/include/base -Ilitex/include/flibm $CFLAGS litex/libbase/console.c +powerpc-linux-gnu-gcc -nostdlib -nodefaultlibs -c -Ilitex/include/base -Ilitex/include/flibm $CFLAGS console.c + +if [ $? -ne 0 ]; then + exit +fi + +echo "" + +#echo "Linking to test dependencies..." +#powerpc-linux-gnu-ld -nostdlib -nodefaultlibs libc.o vsnprintf.o console.o -o litexlib.o +#if [ $? -ne 0 ]; then +# exit +#fi diff --git a/dev/src/test3_soc/console.c b/dev/src/test3_soc/console.c new file mode 100755 index 0000000..c0ddc6d --- /dev/null +++ b/dev/src/test3_soc/console.c @@ -0,0 +1,113 @@ +// use console_set_write_hook(func) to do putchar() to mem + +//#include +#include +#include +#include + +//#include + +FILE *stdin, *stdout, *stderr; + +static console_write_hook write_hook; +static console_read_hook read_hook; +static console_read_nonblock_hook read_nonblock_hook; + +void console_set_write_hook(console_write_hook h) +{ + write_hook = h; +} + +void console_set_read_hook(console_read_hook r, console_read_nonblock_hook rn) +{ + read_hook = r; + read_nonblock_hook = rn; +} + +#ifdef CSR_UART_BASE +int putchar(int c) +{ + uart_write(c); + if(write_hook != NULL) + write_hook(c); + if (c == '\n') + putchar('\r'); + return c; +} + +char readchar(void) +{ + while(1) { + if(uart_read_nonblock()) + return uart_read(); + if((read_nonblock_hook != NULL) && read_nonblock_hook()) + return read_hook(); + } +} + +int readchar_nonblock(void) +{ + return (uart_read_nonblock() + || ((read_nonblock_hook != NULL) && read_nonblock_hook())); +} + +#else + +int putchar(int c) +{ + if(write_hook != NULL) + write_hook(c); + return c; +} + +char readchar(void) +{ + while(1) { + if((read_nonblock_hook != NULL) && read_nonblock_hook()) + return read_hook(); + } +} + +int readchar_nonblock(void) +{ + return ((read_nonblock_hook != NULL) && read_nonblock_hook()); +} + +#endif + +int puts(const char *s) +{ + putsnonl(s); + putchar('\n'); + return 1; +} + +void putsnonl(const char *s) +{ + while(*s) { + putchar(*s); + s++; + } +} + +#define PRINTF_BUFFER_SIZE 256 + +int vprintf(const char *fmt, va_list args) +{ + int len; + char outbuf[PRINTF_BUFFER_SIZE]; + len = vscnprintf(outbuf, sizeof(outbuf), fmt, args); + outbuf[len] = 0; + putsnonl(outbuf); + return len; +} + +int printf(const char *fmt, ...) +{ + int len; + va_list args; + va_start(args, fmt); + len = vprintf(fmt, args); + va_end(args); + return len; +} diff --git a/dev/src/test3_soc/cpl_hang.png b/dev/src/test3_soc/cpl_hang.png new file mode 100644 index 0000000..b98460f Binary files /dev/null and b/dev/src/test3_soc/cpl_hang.png differ diff --git a/dev/src/test3_soc/crt0.lst b/dev/src/test3_soc/crt0.lst new file mode 100644 index 0000000..6b71463 --- /dev/null +++ b/dev/src/test3_soc/crt0.lst @@ -0,0 +1,661 @@ + 1 # © IBM Corp. 2022 + 2 # Licensed under and subject to the terms of the CC-BY 4.0 + 3 # license (https://creativecommons.org/licenses/by/4.0/legalcode). + 4 # Additional rights, including the right to physically implement a softcore + 5 # that is compliant with the required sections of the Power ISA + 6 # Specification, will be available at no cost via the OpenPOWER Foundation. + 7 # This README will be updated with additional information when OpenPOWER's + 8 # license is available. + 9 + 10 # boot kernel + 11 # resets to 32BE + 12 # set up translations for starting bios (inc. BE/LE) + 13 # copy modifiable rom data to ram - or do in bios? + 14 # set up msr for running bios (inc. 32/64) + 15 # jump to bios + 16 + 17 + 18 .include "defines.s" + 1 # © IBM Corp. 2020 + 2 # Licensed under and subject to the terms of the CC-BY 4.0 + 3 # license (https://creativecommons.org/licenses/by/4.0/legalcode). + 4 # Additional rights, including the right to physically implement a softcore + 5 # that is compliant with the required sections of the Power ISA + 6 # Specification, will be available at no cost via the OpenPOWER Foundation. + 7 # This README will be updated with additional information when OpenPOWER's + 8 # license is available. + 9 + 10 #----------------------------------------- + 11 # Defines + 12 #----------------------------------------- + 13 + 14 # Regs + 15 + 16 .set r0, 0 + 17 .set r1, 1 + 18 .set r2, 2 + 19 .set r3, 3 + 20 .set r4, 4 + 21 .set r5, 5 + 22 .set r6, 6 + 23 .set r7, 7 + 24 .set r8, 8 + 25 .set r9, 9 + 26 .set r10,10 + 27 .set r11,11 + 28 .set r12,12 + 29 .set r13,13 + 30 .set r14,14 + 31 .set r15,15 + 32 .set r16,16 + 33 .set r17,17 + 34 .set r18,18 + 35 .set r19,19 + 36 .set r20,20 + 37 .set r21,21 + 38 .set r22,22 + 39 .set r23,23 + 40 .set r24,24 + 41 .set r25,25 + 42 .set r26,26 + 43 .set r27,27 + 44 .set r28,28 + 45 .set r29,29 + 46 .set r30,30 + 47 .set r31,31 + 48 + 49 .set f0, 0 + 50 .set f1, 1 + 51 .set f2, 2 + 52 .set f3, 3 + 53 .set f4, 4 + 54 .set f5, 5 + 55 .set f6, 6 + 56 .set f7, 7 + 57 .set f8, 8 + 58 .set f9, 9 + 59 .set f10,10 + 60 .set f11,11 + 61 .set f12,12 + 62 .set f13,13 + 63 .set f14,14 + 64 .set f15,15 + 65 .set f16,16 + 66 .set f17,17 + 67 .set f18,18 + 68 .set f19,19 + 69 .set f20,20 + 70 .set f21,21 + 71 .set f22,22 + 72 .set f23,23 + 73 .set f24,24 + 74 .set f25,25 + 75 .set f26,26 + 76 .set f27,27 + 77 .set f28,28 + 78 .set f29,29 + 79 .set f30,30 + 80 .set f31,31 + 81 + 82 .set cr0, 0 + 83 .set cr1, 1 + 84 .set cr2, 2 + 85 .set cr3, 3 + 86 .set cr4, 4 + 87 .set cr5, 5 + 88 .set cr6, 6 + 89 .set cr7, 7 + 90 + 91 # SPR numbers + 92 + 93 .set srr0, 26 + 94 .set srr1, 27 + 95 .set dar, 19 + 96 .set dsisr, 18 + 97 .set epcr, 307 + 98 .set tar, 815 + 99 + 100 .set dbsr, 304 + 101 .set dbcr0, 308 + 102 .set dbcr1, 309 + 103 .set dbcr2, 310 + 104 .set dbcr3, 848 + 105 + 106 .set ivpr, 63 + 107 + 108 .set iucr0, 1011 + 109 .set iucr1, 883 + 110 .set iucr2, 884 + 111 + 112 .set iudbg0, 888 + 113 .set iudbg1, 889 + 114 .set iudbg2, 890 + 115 .set iulfsr, 891 + 116 .set iullcr, 892 + 117 + 118 .set mmucr0, 1020 + 119 .set mmucr1, 1021 + 120 .set mmucr2, 1022 + 121 .set mmucr3, 1023 + 122 + 123 .set tb, 268 + 124 .set tbl, 284 + 125 .set tbh, 285 + 126 + 127 .set dec, 22 + 128 .set udec, 550 + 129 .set tsr, 336 + 130 .set tcr, 340 + 131 + 132 .set xucr0, 1014 + 133 .set xucr1, 851 + 134 .set xucr2, 1016 + 135 .set xucr3, 852 + 136 .set xucr4, 853 + 137 + 138 .set tens, 438 + 139 .set tenc, 439 + 140 .set tensr, 437 + 141 + 142 .set pid, 48 + 143 .set pir, 286 + 144 .set pvr, 287 + 145 .set tir, 446 + 146 + 147 #.set sprg0, + 148 #.set sprg1, + 149 #.set sprg2, + 150 .set sprg3, 259 + 19 + 20 .macro load32 rx,v + 21 li \rx,0 + 22 oris \rx,\rx,\v>>16 + 23 ori \rx,\rx,\v&0x0000FFFF + 24 .endm + 25 + 26 .macro load16swiz rx,v + 27 li \rx,0 + 28 ori \rx,\rx,(\v<<8)&0xFF00 + 29 ori \rx,\rx,(\v>>8)&0x00FF + 30 .endm + 31 + 32 # constants from linker script, or defsym + 33 + 34 .ifdef BIOS_32 + 35 # sup MSR cm=1 ce=1 ee=1 pr=0 fp=1 me=1 fe=00 de=0 is=0 ds=0 + 36 .set BIOS_MSR,0x0002B000 + 37 .else + 38 # sup MSR cm=1 ce=1 ee=1 pr=0 fp=1 me=1 fe=00 de=0 is=0 ds=0 + 39 .set BIOS_MSR,0x8002B000 + 40 .endif + 41 + 42 #wtf this should to be done in bios based on the tst + 43 # erat w2 (test) # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/sx=58:59 uw/sw + 44 .ifdef BIOS_LE + 45 .set BIOS_ERATW2,0x000000BF + 46 .else + 47 .set BIOS_ERATW2,0x0000003F + 48 .endif + 49 + 50 # bios might be able to use one stack during thread startup if careful + 51 .ifndef BIOS_STACK_0 + 52 .set BIOS_STACK_0,_stack_0 + 53 .endif + 54 + 55 .ifndef BIOS_STACK_1 + 56 .set BIOS_STACK_1,_stack_1 + 57 .endif + 58 + 59 #wtf get rid of this and just make the low 1G a single erat entry - it can be fixed up by bios late + 60 .ifndef BIOS_START + 61 .set BIOS_START,0x00010000 + 62 .endif + 63 + 64 .section .text + 65 + 66 .global _start + 67 + 68 .org 0x000 + 69 _start: + 70 int_000: + 71 0000 48000400 b boot_start + 72 + 73 .ifdef TST_END + 74 # tst ends with ba here, which switches to priv and jumps to tst_end + 75 0004 44000002 sc + 76 .endif + 77 + 78 # critical input + 79 0008 00000000 .org 0x020 + 79 00000000 + 79 00000000 + 79 00000000 + 79 00000000 + 80 int_020: + 81 .ifdef INT_UNHANDLED + 82 0020 48000000 b int_unhandled + 83 .else + 84 b . + 85 .endif + 86 + 87 # debug + 88 0024 00000000 .org 0x040 + 88 00000000 + 88 00000000 + 88 00000000 + 88 00000000 + 89 int_040: + 90 0040 48000000 b . + 91 + 92 # dsi + 93 0044 00000000 .org 0x060 + 93 00000000 + 93 00000000 + 93 00000000 + 93 00000000 + 94 int_060: + 95 0060 48000000 b . + 96 + 97 # isi + 98 0064 00000000 .org 0x080 + 98 00000000 + 98 00000000 + 98 00000000 + 98 00000000 + 99 int_080: + 100 0080 48000000 b . + 101 + 102 # external + 103 0084 00000000 .org 0x0A0 + 103 00000000 + 103 00000000 + 103 00000000 + 103 00000000 + 104 int_0A0: + 105 00a0 48000000 b . + 106 + 107 # alignment + 108 00a4 00000000 .org 0x0C0 + 108 00000000 + 108 00000000 + 108 00000000 + 108 00000000 + 109 int_0C0: + 110 00c0 48000000 b . + 111 + 112 # program + 113 00c4 00000000 .org 0x0E0 + 113 00000000 + 113 00000000 + 113 00000000 + 113 00000000 + 114 int_0E0: + 115 00e0 48000000 b . + 116 + 117 # fp unavailable + 118 00e4 00000000 .org 0x100 + 118 00000000 + 118 00000000 + 118 00000000 + 118 00000000 + 119 int_100: + 120 0100 48000000 b . + 121 + 122 # sc + 123 0104 00000000 .org 0x120 + 123 00000000 + 123 00000000 + 123 00000000 + 123 00000000 + 124 int_120: + 125 .ifdef TST_END + 126 # tst results haven't been saved yet; if want to call bios, need to save r1, then restore or set st + 127 0120 48000000 b tst_end + 128 .else + 129 .ifdef INT_SC + 130 # lev is in 20:26, but supposed to use scv now + 131 li r3,0 + 132 mfsrr0 r4 + 133 b int_sc + 134 .else + 135 .ifdef INT_UNHANDLED + 136 b int_unhandled + 137 .else + 138 b . + 139 .endif + 140 .endif + 141 .endif + 142 + 143 # apu unavailable + 144 0124 00000000 .org 0x140 + 144 00000000 + 144 00000000 + 144 00000000 + 144 00000000 + 145 int_140: + 146 0140 48000000 b . + 147 + 148 # decrementer + 149 0144 00000000 .org 0x160 + 149 00000000 + 149 00000000 + 149 00000000 + 149 00000000 + 150 int_160: + 151 0160 48000000 b . + 152 + 153 # fit + 154 0164 00000000 .org 0x180 + 154 00000000 + 154 00000000 + 154 00000000 + 154 00000000 + 155 int_180: + 156 0180 48000000 b . + 157 + 158 # watchdog + 159 0184 00000000 .org 0x1A0 + 159 00000000 + 159 00000000 + 159 00000000 + 159 00000000 + 160 int_1A0: + 161 01a0 48000000 b . + 162 + 163 # dtlb + 164 01a4 00000000 .org 0x1C0 + 164 00000000 + 164 00000000 + 164 00000000 + 164 00000000 + 165 int_1C0: + 166 01c0 48000000 b . + 167 + 168 # itlb + 169 01c4 00000000 .org 0x1E0 + 169 00000000 + 169 00000000 + 169 00000000 + 169 00000000 + 170 int_1E0: + 171 01e0 48000000 b . + 172 + 173 # vector unavailable + 174 01e4 00000000 .org 0x200 + 174 00000000 + 174 00000000 + 174 00000000 + 174 00000000 + 175 int_200: + 176 0200 48000000 b . + 177 + 178 # + 179 0204 00000000 .org 0x220 + 179 00000000 + 179 00000000 + 179 00000000 + 179 00000000 + 180 int_220: + 181 0220 48000000 b . + 182 + 183 # + 184 0224 00000000 .org 0x240 + 184 00000000 + 184 00000000 + 184 00000000 + 184 00000000 + 185 int_240: + 186 0240 48000000 b . + 187 + 188 # + 189 0244 00000000 .org 0x260 + 189 00000000 + 189 00000000 + 189 00000000 + 189 00000000 + 190 int_260: + 191 0260 48000000 b . + 192 + 193 # doorbell + 194 0264 00000000 .org 0x280 + 194 00000000 + 194 00000000 + 194 00000000 + 194 00000000 + 195 int_280: + 196 0280 48000000 b . + 197 + 198 # doorbell critical + 199 0284 00000000 .org 0x2A0 + 199 00000000 + 199 00000000 + 199 00000000 + 199 00000000 + 200 int_2A0: + 201 02a0 48000000 b . + 202 + 203 # doorbell guest + 204 02a4 00000000 .org 0x2C0 + 204 00000000 + 204 00000000 + 204 00000000 + 204 00000000 + 205 int_2C0: + 206 02c0 48000000 b . + 207 + 208 # doorbell guest critical + 209 02c4 00000000 .org 0x2E0 + 209 00000000 + 209 00000000 + 209 00000000 + 209 00000000 + 210 int_2E0: + 211 02e0 48000000 b . + 212 + 213 # hvsc + 214 02e4 00000000 .org 0x300 + 214 00000000 + 214 00000000 + 214 00000000 + 214 00000000 + 215 int_300: + 216 0300 48000000 b . + 217 + 218 # hvpriv + 219 0304 00000000 .org 0x320 + 219 00000000 + 219 00000000 + 219 00000000 + 219 00000000 + 220 int_320: + 221 0320 48000000 b . + 222 + 223 # lrat + 224 0324 00000000 .org 0x340 + 224 00000000 + 224 00000000 + 224 00000000 + 224 00000000 + 225 int_340: + 226 0340 48000000 b . + 227 + 228 # ------------------------------------------------------------------------------------------------- + 229 # initial translation + 230 # both erats: + 231 # 00000000 64K: (rom, BE) + 232 # 00010000 64K: (ram, BE or LE) + 233 # + 234 0344 00000000 .org 0x400 + 234 00000000 + 234 00000000 + 234 00000000 + 234 00000000 + 235 boot_start: + 236 + 237 0400 7CBE6AA6 mfspr r5,tir # who am i? + 238 0404 2C250000 cmpdi r5,0x00 # skip unless T0 + 239 0408 408200E0 bne init_t123 + 240 + 241 040c 3C608C00 lis r3,0x8C00 # 32=ecl 36:37=tlbsel (10=i, 11=d) + 242 + 243 # derat 31 @00000000 + 244 0410 3800001F li r0,0x001F # entry #31 + 245 0414 38400015 li r2,0x0015 # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/ + 246 0418 38800000 li r4,0 # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + 247 041c 3900023F li r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 s + 248 + 249 0420 7C7CFBA6 mtspr mmucr0,r3 + 250 0424 7C4011A6 eratwe r2,r0,2 + 251 0428 7C8009A6 eratwe r4,r0,1 + 252 042c 7D0001A6 eratwe r8,r0,0 + 253 0430 4C00012C isync + 254 + 255 0434 39400000 load32 r10,BIOS_ERATW2 # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/ + 255 654A0000 + 255 614A003F + 256 + 257 # derat 30 @ + 258 0440 3800001E li r0,0x001E # entry #30 + 259 0444 38800000 load32 r4,BIOS_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + 259 64840001 + 259 60840000 + 260 0450 39000000 load32 r8,BIOS_START + 260 65080001 + 260 61080000 + 261 045c 6108023F ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 s + 262 + 263 0460 7D4011A6 eratwe r10,r0,2 + 264 0464 7C8009A6 eratwe r4,r0,1 + 265 0468 7D0001A6 eratwe r8,r0,0 + 266 046c 4C00012C isync + 267 + 268 0470 3C608800 lis r3,0x8800 # 32=ecl 36:37=tlbsel (10=i, 11=d) + 269 + 270 # ierat 15 @00000000 + 271 0474 3800000F li r0,0x000F # entry #15 + 272 0478 3840003F li r2,0x003F # word 2 wlc=40:41 rsvd=42 u=44:47 r=48 c=49 wimge=52:56 vf=57 ux/ + 273 047c 38800000 li r4,0 # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + 274 0480 3900023F li r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 s + 275 + 276 0484 7C7CFBA6 mtspr mmucr0,r3 + 277 0488 7C4011A6 eratwe r2,r0,2 + 278 048c 7C8009A6 eratwe r4,r0,1 + 279 0490 7D0001A6 eratwe r8,r0,0 + 280 0494 4C00012C isync + 281 + 282 # *** leave the init'd entry 14 for MT access to FFFFFFC0 + 283 # ierat 13 @ + 284 0498 3800000D li r0,0x000D # entry #13 + 285 049c 38800000 load32 r4,BIOS_START # word 1 rpn(32:51)=32:51 rpn(22:31)=54:63 + 285 64840001 + 285 60840000 + 286 04a8 39000000 load32 r8,BIOS_START + 286 65080001 + 286 61080000 + 287 04b4 6108023F ori r8,r8,0x023F # word 0 epn=32:51 class=52:53 v=54 x=55 size=56:59 thrd=60:63 s + 288 + 289 04b8 7D4011A6 eratwe r10,r0,2 + 290 04bc 7C8009A6 eratwe r4,r0,1 + 291 04c0 7D0001A6 eratwe r8,r0,0 + 292 04c4 4C00012C isync + 293 + 294 04c8 48000004 b init_t0 + 295 + 296 # ------------------------------------------------------------------------------------------------- + 297 # init + 298 # + 299 + 300 # T0 + 301 + 302 init_t0: + 303 + 304 # set up BIOS msr + 305 + 306 04cc 39400000 load32 r10,BIOS_MSR + 306 654A8002 + 306 614AB000 + 307 04d8 7D400124 mtmsr r10 + 308 04dc 4C00012C isync + 309 # can't use load32 unless you can .set BIOS_STACK_0 to the linked value + 310 # load32 r1,BIOS_STACK_0 # @stack_0 + 311 # this ignores def + 312 # lis r1,_stack_0@h + 313 # ori r1,r1,_stack_0@l + 314 # this requires data load + 315 04e0 80200000 lwz r1,stack_0(r0) + 316 + 317 04e4 48000020 b boot_complete + 318 + 319 # except T0 + 320 + 321 init_t123: + 322 + 323 # set up BIOS msr + 324 + 325 04e8 39400000 load32 r10,BIOS_MSR + 325 654A8002 + 325 614AB000 + 326 04f4 7D400124 mtmsr r10 + 327 04f8 4C00012C isync + 328 # check tir if more than 2 threads possible + 329 04fc 80200000 lwz r1,stack_1(r0) + 330 + 331 0500 48000004 b boot_complete + 332 + 333 # ------------------------------------------------------------------------------------------------- + 334 boot_complete: + 335 + 336 # set up thread and hop to it + 337 + 338 0504 3C600000 lis r3,main@h + 339 0508 60630000 ori r3,r3,main@l + 340 050c 7C6903A6 mtctr r3 + 341 0510 7C7E6AA6 mfspr r3,tir # who am i? + 342 0514 4E800421 bctrl + 343 0518 480002E4 b kernel_return + 344 + 345 # ------------------------------------------------------------------------------------------------- + 346 + 347 .ifdef TST_PASSFAIL + 348 .global tst_pass + 349 .global tst_fail + 350 + 351 051c 00000000 .org 0x7F0 + 351 00000000 + 351 00000000 + 351 00000000 + 351 00000000 + 352 tst_pass: + 353 07f0 48000000 b . + 354 + 355 .org 0x7F4 + 356 tst_fail: + 357 07f4 48000000 b . + 358 .endif + 359 + 360 07f8 00000000 .org 0x7FC + 361 kernel_return: + 362 07fc 48000000 b . + 363 + 364 # dec + 365 .org 0x800 + 366 int_800: + 367 0800 48000000 b . + 368 + 369 # perf + 370 0804 00000000 .org 0x820 + 370 00000000 + 370 00000000 + 370 00000000 + 370 00000000 + 371 int_820: + 372 0820 48000000 b . + 373 + 374 0824 00000000 .org 0x8F0 + 374 00000000 + 374 00000000 + 374 00000000 + 374 00000000 + 375 .section .rodata + 376 0000 00000000 stack_0: .long BIOS_STACK_0 + 377 0004 00000000 stack_1: .long BIOS_STACK_1 diff --git a/dev/src/test3_soc/defines.s b/dev/src/test3_soc/defines.s new file mode 100755 index 0000000..0607732 --- /dev/null +++ b/dev/src/test3_soc/defines.s @@ -0,0 +1,150 @@ +# © IBM Corp. 2020 +# Licensed under and subject to the terms of the CC-BY 4.0 +# license (https://creativecommons.org/licenses/by/4.0/legalcode). +# Additional rights, including the right to physically implement a softcore +# that is compliant with the required sections of the Power ISA +# Specification, will be available at no cost via the OpenPOWER Foundation. +# This README will be updated with additional information when OpenPOWER's +# license is available. + +#----------------------------------------- +# Defines +#----------------------------------------- + +# Regs + +.set r0, 0 +.set r1, 1 +.set r2, 2 +.set r3, 3 +.set r4, 4 +.set r5, 5 +.set r6, 6 +.set r7, 7 +.set r8, 8 +.set r9, 9 +.set r10,10 +.set r11,11 +.set r12,12 +.set r13,13 +.set r14,14 +.set r15,15 +.set r16,16 +.set r17,17 +.set r18,18 +.set r19,19 +.set r20,20 +.set r21,21 +.set r22,22 +.set r23,23 +.set r24,24 +.set r25,25 +.set r26,26 +.set r27,27 +.set r28,28 +.set r29,29 +.set r30,30 +.set r31,31 + +.set f0, 0 +.set f1, 1 +.set f2, 2 +.set f3, 3 +.set f4, 4 +.set f5, 5 +.set f6, 6 +.set f7, 7 +.set f8, 8 +.set f9, 9 +.set f10,10 +.set f11,11 +.set f12,12 +.set f13,13 +.set f14,14 +.set f15,15 +.set f16,16 +.set f17,17 +.set f18,18 +.set f19,19 +.set f20,20 +.set f21,21 +.set f22,22 +.set f23,23 +.set f24,24 +.set f25,25 +.set f26,26 +.set f27,27 +.set f28,28 +.set f29,29 +.set f30,30 +.set f31,31 + +.set cr0, 0 +.set cr1, 1 +.set cr2, 2 +.set cr3, 3 +.set cr4, 4 +.set cr5, 5 +.set cr6, 6 +.set cr7, 7 + +# SPR numbers + +.set srr0, 26 +.set srr1, 27 +.set dar, 19 +.set dsisr, 18 +.set epcr, 307 +.set tar, 815 + +.set dbsr, 304 +.set dbcr0, 308 +.set dbcr1, 309 +.set dbcr2, 310 +.set dbcr3, 848 + +.set ivpr, 63 + +.set iucr0, 1011 +.set iucr1, 883 +.set iucr2, 884 + +.set iudbg0, 888 +.set iudbg1, 889 +.set iudbg2, 890 +.set iulfsr, 891 +.set iullcr, 892 + +.set mmucr0, 1020 +.set mmucr1, 1021 +.set mmucr2, 1022 +.set mmucr3, 1023 + +.set tb, 268 +.set tbl, 284 +.set tbh, 285 + +.set dec, 22 +.set udec, 550 +.set tsr, 336 +.set tcr, 340 + +.set xucr0, 1014 +.set xucr1, 851 +.set xucr2, 1016 +.set xucr3, 852 +.set xucr4, 853 + +.set tens, 438 +.set tenc, 439 +.set tensr, 437 + +.set pid, 48 +.set pir, 286 +.set pvr, 287 +.set tir, 446 + +#.set sprg0, +#.set sprg1, +#.set sprg2, +.set sprg3, 259 diff --git a/dev/src/test3_soc/fx_alucmpbr.tst b/dev/src/test3_soc/fx_alucmpbr.tst new file mode 100644 index 0000000..06d4324 --- /dev/null +++ b/dev/src/test3_soc/fx_alucmpbr.tst @@ -0,0 +1,319 @@ +* OPV +* Testname: fx_alucmpbr.tst + +* -------------------------------------------------------------------------------- +TEST 1001 +INITIALIZATIONS: DATA MEMORY +D 0000000008F00850 0001FFFFFF000007D400000068877812 * PTE Match EPN=0x000000000001 VPN=0x0001FFFFFF000001 RPN=0x000000006887 WIMG=0x2 I TA=0 +D 0000000053E6FD70 2000000008F10B02 * Root Table Descriptor , Partition Table Primary Entry for LPID = 0xFD7: HTABORG = 0x0800_0000_023C, HTABSIZE = 0x02, PS = 0x0, Entry Address = 0x0000_0000_53E6_FD70 WIMG=0x2 +D 0000000053E6FD78 000618E1E5836C87 * Segmentation On HPT, Process Table Descriptor, Partition Table Secondary Entry for LPID = 0xFD7: PRTB = 0x00_030C_70F2, PTS = 0x07, NUT = 0x0, PTPS = 0x4 WIMG=0x2 +D 00000000F0D2D3F0 400AC1CD9CEF56376DF7C045D17603CB * Guest Root Table Descriptor, Process Table Entry for LPID = 0x000 STABORGU = 0x000A_C1CD_9CEF_5637 STABORGL = 0x6 STABSIZE = 0xC B = 0x1 STPS = 0x5 +INITIALIZATIONS: INSTRUCTION MEMORY +LEVEL 4 CHIP 0 +LEVEL 3 CORE 0 +INITIALIZATIONS: REGISTERS +LEVEL 2 PARTITION 0 +INITIALIZATIONS: REGISTERS +LEVEL 1 THREAD 0 +INITIALIZATIONS: REGISTERS +R CR DBFD3628 * LT:1 GT:1 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R DAR 96A22826D573F45F +R DSISR 48068CFB * TS:0 PF:1 ATT:0 Rsrv35:0 Prot:1 CI:0 +* Store:0 Rsrv39_40:0 DAWR:0 VPCK:0 +* SMF:0 RADIX:0 RC:1 Guest_Tbl:1 +* Rsrv47_61:233E CIX:1 EAO:1 +R DEC 0000000005792645 +R XER 00002E2289F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:0 LT:1 GT:0 EQ:0 IC:1 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R G0 CC7B4BBA00000000 +R G1 F99E00E65822C905 +R G3 48577A9C91B6D1A3 +R G9 6872DEB47E11EE88 +R G11 415D35187FFFFFFF +R G14 BCF163168C20BDE6 +R G16 CE83BAA576D0DADF +R G17 06C01CAE15111F42 +R G19 4283519E36108E50 +R G22 4FA8B87B328A0CED +R G25 9138C732AF224C19 +R G28 2F4816B9D624B27A +R IAR 0000000000010000 +R MSR 0000000000001104 * SF:0 TA:0 Rsrv2_old_ISF:0 HV:0 +* Rsrv4:0 SLE:0 Rsrv6_28:000000 TS:0 +* TM:0 Rsrv32_37:00 VMX:0 Rsrv39:0 +* VSX:0 S:0 Rsrv42_47:00 EE:0 PR:0 FP:0 +* ME:1 FE0:0 SE:0 BE:0 FE1:1 US:0 +* Rsrv57_old_IP:0 IR:0 DR:0 +* Rsrv60_old_SO:0 PMM:1 RI:0 LE:0 + +PHASE 0 INSTRUCTIONS +I 0000000068870000 7C61CC14 * EA=0000000000010000 WIMG=2 addco G3,G1,G25 INum:1 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G1 F99E00E65822C905 +R G25 9138C732AF224C19 +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 0000000000000000 M 0000000000000000 * PTE +TRACE WRITES +R G3 8AD6C8190745151E +R XER 00002E22A9F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:0 LT:1 GT:0 EQ:0 IC:1 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +R IAR 0000000000010004 +D 0000000008F00858 D400000068877912 * PTE +I 0000000068870004 7D230595 * EA=0000000000010004 WIMG=2 addzeo. G9,G3 INum:2 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G3 8AD6C8190745151E +R XER 00002E22A9F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:0 LT:1 GT:0 EQ:0 IC:1 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G9 8AD6C8190745151F +R XER 00002E2284F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:0 LT:0 GT:1 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R CR 5BFD3628 * LT:0 GT:1 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 0000000000010008 +I 0000000068870008 7AC37392 * EA=0000000000010008 WIMG=2 rldcr G3,G22,G14,0x0E INum:3 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G14 BCF163168C20BDE6 +R G22 4FA8B87B328A0CED +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G3 A282000000000000 +R IAR 000000000001000C +I 000000006887000C 7E094C11 * EA=000000000001000C WIMG=2 subfco. G16,G9,G9 INum:4 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G9 8AD6C8190745151F +R XER 00002E2284F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:0 LT:0 GT:1 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G16 0000000000000000 +R XER 00002E22B2F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:0 EQ:1 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +R CR 3BFD3628 * LT:0 GT:0 EQ:1 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 0000000000010010 +I 0000000068870010 7E1CB115 * EA=0000000000010010 WIMG=2 adde. G16,G28,G22 INum:5 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G28 2F4816B9D624B27A +R G22 4FA8B87B328A0CED +R XER 00002E22B2F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:0 EQ:1 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G16 7EF0CF3508AEBF68 +R XER 00002E22B4F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:1 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +R CR 5BFD3628 * LT:0 GT:1 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 0000000000010014 +I 0000000068870014 7A338886 * EA=0000000000010014 WIMG=2 rldicr G19,G17,0x31,0x02 INum:6 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G17 06C01CAE15111F42 +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G19 2000000000000000 +R IAR 0000000000010018 +I 0000000068870018 7C6004D1 * EA=0000000000010018 WIMG=2 nego. G3,G0 INum:7 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G0 CC7B4BBA00000000 +R XER 00002E22B4F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:1 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G3 3384B44600000000 +R XER 00002E22B2F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:0 EQ:1 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +R CR 3BFD3628 * LT:0 GT:0 EQ:1 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 000000000001001C +I 000000006887001C 7E09B038 * EA=000000000001001C WIMG=2 and G9,G16,G22 INum:8 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G16 7EF0CF3508AEBF68 +R G22 4FA8B87B328A0CED +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G9 4EA08831008A0C68 +R IAR 0000000000010020 +I 0000000068870020 7C360591 * EA=0000000000010020 WIMG=2 subfzeo. G1,G22 INum:9 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G22 4FA8B87B328A0CED +R XER 00002E22B2F4006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:1 +* OC:1 LT:0 GT:0 EQ:1 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:1 +* Rsrv46_56:000 Rsrv44_56:0800 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G1 B0574784CD75F313 +R XER 00002E2298F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:1 LT:1 GT:0 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R CR 9BFD3628 * LT:1 GT:0 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R IAR 0000000000010024 +I 0000000068870024 7E2B00D1 * EA=0000000000010024 WIMG=2 neg. G17,G11 INum:10 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +R G11 415D35187FFFFFFF +R XER 00002E2298F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:1 LT:1 GT:0 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R G17 BEA2CAE780000001 +R XER 00002E2298F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:1 LT:1 GT:0 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R CR 9BFD3628 * LT:1 GT:0 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +* FALSE PHASE 0.0 INSTRUCTIONS +R IAR 0000000000010028 + +EPILOGUE +* Begin macro Epilogue_Sequence +* TRUE +* TRUE +I 0000000068870028 60000000 * EA=0000000000010028 WIMG=2 nop INum:11 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R IAR 000000000001002C +I 000000006887002C 60000000 * EA=000000000001002C WIMG=2 nop_Epilogue INum:12 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R IAR 0000000000010030 +I 0000000068870030 60000000 * EA=0000000000010030 WIMG=2 nop_Epilogue INum:13 PartId:0 ThreadId:0 Phase:0 CoreId:0 + +TRACE READS +D 0000000053E6FD70 2000000008F10B02 * RADIX +D 0000000053E6FD78 000618E1E5836C87 * RADIX +D 0000000008F00850 0001FFFFFF000007 * PTE +D 0000000008F00858 D400000068877912 * PTE +TRACE WRITES +R IAR 0000000000010034 +I 0000000068870034 24000000 * EA=0000000000010034 WIMG=2 notrace INum:14 PartId:0 ThreadId:0 Phase:0 CoreId:0 +* End of macro Epilogue_Sequence +RESULTS: REGISTERS +R CR 9BFD3628 * LT:1 GT:0 EQ:0 SO:1 FX:1 FEX:0 VX:1 +* OX:1 CR2:F CR3:D CR4:3 CR5:6 CR6:2 +* CR7:8 +R DAR 96A22826D573F45F +R DSISR 48068CFB * TS:0 PF:1 ATT:0 Rsrv35:0 Prot:1 CI:0 +* Store:0 Rsrv39_40:0 DAWR:0 VPCK:0 +* SMF:0 RADIX:0 RC:1 Guest_Tbl:1 +* Rsrv47_61:233E CIX:1 EAO:1 +R DEC 0000000005792645 +R XER 00002E2298F0006E * Rsrv0_15:0000 DC:2E22 SO:1 OV:0 CA:0 +* OC:1 LT:1 GT:0 EQ:0 IC:0 DS:1 TAG0:1 +* TAG1:1 TAG:1 OV32:0 CA32:0 +* Rsrv46_56:000 Rsrv44_56:0000 len:6E +R G0 CC7B4BBA00000000 +R G1 B0574784CD75F313 +R G3 3384B44600000000 +R G9 4EA08831008A0C68 +R G11 415D35187FFFFFFF +R G14 BCF163168C20BDE6 +R G16 7EF0CF3508AEBF68 +R G17 BEA2CAE780000001 +R G19 2000000000000000 +R G22 4FA8B87B328A0CED +R G25 9138C732AF224C19 +R G28 2F4816B9D624B27A +R IAR 0000000000010038 +R MSR 0000000000001104 * SF:0 TA:0 Rsrv2_old_ISF:0 HV:0 +* Rsrv4:0 SLE:0 Rsrv6_28:000000 TS:0 +* TM:0 Rsrv32_37:00 VMX:0 Rsrv39:0 +* VSX:0 S:0 Rsrv42_47:00 EE:0 PR:0 FP:0 +* ME:1 FE0:0 SE:0 BE:0 FE1:1 US:0 +* Rsrv57_old_IP:0 IR:0 DR:0 +* Rsrv60_old_SO:0 PMM:1 RI:0 LE:0 +END_OF_LEVEL 1 THREAD 0 +RESULTS: REGISTERS +END_OF_LEVEL 2 PARTITION 0 +RESULTS: REGISTERS +END_OF_LEVEL 3 CORE 0 +END_OF_LEVEL 4 CHIP 0 +RESULTS: DATA MEMORY +D 0000000008F00850 0001FFFFFF000007D400000068877912 * PTE +D 0000000053E6FD70 2000000008F10B02 +D 0000000053E6FD78 000618E1E5836C87 +D 00000000F0D2D3F0 400AC1CD9CEF56376DF7C045D17603CB +END_OF_TEST diff --git a/dev/src/test3_soc/liblitex.h b/dev/src/test3_soc/liblitex.h new file mode 100644 index 0000000..7fa8627 --- /dev/null +++ b/dev/src/test3_soc/liblitex.h @@ -0,0 +1,8 @@ +#ifndef _LITEXLIB_ +#define _LITEXLIB_ + +//#include +#include + + +#endif \ No newline at end of file diff --git a/dev/src/test3_soc/linker.ld b/dev/src/test3_soc/linker.ld new file mode 100755 index 0000000..538e1a2 --- /dev/null +++ b/dev/src/test3_soc/linker.ld @@ -0,0 +1,96 @@ +/* this version puts kernel and bios at rom start +/* and makes the tst be copied to ram (soc really does have rom memory) + +/* define format +INCLUDE output_format.ld */ +OUTPUT_FORMAT("elf32-powerpc") + +ENTRY(_start) + +/* define origin, len of rom, ram, csr */ +INCLUDE regions.ld + +SECTIONS +{ + /* kernel code */ + .kernel : + { + /*_fkernel = .; */ + *crt0*(.text) + KEEP(*crt0*(.text)) + *(.gnu.linkonce.t.*) + _ekernel = .; + } > rom + + .rodata : + { + . = ALIGN(8); + _frodata = .; + *(.rodata .rodata.* .gnu.linkonce.r.*) + *(.rodata1) + *(.got2 .got2.*) + *(.toc .toc.*) + FILL(0); + . = ALIGN(8); + _erodata = .; + } > rom + + /* bios code */ + .bios : + { + . = ALIGN(32); + bios.o (.text .text* .gnu.linkonce.t.*) + . = ALIGN(4); + } > rom + + /* kernel data to be copied to ram by rom code...*/ + .data : + { + . = ALIGN(8); + _fdata = .; + *(.data .data.* .sdata .gnu.linkonce.d.*) + FILL(0); + . = ALIGN(8); + _edata = .; + } > ram AT > rom + + /* tst - if statically loaded in rom, must be copied to ram (save/restore) */ + /* now if i don't make it .data, linker puts bios after it??? because of .text???*/ + .data : + { + . = ALIGN(32); + arcitst.o (.text .text* .gnu.linkonce.t.*) + . = ALIGN(4); + } > ram AT > rom + + .bss : + { + /*. = 0x00000000; */ + _fbss = .; + *(.dynsbss) + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(8); + _ebss = .; + _end = .; + } > ram + + /DISCARD/ : + { + *(.eh_frame) + *(.comment) + *(.gnu.attributes) + } + +} + +PROVIDE(_stack_size = 0x00010000); +PROVIDE(_stack_0 = ORIGIN(ram) + LENGTH(ram) - 8); +PROVIDE(_stack_1 = _stack_0 - _stack_size); + +PROVIDE(_fdata_rom = LOADADDR(.data)); +PROVIDE(_edata_rom = LOADADDR(.data) + SIZEOF(.data)); +PROVIDE(_bios_start = LOADADDR(.bios)); diff --git a/dev/src/test3_soc/litex b/dev/src/test3_soc/litex new file mode 120000 index 0000000..c037288 --- /dev/null +++ b/dev/src/test3_soc/litex @@ -0,0 +1 @@ +/home/wtf/projects/litex/litex/soc/software \ No newline at end of file diff --git a/dev/src/test3_soc/readme.md b/dev/src/test3_soc/readme.md new file mode 100644 index 0000000..d886723 --- /dev/null +++ b/dev/src/test3_soc/readme.md @@ -0,0 +1,85 @@ +# test3 - kernel+bios+arci + +* gen, convert, and link random tst (fx_alucmpbr.tst), and try to run + +``` +build + +# create mem file for coco sim +cp rom.init test3 +``` + +### methodology + +1. produce tst.s (stub code and tst definition) and link with kernel/bios +2. tst init is done in tst.s +3. jmp2tst +4. tst ends (bla through kernel, sc, etc.) +5. tst cleanup is done in tst.s +6. tst checking, etc. is done in bios + + + + +### debug + +* hanging during results save; itags not executed in cpl queue + +![](cpl_hang.png) + +* itags 07-0B are dispatched but not marked 'executed' in cplq; they were sent to stq + +* not documented completely in spec (CPCR2, CPCR3, CPCR4, CPCR5); 2/3 are for hi-pri and 4/5 for med(?) + + ``` + assign spr_t0_cpcr2_fx0_cnt = cpcr2_l2[0][35:39]; + assign spr_t0_cpcr2_fx1_cnt = cpcr2_l2[0][43:47]; + assign spr_t0_cpcr2_lq_cnt = cpcr2_l2[0][51:55]; + assign spr_t0_cpcr2_sq_cnt = cpcr2_l2[0][59:63]; + assign spr_t0_cpcr3_fu0_cnt = cpcr3_l2[0][43:47]; + assign spr_t0_cpcr3_fu1_cnt = cpcr3_l2[0][51:55]; + assign spr_t0_cpcr3_cp_cnt = cpcr3_l2[0][57:63]; + assign spr_t0_cpcr4_fx0_cnt = cpcr4_l2[0][35:39]; + assign spr_t0_cpcr4_fx1_cnt = cpcr4_l2[0][43:47]; + assign spr_t0_cpcr4_lq_cnt = cpcr4_l2[0][51:55]; + assign spr_t0_cpcr4_sq_cnt = cpcr4_l2[0][59:63]; + assign spr_t0_cpcr5_fu0_cnt = cpcr5_l2[0][43:47]; + assign spr_t0_cpcr5_fu1_cnt = cpcr5_l2[0][51:55]; + assign spr_t0_cpcr5_cp_cnt = cpcr5_l2[0][57:63]; + ``` + +* verilog violation in iuq_dispatch! unused thread 1 strand bits skipping force to 0, and used later as x's for credit checks which didn't stop dispatch + +``` +//wtf (THREADS1 is def'd) +// iverilog sez: ../../verilog/work/iuq_dispatch.v:2322: warning: @* found no sensitivities so it will never trigger. +// seems to be correct behavior - block won't be entered without a value change +// make it initial, or a generate? +`ifdef THREADS1 + //always @(*) + initial +``` + + +### printf from litex + +add putchar function to store to memory buffer + +``` +/home/wtf/projects/litex/litex/soc/software/libbase/vsnprintf.c + +plus at least these: + +from /home/wtf/projects/litex/litex/soc/software/include/base/ +#include +#include +#include +#include +#include +#include +#include + +from /home/wtf/projects/litex/litex/soc/software/include/fdlibm +#include +``` + diff --git a/dev/src/test3_soc/regions.ld b/dev/src/test3_soc/regions.ld new file mode 100644 index 0000000..adbd237 --- /dev/null +++ b/dev/src/test3_soc/regions.ld @@ -0,0 +1,6 @@ +MEMORY { + rom : ORIGIN = 0x00000000, LENGTH = 0x00010000 + tst : ORIGIN = 0x00010000, LENGTH = 0x00002000 + ram : ORIGIN = 0x00012000, LENGTH = 0x0000E000 + csr : ORIGIN = 0xFFF00000, LENGTH = 0x00010000 +} \ No newline at end of file diff --git a/dev/src/test3_soc/rom b/dev/src/test3_soc/rom new file mode 100755 index 0000000..c537008 Binary files /dev/null and b/dev/src/test3_soc/rom differ diff --git a/dev/src/test3_soc/rom.bin b/dev/src/test3_soc/rom.bin new file mode 100755 index 0000000..5d774e9 Binary files /dev/null and b/dev/src/test3_soc/rom.bin differ diff --git a/dev/src/test3_soc/rom.d b/dev/src/test3_soc/rom.d new file mode 100644 index 0000000..54141b9 --- /dev/null +++ b/dev/src/test3_soc/rom.d @@ -0,0 +1,3609 @@ + +rom: file format elf32-powerpc + + +Disassembly of section .kernel: + +00000000 <_start>: + 0: 48 00 04 00 b 400 + 4: 44 00 00 02 sc + ... + +00000020 : + 20: 48 00 10 10 b 1030 + ... + +00000040 : + 40: 48 00 00 00 b 40 + ... + +00000060 : + 60: 48 00 00 00 b 60 + ... + +00000080 : + 80: 48 00 00 00 b 80 + ... + +000000a0 : + a0: 48 00 00 00 b a0 + ... + +000000c0 : + c0: 48 00 00 00 b c0 + ... + +000000e0 : + e0: 48 00 00 00 b e0 + ... + +00000100 : + 100: 48 00 00 00 b 100 + ... + +00000120 : + 120: 48 01 21 34 b 12254 + ... + +00000140 : + 140: 48 00 00 00 b 140 + ... + +00000160 : + 160: 48 00 00 00 b 160 + ... + +00000180 : + 180: 48 00 00 00 b 180 + ... + +000001a0 : + 1a0: 48 00 00 00 b 1a0 + ... + +000001c0 : + 1c0: 48 00 00 00 b 1c0 + ... + +000001e0 : + 1e0: 48 00 00 00 b 1e0 + ... + +00000200 : + 200: 48 00 00 00 b 200 + ... + +00000220 : + 220: 48 00 00 00 b 220 + ... + +00000240 : + 240: 48 00 00 00 b 240 + ... + +00000260 : + 260: 48 00 00 00 b 260 + ... + +00000280 : + 280: 48 00 00 00 b 280 + ... + +000002a0 : + 2a0: 48 00 00 00 b 2a0 + ... + +000002c0 : + 2c0: 48 00 00 00 b 2c0 + ... + +000002e0 : + 2e0: 48 00 00 00 b 2e0 + ... + +00000300 : + 300: 48 00 00 00 b 300 + ... + +00000320 : + 320: 48 00 00 00 b 320 + ... + +00000340 : + 340: 48 00 00 00 b 340 + ... + +00000400 : + 400: 7c be 6a a6 mfspr r5,446 + 404: 2c 25 00 00 cmpdi r5,0 + 408: 40 82 00 e0 bne 4e8 + 40c: 3c 60 8c 00 lis r3,-29696 + 410: 38 00 00 1f li r0,31 + 414: 38 40 00 15 li r2,21 + 418: 38 80 00 00 li r4,0 + 41c: 39 00 02 3f li r8,575 + 420: 7c 7c fb a6 mtspr 1020,r3 + 424: 7c 40 11 a6 eratwe r2,r0,2 + 428: 7c 80 09 a6 eratwe r4,r0,1 + 42c: 7d 00 01 a6 mtfprwa f8,r0 + 430: 4c 00 01 2c isync + 434: 39 40 00 00 li r10,0 + 438: 65 4a 00 00 oris r10,r10,0 + 43c: 61 4a 00 3f ori r10,r10,63 + 440: 38 00 00 1e li r0,30 + 444: 38 80 00 00 li r4,0 + 448: 64 84 00 01 oris r4,r4,1 + 44c: 60 84 00 00 ori r4,r4,0 + 450: 39 00 00 00 li r8,0 + 454: 65 08 00 01 oris r8,r8,1 + 458: 61 08 00 00 ori r8,r8,0 + 45c: 61 08 02 3f ori r8,r8,575 + 460: 7d 40 11 a6 eratwe r10,r0,2 + 464: 7c 80 09 a6 eratwe r4,r0,1 + 468: 7d 00 01 a6 mtfprwa f8,r0 + 46c: 4c 00 01 2c isync + 470: 3c 60 88 00 lis r3,-30720 + 474: 38 00 00 0f li r0,15 + 478: 38 40 00 3f li r2,63 + 47c: 38 80 00 00 li r4,0 + 480: 39 00 02 3f li r8,575 + 484: 7c 7c fb a6 mtspr 1020,r3 + 488: 7c 40 11 a6 eratwe r2,r0,2 + 48c: 7c 80 09 a6 eratwe r4,r0,1 + 490: 7d 00 01 a6 mtfprwa f8,r0 + 494: 4c 00 01 2c isync + 498: 38 00 00 0d li r0,13 + 49c: 38 80 00 00 li r4,0 + 4a0: 64 84 00 01 oris r4,r4,1 + 4a4: 60 84 00 00 ori r4,r4,0 + 4a8: 39 00 00 00 li r8,0 + 4ac: 65 08 00 01 oris r8,r8,1 + 4b0: 61 08 00 00 ori r8,r8,0 + 4b4: 61 08 02 3f ori r8,r8,575 + 4b8: 7d 40 11 a6 eratwe r10,r0,2 + 4bc: 7c 80 09 a6 eratwe r4,r0,1 + 4c0: 7d 00 01 a6 mtfprwa f8,r0 + 4c4: 4c 00 01 2c isync + 4c8: 48 00 00 04 b 4cc + +000004cc : + 4cc: 39 40 00 00 li r10,0 + 4d0: 65 4a 80 02 oris r10,r10,32770 + 4d4: 61 4a b0 00 ori r10,r10,45056 + 4d8: 7d 40 01 24 mtmsr r10 + 4dc: 4c 00 01 2c isync + 4e0: 80 20 08 fa lwz r1,2298(0) + 4e4: 48 00 00 20 b 504 + +000004e8 : + 4e8: 39 40 00 00 li r10,0 + 4ec: 65 4a 80 02 oris r10,r10,32770 + 4f0: 61 4a b0 00 ori r10,r10,45056 + 4f4: 7d 40 01 24 mtmsr r10 + 4f8: 4c 00 01 2c isync + 4fc: 80 20 08 fe lwz r1,2302(0) + 500: 48 00 00 04 b 504 + +00000504 : + 504: 3c 60 00 00 lis r3,0 + 508: 60 63 0c 34 ori r3,r3,3124 + 50c: 7c 69 03 a6 mtctr r3 + 510: 7c 7e 6a a6 mfspr r3,446 + 514: 4e 80 04 21 bctrl + 518: 48 00 02 e4 b 7fc + ... + +000007f0 : + 7f0: 48 00 00 00 b 7f0 + +000007f4 : + 7f4: 48 00 00 00 b 7f4 + 7f8: 00 00 00 00 .long 0x0 + +000007fc : + 7fc: 48 00 00 00 b 7fc + +00000800 : + 800: 48 00 00 00 b 800 + ... + +00000820 : + 820: 48 00 00 00 b 820 + ... + +Disassembly of section .bios: + +00000c00 : + c00: 94 21 ff f0 stwu r1,-16(r1) + c04: 7c 69 1b 78 mr r9,r3 + c08: 99 21 00 08 stb r9,8(r1) + c0c: 3d 20 00 01 lis r9,1 + c10: 81 29 20 00 lwz r9,8192(r9) + c14: 39 09 00 01 addi r8,r9,1 + c18: 3d 40 00 01 lis r10,1 + c1c: 91 0a 20 00 stw r8,8192(r10) + c20: 89 41 00 08 lbz r10,8(r1) + c24: 99 49 00 00 stb r10,0(r9) + c28: 60 00 00 00 nop + c2c: 38 21 00 10 addi r1,r1,16 + c30: 4e 80 00 20 blr + +00000c34
: + c34: 94 21 ff c0 stwu r1,-64(r1) + c38: 7c 08 02 a6 mflr r0 + c3c: 90 01 00 44 stw r0,68(r1) + c40: 90 61 00 38 stw r3,56(r1) + c44: 3d 20 00 01 lis r9,1 + c48: 39 29 20 00 addi r9,r9,8192 + c4c: 91 21 00 0c stw r9,12(r1) + c50: 3d 20 00 01 lis r9,1 + c54: 39 29 20 40 addi r9,r9,8256 + c58: 91 21 00 10 stw r9,16(r1) + c5c: 81 21 00 38 lwz r9,56(r1) + c60: 2c 09 00 00 cmpwi r9,0 + c64: 41 82 00 0c beq c70 + c68: 39 20 ff ff li r9,-1 + c6c: 48 00 01 90 b dfc + c70: 3d 20 00 00 lis r9,0 + c74: 39 29 36 d0 addi r9,r9,14032 + c78: 91 21 00 08 stw r9,8(r1) + c7c: 48 00 00 28 b ca4 + c80: 81 21 00 0c lwz r9,12(r1) + c84: 39 49 00 04 addi r10,r9,4 + c88: 91 41 00 0c stw r10,12(r1) + c8c: 81 41 00 08 lwz r10,8(r1) + c90: 81 4a 00 00 lwz r10,0(r10) + c94: 91 49 00 00 stw r10,0(r9) + c98: 81 21 00 08 lwz r9,8(r1) + c9c: 39 29 00 04 addi r9,r9,4 + ca0: 91 21 00 08 stw r9,8(r1) + ca4: 81 41 00 08 lwz r10,8(r1) + ca8: 3d 20 00 00 lis r9,0 + cac: 39 29 3b 4c addi r9,r9,15180 + cb0: 7c 0a 48 40 cmplw r10,r9 + cb4: 41 80 ff cc blt c80 + cb8: 3d 20 00 01 lis r9,1 + cbc: 39 29 24 7c addi r9,r9,9340 + cc0: 91 21 00 08 stw r9,8(r1) + cc4: 48 00 00 24 b ce8 + cc8: 81 21 00 08 lwz r9,8(r1) + ccc: 39 49 00 04 addi r10,r9,4 + cd0: 91 41 00 08 stw r10,8(r1) + cd4: 39 40 00 00 li r10,0 + cd8: 91 49 00 00 stw r10,0(r9) + cdc: 81 21 00 08 lwz r9,8(r1) + ce0: 39 29 00 04 addi r9,r9,4 + ce4: 91 21 00 08 stw r9,8(r1) + ce8: 81 41 00 08 lwz r10,8(r1) + cec: 3d 20 00 01 lis r9,1 + cf0: 39 29 24 98 addi r9,r9,9368 + cf4: 7c 0a 48 40 cmplw r10,r9 + cf8: 41 80 ff d0 blt cc8 + cfc: 3d 20 00 00 lis r9,0 + d00: 38 69 0c 00 addi r3,r9,3072 + d04: 4c c6 31 82 crclr 4*cr1+eq + d08: 48 00 26 d1 bl 33d8 + d0c: 38 60 00 77 li r3,119 + d10: 48 00 27 19 bl 3428 + d14: 38 60 00 74 li r3,116 + d18: 48 00 27 11 bl 3428 + d1c: 38 60 00 66 li r3,102 + d20: 48 00 27 09 bl 3428 + d24: 38 60 00 0a li r3,10 + d28: 48 00 27 01 bl 3428 + d2c: 80 81 00 38 lwz r4,56(r1) + d30: 3d 20 00 00 lis r9,0 + d34: 38 69 08 f0 addi r3,r9,2288 + d38: 4c c6 31 82 crclr 4*cr1+eq + d3c: 48 00 28 f5 bl 3630 + d40: 3d 20 03 00 lis r9,768 + d44: 91 21 00 34 stw r9,52(r1) + d48: 81 21 00 34 lwz r9,52(r1) + d4c: 7d 33 4b a6 mtspr 307,r9 + d50: 60 00 00 00 nop + d54: 39 20 00 00 li r9,0 + d58: 91 21 00 30 stw r9,48(r1) + d5c: 81 21 00 30 lwz r9,48(r1) + d60: 7d 36 03 a6 mtdec r9 + d64: 60 00 00 00 nop + d68: 39 20 00 00 li r9,0 + d6c: 91 21 00 2c stw r9,44(r1) + d70: 81 21 00 2c lwz r9,44(r1) + d74: 7d 3d 43 a6 mttbu r9 + d78: 60 00 00 00 nop + d7c: 39 20 00 00 li r9,0 + d80: 91 21 00 28 stw r9,40(r1) + d84: 81 21 00 28 lwz r9,40(r1) + d88: 7d 3c 43 a6 mttbl r9 + d8c: 60 00 00 00 nop + d90: 3d 20 fe 00 lis r9,-512 + d94: 91 21 00 24 stw r9,36(r1) + d98: 81 21 00 24 lwz r9,36(r1) + d9c: 7d 30 53 a6 mtspr 336,r9 + da0: 60 00 00 00 nop + da4: 7d 36 fa a6 mfspr r9,1014 + da8: 91 21 00 20 stw r9,32(r1) + dac: 81 21 00 20 lwz r9,32(r1) + db0: 55 29 05 ea rlwinm r9,r9,0,23,21 + db4: 91 21 00 1c stw r9,28(r1) + db8: 81 21 00 1c lwz r9,28(r1) + dbc: 7d 36 fb a6 mtspr 1014,r9 + dc0: 60 00 00 00 nop + dc4: 39 20 00 00 li r9,0 + dc8: 91 21 00 18 stw r9,24(r1) + dcc: 81 21 00 18 lwz r9,24(r1) + dd0: 7d 30 53 a6 mtspr 336,r9 + dd4: 60 00 00 00 nop + dd8: 39 20 00 00 li r9,0 + ddc: 91 21 00 14 stw r9,20(r1) + de0: 81 21 00 14 lwz r9,20(r1) + de4: 7d 34 53 a6 mtspr 340,r9 + de8: 60 00 00 00 nop + dec: 81 21 00 10 lwz r9,16(r1) + df0: 7d 23 4b 78 mr r3,r9 + df4: 48 01 13 6c b 12160 + df8: 48 00 00 00 b df8 + dfc: 7d 23 4b 78 mr r3,r9 + e00: 80 01 00 44 lwz r0,68(r1) + e04: 7c 08 03 a6 mtlr r0 + e08: 38 21 00 40 addi r1,r1,64 + e0c: 4e 80 00 20 blr + +00000e10 : + e10: 94 21 ff e0 stwu r1,-32(r1) + e14: 7c 08 02 a6 mflr r0 + e18: 90 01 00 24 stw r0,36(r1) + e1c: 90 61 00 18 stw r3,24(r1) + e20: 39 20 00 01 li r9,1 + e24: 91 21 00 0c stw r9,12(r1) + e28: 81 41 00 18 lwz r10,24(r1) + e2c: 3d 20 08 67 lis r9,2151 + e30: 61 29 53 09 ori r9,r9,21257 + e34: 7c 0a 48 00 cmpw r10,r9 + e38: 41 82 00 0c beq e44 + e3c: 3c 60 80 00 lis r3,-32768 + e40: 4b ff f9 b5 bl 7f4 + e44: 39 20 00 00 li r9,0 + e48: 91 21 00 08 stw r9,8(r1) + e4c: 48 00 00 8c b ed8 + e50: 81 21 00 08 lwz r9,8(r1) + e54: 55 2a 10 3a rlwinm r10,r9,2,0,29 + e58: 3d 20 00 01 lis r9,1 + e5c: 39 29 23 40 addi r9,r9,9024 + e60: 7d 2a 4a 14 add r9,r10,r9 + e64: 81 29 00 00 lwz r9,0(r9) + e68: 91 21 00 10 stw r9,16(r1) + e6c: 81 21 00 08 lwz r9,8(r1) + e70: 55 2a 10 3a rlwinm r10,r9,2,0,29 + e74: 3d 20 00 01 lis r9,1 + e78: 39 29 23 e0 addi r9,r9,9184 + e7c: 7d 2a 4a 14 add r9,r10,r9 + e80: 81 29 00 00 lwz r9,0(r9) + e84: 91 21 00 14 stw r9,20(r1) + e88: 81 21 00 0c lwz r9,12(r1) + e8c: 2c 09 00 00 cmpwi r9,0 + e90: 41 82 00 1c beq eac + e94: 81 41 00 10 lwz r10,16(r1) + e98: 81 21 00 14 lwz r9,20(r1) + e9c: 7c 0a 48 00 cmpw r10,r9 + ea0: 40 82 00 0c bne eac + ea4: 39 20 00 01 li r9,1 + ea8: 48 00 00 08 b eb0 + eac: 39 20 00 00 li r9,0 + eb0: 91 21 00 0c stw r9,12(r1) + eb4: 81 21 00 0c lwz r9,12(r1) + eb8: 2c 09 00 00 cmpwi r9,0 + ebc: 40 82 00 10 bne ecc + ec0: 81 21 00 08 lwz r9,8(r1) + ec4: 7d 23 4b 78 mr r3,r9 + ec8: 4b ff f9 2d bl 7f4 + ecc: 81 21 00 08 lwz r9,8(r1) + ed0: 39 29 00 01 addi r9,r9,1 + ed4: 91 21 00 08 stw r9,8(r1) + ed8: 81 21 00 08 lwz r9,8(r1) + edc: 28 09 00 1f cmplwi r9,31 + ee0: 40 81 ff 70 ble e50 + ee4: 39 20 00 21 li r9,33 + ee8: 91 21 00 08 stw r9,8(r1) + eec: 81 21 00 08 lwz r9,8(r1) + ef0: 55 2a 10 3a rlwinm r10,r9,2,0,29 + ef4: 3d 20 00 01 lis r9,1 + ef8: 39 29 23 40 addi r9,r9,9024 + efc: 7d 2a 4a 14 add r9,r10,r9 + f00: 81 29 00 00 lwz r9,0(r9) + f04: 91 21 00 10 stw r9,16(r1) + f08: 81 21 00 08 lwz r9,8(r1) + f0c: 55 2a 10 3a rlwinm r10,r9,2,0,29 + f10: 3d 20 00 01 lis r9,1 + f14: 39 29 23 e0 addi r9,r9,9184 + f18: 7d 2a 4a 14 add r9,r10,r9 + f1c: 81 29 00 00 lwz r9,0(r9) + f20: 55 29 06 44 rlwinm r9,r9,0,25,2 + f24: 91 21 00 14 stw r9,20(r1) + f28: 81 21 00 0c lwz r9,12(r1) + f2c: 2c 09 00 00 cmpwi r9,0 + f30: 41 82 00 1c beq f4c + f34: 81 41 00 10 lwz r10,16(r1) + f38: 81 21 00 14 lwz r9,20(r1) + f3c: 7c 0a 48 00 cmpw r10,r9 + f40: 40 82 00 0c bne f4c + f44: 39 20 00 01 li r9,1 + f48: 48 00 00 08 b f50 + f4c: 39 20 00 00 li r9,0 + f50: 91 21 00 0c stw r9,12(r1) + f54: 81 21 00 0c lwz r9,12(r1) + f58: 2c 09 00 00 cmpwi r9,0 + f5c: 40 82 00 10 bne f6c + f60: 81 21 00 08 lwz r9,8(r1) + f64: 7d 23 4b 78 mr r3,r9 + f68: 4b ff f8 8d bl 7f4 + f6c: 39 20 00 22 li r9,34 + f70: 91 21 00 08 stw r9,8(r1) + f74: 48 00 00 8c b 1000 + f78: 81 21 00 08 lwz r9,8(r1) + f7c: 55 2a 10 3a rlwinm r10,r9,2,0,29 + f80: 3d 20 00 01 lis r9,1 + f84: 39 29 23 40 addi r9,r9,9024 + f88: 7d 2a 4a 14 add r9,r10,r9 + f8c: 81 29 00 00 lwz r9,0(r9) + f90: 91 21 00 10 stw r9,16(r1) + f94: 81 21 00 08 lwz r9,8(r1) + f98: 55 2a 10 3a rlwinm r10,r9,2,0,29 + f9c: 3d 20 00 01 lis r9,1 + fa0: 39 29 23 e0 addi r9,r9,9184 + fa4: 7d 2a 4a 14 add r9,r10,r9 + fa8: 81 29 00 00 lwz r9,0(r9) + fac: 91 21 00 14 stw r9,20(r1) + fb0: 81 21 00 0c lwz r9,12(r1) + fb4: 2c 09 00 00 cmpwi r9,0 + fb8: 41 82 00 1c beq fd4 + fbc: 81 41 00 10 lwz r10,16(r1) + fc0: 81 21 00 14 lwz r9,20(r1) + fc4: 7c 0a 48 00 cmpw r10,r9 + fc8: 40 82 00 0c bne fd4 + fcc: 39 20 00 01 li r9,1 + fd0: 48 00 00 08 b fd8 + fd4: 39 20 00 00 li r9,0 + fd8: 91 21 00 0c stw r9,12(r1) + fdc: 81 21 00 0c lwz r9,12(r1) + fe0: 2c 09 00 00 cmpwi r9,0 + fe4: 40 82 00 10 bne ff4 + fe8: 81 21 00 08 lwz r9,8(r1) + fec: 7d 23 4b 78 mr r3,r9 + ff0: 4b ff f8 05 bl 7f4 + ff4: 81 21 00 08 lwz r9,8(r1) + ff8: 39 29 00 01 addi r9,r9,1 + ffc: 91 21 00 08 stw r9,8(r1) + 1000: 81 21 00 08 lwz r9,8(r1) + 1004: 28 09 00 23 cmplwi r9,35 + 1008: 40 81 ff 70 ble f78 + 100c: 4b ff f7 e5 bl 7f0 + 1010: 48 00 00 00 b 1010 + +00001014 : + 1014: 94 21 ff f0 stwu r1,-16(r1) + 1018: 90 61 00 08 stw r3,8(r1) + 101c: 90 81 00 0c stw r4,12(r1) + 1020: 48 01 12 34 b 12254 + 1024: 60 00 00 00 nop + 1028: 38 21 00 10 addi r1,r1,16 + 102c: 4e 80 00 20 blr + +00001030 : + 1030: 48 00 00 00 b 1030 + +Disassembly of section .text: + +00001034 <__toupper>: + 1034: 94 21 ff f0 stwu r1,-16(r1) + 1038: 7c 69 1b 78 mr r9,r3 + 103c: 99 21 00 08 stb r9,8(r1) + 1040: 89 21 00 08 lbz r9,8(r1) + 1044: 3d 40 00 00 lis r10,0 + 1048: 39 4a 09 04 addi r10,r10,2308 + 104c: 7d 2a 48 ae lbzx r9,r10,r9 + 1050: 55 29 07 bc rlwinm r9,r9,0,30,30 + 1054: 2c 09 00 00 cmpwi r9,0 + 1058: 41 82 00 10 beq 1068 <__toupper+0x34> + 105c: 89 21 00 08 lbz r9,8(r1) + 1060: 39 29 ff e0 addi r9,r9,-32 + 1064: 99 21 00 08 stb r9,8(r1) + 1068: 89 21 00 08 lbz r9,8(r1) + 106c: 7d 23 4b 78 mr r3,r9 + 1070: 38 21 00 10 addi r1,r1,16 + 1074: 4e 80 00 20 blr + +00001078 <__bswap_16>: + 1078: 94 21 ff f0 stwu r1,-16(r1) + 107c: 7c 69 1b 78 mr r9,r3 + 1080: b1 21 00 08 sth r9,8(r1) + 1084: a1 21 00 08 lhz r9,8(r1) + 1088: 55 29 40 2e rlwinm r9,r9,8,0,23 + 108c: 7d 2a 07 34 extsh r10,r9 + 1090: a1 21 00 08 lhz r9,8(r1) + 1094: 55 29 c2 3e rlwinm r9,r9,24,8,31 + 1098: 55 29 04 3e clrlwi r9,r9,16 + 109c: 7d 29 07 34 extsh r9,r9 + 10a0: 7d 49 4b 78 or r9,r10,r9 + 10a4: 7d 29 07 34 extsh r9,r9 + 10a8: 55 29 04 3e clrlwi r9,r9,16 + 10ac: 7d 23 4b 78 mr r3,r9 + 10b0: 38 21 00 10 addi r1,r1,16 + 10b4: 4e 80 00 20 blr + +000010b8 <__bswap_32>: + 10b8: 94 21 ff f0 stwu r1,-16(r1) + 10bc: 90 61 00 08 stw r3,8(r1) + 10c0: 81 21 00 08 lwz r9,8(r1) + 10c4: 55 2a 46 3e rlwinm r10,r9,8,24,31 + 10c8: 81 21 00 08 lwz r9,8(r1) + 10cc: 55 29 c2 3e rlwinm r9,r9,24,8,31 + 10d0: 55 29 04 2e rlwinm r9,r9,0,16,23 + 10d4: 7d 4a 4b 78 or r10,r10,r9 + 10d8: 81 21 00 08 lwz r9,8(r1) + 10dc: 55 29 40 2e rlwinm r9,r9,8,0,23 + 10e0: 55 29 02 1e rlwinm r9,r9,0,8,15 + 10e4: 7d 4a 4b 78 or r10,r10,r9 + 10e8: 81 21 00 08 lwz r9,8(r1) + 10ec: 55 29 c0 0e rlwinm r9,r9,24,0,7 + 10f0: 7d 49 4b 78 or r9,r10,r9 + 10f4: 7d 23 4b 78 mr r3,r9 + 10f8: 38 21 00 10 addi r1,r1,16 + 10fc: 4e 80 00 20 blr + +00001100 : + 1100: 94 21 ff f0 stwu r1,-16(r1) + 1104: 90 61 00 08 stw r3,8(r1) + 1108: 90 81 00 0c stw r4,12(r1) + 110c: 48 00 00 28 b 1134 + 1110: 81 21 00 08 lwz r9,8(r1) + 1114: 89 29 00 00 lbz r9,0(r9) + 1118: 2c 09 00 00 cmpwi r9,0 + 111c: 40 82 00 0c bne 1128 + 1120: 39 20 00 00 li r9,0 + 1124: 48 00 00 2c b 1150 + 1128: 81 21 00 08 lwz r9,8(r1) + 112c: 39 29 00 01 addi r9,r9,1 + 1130: 91 21 00 08 stw r9,8(r1) + 1134: 81 21 00 08 lwz r9,8(r1) + 1138: 89 49 00 00 lbz r10,0(r9) + 113c: 81 21 00 0c lwz r9,12(r1) + 1140: 55 29 06 3e clrlwi r9,r9,24 + 1144: 7c 0a 48 40 cmplw r10,r9 + 1148: 40 82 ff c8 bne 1110 + 114c: 81 21 00 08 lwz r9,8(r1) + 1150: 7d 23 4b 78 mr r3,r9 + 1154: 38 21 00 10 addi r1,r1,16 + 1158: 4e 80 00 20 blr + +0000115c : + 115c: 94 21 ff e0 stwu r1,-32(r1) + 1160: 90 61 00 18 stw r3,24(r1) + 1164: 90 81 00 1c stw r4,28(r1) + 1168: 81 21 00 18 lwz r9,24(r1) + 116c: 91 21 00 08 stw r9,8(r1) + 1170: 48 00 00 58 b 11c8 + 1174: 81 21 00 1c lwz r9,28(r1) + 1178: 91 21 00 0c stw r9,12(r1) + 117c: 48 00 00 30 b 11ac + 1180: 81 21 00 08 lwz r9,8(r1) + 1184: 89 49 00 00 lbz r10,0(r9) + 1188: 81 21 00 0c lwz r9,12(r1) + 118c: 89 29 00 00 lbz r9,0(r9) + 1190: 7c 0a 48 40 cmplw r10,r9 + 1194: 40 82 00 0c bne 11a0 + 1198: 81 21 00 08 lwz r9,8(r1) + 119c: 48 00 00 40 b 11dc + 11a0: 81 21 00 0c lwz r9,12(r1) + 11a4: 39 29 00 01 addi r9,r9,1 + 11a8: 91 21 00 0c stw r9,12(r1) + 11ac: 81 21 00 0c lwz r9,12(r1) + 11b0: 89 29 00 00 lbz r9,0(r9) + 11b4: 2c 09 00 00 cmpwi r9,0 + 11b8: 40 82 ff c8 bne 1180 + 11bc: 81 21 00 08 lwz r9,8(r1) + 11c0: 39 29 00 01 addi r9,r9,1 + 11c4: 91 21 00 08 stw r9,8(r1) + 11c8: 81 21 00 08 lwz r9,8(r1) + 11cc: 89 29 00 00 lbz r9,0(r9) + 11d0: 2c 09 00 00 cmpwi r9,0 + 11d4: 40 82 ff a0 bne 1174 + 11d8: 39 20 00 00 li r9,0 + 11dc: 7d 23 4b 78 mr r3,r9 + 11e0: 38 21 00 20 addi r1,r1,32 + 11e4: 4e 80 00 20 blr + +000011e8 : + 11e8: 94 21 ff e0 stwu r1,-32(r1) + 11ec: 7c 08 02 a6 mflr r0 + 11f0: 90 01 00 24 stw r0,36(r1) + 11f4: 90 61 00 18 stw r3,24(r1) + 11f8: 90 81 00 1c stw r4,28(r1) + 11fc: 80 61 00 18 lwz r3,24(r1) + 1200: 48 00 03 dd bl 15dc + 1204: 7c 6a 1b 78 mr r10,r3 + 1208: 81 21 00 18 lwz r9,24(r1) + 120c: 7d 29 52 14 add r9,r9,r10 + 1210: 91 21 00 08 stw r9,8(r1) + 1214: 81 21 00 08 lwz r9,8(r1) + 1218: 89 49 00 00 lbz r10,0(r9) + 121c: 81 21 00 1c lwz r9,28(r1) + 1220: 55 29 06 3e clrlwi r9,r9,24 + 1224: 7c 0a 48 40 cmplw r10,r9 + 1228: 40 82 00 0c bne 1234 + 122c: 81 21 00 08 lwz r9,8(r1) + 1230: 48 00 00 24 b 1254 + 1234: 81 21 00 08 lwz r9,8(r1) + 1238: 39 29 ff ff addi r9,r9,-1 + 123c: 91 21 00 08 stw r9,8(r1) + 1240: 81 41 00 08 lwz r10,8(r1) + 1244: 81 21 00 18 lwz r9,24(r1) + 1248: 7c 0a 48 40 cmplw r10,r9 + 124c: 40 80 ff c8 bge 1214 + 1250: 39 20 00 00 li r9,0 + 1254: 7d 23 4b 78 mr r3,r9 + 1258: 80 01 00 24 lwz r0,36(r1) + 125c: 7c 08 03 a6 mtlr r0 + 1260: 38 21 00 20 addi r1,r1,32 + 1264: 4e 80 00 20 blr + +00001268 : + 1268: 94 21 ff e0 stwu r1,-32(r1) + 126c: 90 61 00 08 stw r3,8(r1) + 1270: 90 81 00 0c stw r4,12(r1) + 1274: 90 a1 00 10 stw r5,16(r1) + 1278: 48 00 00 30 b 12a8 + 127c: 81 21 00 08 lwz r9,8(r1) + 1280: 89 49 00 00 lbz r10,0(r9) + 1284: 81 21 00 10 lwz r9,16(r1) + 1288: 55 29 06 3e clrlwi r9,r9,24 + 128c: 7c 0a 48 40 cmplw r10,r9 + 1290: 40 82 00 0c bne 129c + 1294: 81 21 00 08 lwz r9,8(r1) + 1298: 48 00 00 38 b 12d0 + 129c: 81 21 00 08 lwz r9,8(r1) + 12a0: 39 29 00 01 addi r9,r9,1 + 12a4: 91 21 00 08 stw r9,8(r1) + 12a8: 81 21 00 0c lwz r9,12(r1) + 12ac: 39 49 ff ff addi r10,r9,-1 + 12b0: 91 41 00 0c stw r10,12(r1) + 12b4: 2c 09 00 00 cmpwi r9,0 + 12b8: 41 82 00 14 beq 12cc + 12bc: 81 21 00 08 lwz r9,8(r1) + 12c0: 89 29 00 00 lbz r9,0(r9) + 12c4: 2c 09 00 00 cmpwi r9,0 + 12c8: 40 82 ff b4 bne 127c + 12cc: 39 20 00 00 li r9,0 + 12d0: 7d 23 4b 78 mr r3,r9 + 12d4: 38 21 00 20 addi r1,r1,32 + 12d8: 4e 80 00 20 blr + +000012dc : + 12dc: 94 21 ff e0 stwu r1,-32(r1) + 12e0: 90 61 00 18 stw r3,24(r1) + 12e4: 90 81 00 1c stw r4,28(r1) + 12e8: 81 21 00 18 lwz r9,24(r1) + 12ec: 91 21 00 08 stw r9,8(r1) + 12f0: 60 00 00 00 nop + 12f4: 81 41 00 1c lwz r10,28(r1) + 12f8: 39 2a 00 01 addi r9,r10,1 + 12fc: 91 21 00 1c stw r9,28(r1) + 1300: 81 21 00 18 lwz r9,24(r1) + 1304: 39 09 00 01 addi r8,r9,1 + 1308: 91 01 00 18 stw r8,24(r1) + 130c: 89 4a 00 00 lbz r10,0(r10) + 1310: 99 49 00 00 stb r10,0(r9) + 1314: 89 29 00 00 lbz r9,0(r9) + 1318: 2c 09 00 00 cmpwi r9,0 + 131c: 40 82 ff d8 bne 12f4 + 1320: 81 21 00 08 lwz r9,8(r1) + 1324: 7d 23 4b 78 mr r3,r9 + 1328: 38 21 00 20 addi r1,r1,32 + 132c: 4e 80 00 20 blr + +00001330 : + 1330: 94 21 ff d0 stwu r1,-48(r1) + 1334: 90 61 00 18 stw r3,24(r1) + 1338: 90 81 00 1c stw r4,28(r1) + 133c: 90 a1 00 20 stw r5,32(r1) + 1340: 81 21 00 18 lwz r9,24(r1) + 1344: 91 21 00 08 stw r9,8(r1) + 1348: 48 00 00 48 b 1390 + 134c: 81 21 00 1c lwz r9,28(r1) + 1350: 89 49 00 00 lbz r10,0(r9) + 1354: 81 21 00 08 lwz r9,8(r1) + 1358: 99 49 00 00 stb r10,0(r9) + 135c: 81 21 00 08 lwz r9,8(r1) + 1360: 89 29 00 00 lbz r9,0(r9) + 1364: 2c 09 00 00 cmpwi r9,0 + 1368: 41 82 00 10 beq 1378 + 136c: 81 21 00 1c lwz r9,28(r1) + 1370: 39 29 00 01 addi r9,r9,1 + 1374: 91 21 00 1c stw r9,28(r1) + 1378: 81 21 00 08 lwz r9,8(r1) + 137c: 39 29 00 01 addi r9,r9,1 + 1380: 91 21 00 08 stw r9,8(r1) + 1384: 81 21 00 20 lwz r9,32(r1) + 1388: 39 29 ff ff addi r9,r9,-1 + 138c: 91 21 00 20 stw r9,32(r1) + 1390: 81 21 00 20 lwz r9,32(r1) + 1394: 2c 09 00 00 cmpwi r9,0 + 1398: 40 82 ff b4 bne 134c + 139c: 81 21 00 18 lwz r9,24(r1) + 13a0: 7d 23 4b 78 mr r3,r9 + 13a4: 38 21 00 30 addi r1,r1,48 + 13a8: 4e 80 00 20 blr + +000013ac : + 13ac: 94 21 ff e0 stwu r1,-32(r1) + 13b0: 90 61 00 18 stw r3,24(r1) + 13b4: 90 81 00 1c stw r4,28(r1) + 13b8: 81 21 00 18 lwz r9,24(r1) + 13bc: 89 49 00 00 lbz r10,0(r9) + 13c0: 81 21 00 1c lwz r9,28(r1) + 13c4: 39 09 00 01 addi r8,r9,1 + 13c8: 91 01 00 1c stw r8,28(r1) + 13cc: 89 29 00 00 lbz r9,0(r9) + 13d0: 7d 29 50 50 subf r9,r9,r10 + 13d4: 55 29 06 3e clrlwi r9,r9,24 + 13d8: 99 21 00 08 stb r9,8(r1) + 13dc: 89 21 00 08 lbz r9,8(r1) + 13e0: 7d 29 07 74 extsb r9,r9 + 13e4: 2c 09 00 00 cmpwi r9,0 + 13e8: 40 82 00 20 bne 1408 + 13ec: 81 21 00 18 lwz r9,24(r1) + 13f0: 39 49 00 01 addi r10,r9,1 + 13f4: 91 41 00 18 stw r10,24(r1) + 13f8: 89 29 00 00 lbz r9,0(r9) + 13fc: 2c 09 00 00 cmpwi r9,0 + 1400: 41 82 00 08 beq 1408 + 1404: 4b ff ff b4 b 13b8 + 1408: 89 21 00 08 lbz r9,8(r1) + 140c: 7d 29 07 74 extsb r9,r9 + 1410: 7d 23 4b 78 mr r3,r9 + 1414: 38 21 00 20 addi r1,r1,32 + 1418: 4e 80 00 20 blr + +0000141c : + 141c: 94 21 ff d0 stwu r1,-48(r1) + 1420: 90 61 00 18 stw r3,24(r1) + 1424: 90 81 00 1c stw r4,28(r1) + 1428: 90 a1 00 20 stw r5,32(r1) + 142c: 39 20 00 00 li r9,0 + 1430: 91 21 00 0c stw r9,12(r1) + 1434: 39 20 00 00 li r9,0 + 1438: 99 21 00 08 stb r9,8(r1) + 143c: 48 00 00 5c b 1498 + 1440: 81 21 00 18 lwz r9,24(r1) + 1444: 89 49 00 00 lbz r10,0(r9) + 1448: 81 21 00 1c lwz r9,28(r1) + 144c: 39 09 00 01 addi r8,r9,1 + 1450: 91 01 00 1c stw r8,28(r1) + 1454: 89 29 00 00 lbz r9,0(r9) + 1458: 7d 29 50 50 subf r9,r9,r10 + 145c: 55 29 06 3e clrlwi r9,r9,24 + 1460: 99 21 00 08 stb r9,8(r1) + 1464: 89 21 00 08 lbz r9,8(r1) + 1468: 7d 29 07 74 extsb r9,r9 + 146c: 2c 09 00 00 cmpwi r9,0 + 1470: 40 82 00 38 bne 14a8 + 1474: 81 21 00 18 lwz r9,24(r1) + 1478: 39 49 00 01 addi r10,r9,1 + 147c: 91 41 00 18 stw r10,24(r1) + 1480: 89 29 00 00 lbz r9,0(r9) + 1484: 2c 09 00 00 cmpwi r9,0 + 1488: 41 82 00 20 beq 14a8 + 148c: 81 21 00 0c lwz r9,12(r1) + 1490: 39 29 00 01 addi r9,r9,1 + 1494: 91 21 00 0c stw r9,12(r1) + 1498: 81 41 00 0c lwz r10,12(r1) + 149c: 81 21 00 20 lwz r9,32(r1) + 14a0: 7c 0a 48 40 cmplw r10,r9 + 14a4: 41 80 ff 9c blt 1440 + 14a8: 89 21 00 08 lbz r9,8(r1) + 14ac: 7d 29 07 74 extsb r9,r9 + 14b0: 7d 23 4b 78 mr r3,r9 + 14b4: 38 21 00 30 addi r1,r1,48 + 14b8: 4e 80 00 20 blr + +000014bc : + 14bc: 94 21 ff e0 stwu r1,-32(r1) + 14c0: 90 61 00 18 stw r3,24(r1) + 14c4: 90 81 00 1c stw r4,28(r1) + 14c8: 81 21 00 18 lwz r9,24(r1) + 14cc: 91 21 00 08 stw r9,8(r1) + 14d0: 48 00 00 10 b 14e0 + 14d4: 81 21 00 18 lwz r9,24(r1) + 14d8: 39 29 00 01 addi r9,r9,1 + 14dc: 91 21 00 18 stw r9,24(r1) + 14e0: 81 21 00 18 lwz r9,24(r1) + 14e4: 89 29 00 00 lbz r9,0(r9) + 14e8: 2c 09 00 00 cmpwi r9,0 + 14ec: 40 82 ff e8 bne 14d4 + 14f0: 60 00 00 00 nop + 14f4: 81 41 00 1c lwz r10,28(r1) + 14f8: 39 2a 00 01 addi r9,r10,1 + 14fc: 91 21 00 1c stw r9,28(r1) + 1500: 81 21 00 18 lwz r9,24(r1) + 1504: 39 09 00 01 addi r8,r9,1 + 1508: 91 01 00 18 stw r8,24(r1) + 150c: 89 4a 00 00 lbz r10,0(r10) + 1510: 99 49 00 00 stb r10,0(r9) + 1514: 89 29 00 00 lbz r9,0(r9) + 1518: 2c 09 00 00 cmpwi r9,0 + 151c: 40 82 ff d8 bne 14f4 + 1520: 81 21 00 08 lwz r9,8(r1) + 1524: 7d 23 4b 78 mr r3,r9 + 1528: 38 21 00 20 addi r1,r1,32 + 152c: 4e 80 00 20 blr + +00001530 : + 1530: 94 21 ff d0 stwu r1,-48(r1) + 1534: 90 61 00 18 stw r3,24(r1) + 1538: 90 81 00 1c stw r4,28(r1) + 153c: 90 a1 00 20 stw r5,32(r1) + 1540: 81 21 00 18 lwz r9,24(r1) + 1544: 91 21 00 08 stw r9,8(r1) + 1548: 81 21 00 20 lwz r9,32(r1) + 154c: 2c 09 00 00 cmpwi r9,0 + 1550: 41 82 00 7c beq 15cc + 1554: 48 00 00 10 b 1564 + 1558: 81 21 00 18 lwz r9,24(r1) + 155c: 39 29 00 01 addi r9,r9,1 + 1560: 91 21 00 18 stw r9,24(r1) + 1564: 81 21 00 18 lwz r9,24(r1) + 1568: 89 29 00 00 lbz r9,0(r9) + 156c: 2c 09 00 00 cmpwi r9,0 + 1570: 40 82 ff e8 bne 1558 + 1574: 48 00 00 2c b 15a0 + 1578: 81 21 00 20 lwz r9,32(r1) + 157c: 39 29 ff ff addi r9,r9,-1 + 1580: 91 21 00 20 stw r9,32(r1) + 1584: 81 21 00 20 lwz r9,32(r1) + 1588: 2c 09 00 00 cmpwi r9,0 + 158c: 40 82 00 14 bne 15a0 + 1590: 81 21 00 18 lwz r9,24(r1) + 1594: 39 40 00 00 li r10,0 + 1598: 99 49 00 00 stb r10,0(r9) + 159c: 48 00 00 30 b 15cc + 15a0: 81 41 00 1c lwz r10,28(r1) + 15a4: 39 2a 00 01 addi r9,r10,1 + 15a8: 91 21 00 1c stw r9,28(r1) + 15ac: 81 21 00 18 lwz r9,24(r1) + 15b0: 39 09 00 01 addi r8,r9,1 + 15b4: 91 01 00 18 stw r8,24(r1) + 15b8: 89 4a 00 00 lbz r10,0(r10) + 15bc: 99 49 00 00 stb r10,0(r9) + 15c0: 89 29 00 00 lbz r9,0(r9) + 15c4: 2c 09 00 00 cmpwi r9,0 + 15c8: 40 82 ff b0 bne 1578 + 15cc: 81 21 00 08 lwz r9,8(r1) + 15d0: 7d 23 4b 78 mr r3,r9 + 15d4: 38 21 00 30 addi r1,r1,48 + 15d8: 4e 80 00 20 blr + +000015dc : + 15dc: 94 21 ff e0 stwu r1,-32(r1) + 15e0: 90 61 00 18 stw r3,24(r1) + 15e4: 81 21 00 18 lwz r9,24(r1) + 15e8: 91 21 00 08 stw r9,8(r1) + 15ec: 48 00 00 10 b 15fc + 15f0: 81 21 00 08 lwz r9,8(r1) + 15f4: 39 29 00 01 addi r9,r9,1 + 15f8: 91 21 00 08 stw r9,8(r1) + 15fc: 81 21 00 08 lwz r9,8(r1) + 1600: 89 29 00 00 lbz r9,0(r9) + 1604: 2c 09 00 00 cmpwi r9,0 + 1608: 40 82 ff e8 bne 15f0 + 160c: 81 41 00 08 lwz r10,8(r1) + 1610: 81 21 00 18 lwz r9,24(r1) + 1614: 7d 29 50 50 subf r9,r9,r10 + 1618: 7d 23 4b 78 mr r3,r9 + 161c: 38 21 00 20 addi r1,r1,32 + 1620: 4e 80 00 20 blr + +00001624 : + 1624: 94 21 ff e0 stwu r1,-32(r1) + 1628: 90 61 00 18 stw r3,24(r1) + 162c: 90 81 00 1c stw r4,28(r1) + 1630: 81 21 00 18 lwz r9,24(r1) + 1634: 91 21 00 08 stw r9,8(r1) + 1638: 48 00 00 10 b 1648 + 163c: 81 21 00 08 lwz r9,8(r1) + 1640: 39 29 00 01 addi r9,r9,1 + 1644: 91 21 00 08 stw r9,8(r1) + 1648: 81 21 00 1c lwz r9,28(r1) + 164c: 39 49 ff ff addi r10,r9,-1 + 1650: 91 41 00 1c stw r10,28(r1) + 1654: 2c 09 00 00 cmpwi r9,0 + 1658: 41 82 00 14 beq 166c + 165c: 81 21 00 08 lwz r9,8(r1) + 1660: 89 29 00 00 lbz r9,0(r9) + 1664: 2c 09 00 00 cmpwi r9,0 + 1668: 40 82 ff d4 bne 163c + 166c: 81 41 00 08 lwz r10,8(r1) + 1670: 81 21 00 18 lwz r9,24(r1) + 1674: 7d 29 50 50 subf r9,r9,r10 + 1678: 7d 23 4b 78 mr r3,r9 + 167c: 38 21 00 20 addi r1,r1,32 + 1680: 4e 80 00 20 blr + +00001684 : + 1684: 94 21 ff e0 stwu r1,-32(r1) + 1688: 90 61 00 18 stw r3,24(r1) + 168c: 90 81 00 1c stw r4,28(r1) + 1690: 39 20 00 00 li r9,0 + 1694: 91 21 00 10 stw r9,16(r1) + 1698: 81 21 00 18 lwz r9,24(r1) + 169c: 91 21 00 08 stw r9,8(r1) + 16a0: 48 00 00 7c b 171c + 16a4: 81 21 00 1c lwz r9,28(r1) + 16a8: 91 21 00 0c stw r9,12(r1) + 16ac: 48 00 00 28 b 16d4 + 16b0: 81 21 00 08 lwz r9,8(r1) + 16b4: 89 49 00 00 lbz r10,0(r9) + 16b8: 81 21 00 0c lwz r9,12(r1) + 16bc: 89 29 00 00 lbz r9,0(r9) + 16c0: 7c 0a 48 40 cmplw r10,r9 + 16c4: 41 82 00 24 beq 16e8 + 16c8: 81 21 00 0c lwz r9,12(r1) + 16cc: 39 29 00 01 addi r9,r9,1 + 16d0: 91 21 00 0c stw r9,12(r1) + 16d4: 81 21 00 0c lwz r9,12(r1) + 16d8: 89 29 00 00 lbz r9,0(r9) + 16dc: 2c 09 00 00 cmpwi r9,0 + 16e0: 40 82 ff d0 bne 16b0 + 16e4: 48 00 00 08 b 16ec + 16e8: 60 00 00 00 nop + 16ec: 81 21 00 0c lwz r9,12(r1) + 16f0: 89 29 00 00 lbz r9,0(r9) + 16f4: 2c 09 00 00 cmpwi r9,0 + 16f8: 40 82 00 0c bne 1704 + 16fc: 81 21 00 10 lwz r9,16(r1) + 1700: 48 00 00 30 b 1730 + 1704: 81 21 00 10 lwz r9,16(r1) + 1708: 39 29 00 01 addi r9,r9,1 + 170c: 91 21 00 10 stw r9,16(r1) + 1710: 81 21 00 08 lwz r9,8(r1) + 1714: 39 29 00 01 addi r9,r9,1 + 1718: 91 21 00 08 stw r9,8(r1) + 171c: 81 21 00 08 lwz r9,8(r1) + 1720: 89 29 00 00 lbz r9,0(r9) + 1724: 2c 09 00 00 cmpwi r9,0 + 1728: 40 82 ff 7c bne 16a4 + 172c: 81 21 00 10 lwz r9,16(r1) + 1730: 7d 23 4b 78 mr r3,r9 + 1734: 38 21 00 20 addi r1,r1,32 + 1738: 4e 80 00 20 blr + +0000173c : + 173c: 94 21 ff d0 stwu r1,-48(r1) + 1740: 90 61 00 18 stw r3,24(r1) + 1744: 90 81 00 1c stw r4,28(r1) + 1748: 90 a1 00 20 stw r5,32(r1) + 174c: 39 20 00 00 li r9,0 + 1750: 91 21 00 10 stw r9,16(r1) + 1754: 81 21 00 18 lwz r9,24(r1) + 1758: 91 21 00 08 stw r9,8(r1) + 175c: 81 21 00 1c lwz r9,28(r1) + 1760: 91 21 00 0c stw r9,12(r1) + 1764: 48 00 00 50 b 17b4 + 1768: 81 21 00 08 lwz r9,8(r1) + 176c: 89 29 00 00 lbz r9,0(r9) + 1770: 7d 2a 4b 78 mr r10,r9 + 1774: 81 21 00 0c lwz r9,12(r1) + 1778: 89 29 00 00 lbz r9,0(r9) + 177c: 7d 29 50 50 subf r9,r9,r10 + 1780: 91 21 00 10 stw r9,16(r1) + 1784: 81 21 00 10 lwz r9,16(r1) + 1788: 2c 09 00 00 cmpwi r9,0 + 178c: 40 82 00 38 bne 17c4 + 1790: 81 21 00 08 lwz r9,8(r1) + 1794: 39 29 00 01 addi r9,r9,1 + 1798: 91 21 00 08 stw r9,8(r1) + 179c: 81 21 00 0c lwz r9,12(r1) + 17a0: 39 29 00 01 addi r9,r9,1 + 17a4: 91 21 00 0c stw r9,12(r1) + 17a8: 81 21 00 20 lwz r9,32(r1) + 17ac: 39 29 ff ff addi r9,r9,-1 + 17b0: 91 21 00 20 stw r9,32(r1) + 17b4: 81 21 00 20 lwz r9,32(r1) + 17b8: 2c 09 00 00 cmpwi r9,0 + 17bc: 40 82 ff ac bne 1768 + 17c0: 48 00 00 08 b 17c8 + 17c4: 60 00 00 00 nop + 17c8: 81 21 00 10 lwz r9,16(r1) + 17cc: 7d 23 4b 78 mr r3,r9 + 17d0: 38 21 00 30 addi r1,r1,48 + 17d4: 4e 80 00 20 blr + +000017d8 : + 17d8: 94 21 ff d0 stwu r1,-48(r1) + 17dc: 90 61 00 18 stw r3,24(r1) + 17e0: 90 81 00 1c stw r4,28(r1) + 17e4: 90 a1 00 20 stw r5,32(r1) + 17e8: 81 21 00 18 lwz r9,24(r1) + 17ec: 91 21 00 08 stw r9,8(r1) + 17f0: 48 00 00 1c b 180c + 17f4: 81 21 00 08 lwz r9,8(r1) + 17f8: 39 49 00 01 addi r10,r9,1 + 17fc: 91 41 00 08 stw r10,8(r1) + 1800: 81 41 00 1c lwz r10,28(r1) + 1804: 55 4a 06 3e clrlwi r10,r10,24 + 1808: 99 49 00 00 stb r10,0(r9) + 180c: 81 21 00 20 lwz r9,32(r1) + 1810: 39 49 ff ff addi r10,r9,-1 + 1814: 91 41 00 20 stw r10,32(r1) + 1818: 2c 09 00 00 cmpwi r9,0 + 181c: 40 82 ff d8 bne 17f4 + 1820: 81 21 00 18 lwz r9,24(r1) + 1824: 7d 23 4b 78 mr r3,r9 + 1828: 38 21 00 30 addi r1,r1,48 + 182c: 4e 80 00 20 blr + +00001830 : + 1830: 94 21 ff d0 stwu r1,-48(r1) + 1834: 90 61 00 18 stw r3,24(r1) + 1838: 90 81 00 1c stw r4,28(r1) + 183c: 90 a1 00 20 stw r5,32(r1) + 1840: 81 21 00 18 lwz r9,24(r1) + 1844: 91 21 00 08 stw r9,8(r1) + 1848: 81 21 00 1c lwz r9,28(r1) + 184c: 91 21 00 0c stw r9,12(r1) + 1850: 48 00 00 24 b 1874 + 1854: 81 41 00 0c lwz r10,12(r1) + 1858: 39 2a 00 01 addi r9,r10,1 + 185c: 91 21 00 0c stw r9,12(r1) + 1860: 81 21 00 08 lwz r9,8(r1) + 1864: 39 09 00 01 addi r8,r9,1 + 1868: 91 01 00 08 stw r8,8(r1) + 186c: 89 4a 00 00 lbz r10,0(r10) + 1870: 99 49 00 00 stb r10,0(r9) + 1874: 81 21 00 20 lwz r9,32(r1) + 1878: 39 49 ff ff addi r10,r9,-1 + 187c: 91 41 00 20 stw r10,32(r1) + 1880: 2c 09 00 00 cmpwi r9,0 + 1884: 40 82 ff d0 bne 1854 + 1888: 81 21 00 18 lwz r9,24(r1) + 188c: 7d 23 4b 78 mr r3,r9 + 1890: 38 21 00 30 addi r1,r1,48 + 1894: 4e 80 00 20 blr + +00001898 : + 1898: 94 21 ff d0 stwu r1,-48(r1) + 189c: 90 61 00 18 stw r3,24(r1) + 18a0: 90 81 00 1c stw r4,28(r1) + 18a4: 90 a1 00 20 stw r5,32(r1) + 18a8: 81 41 00 18 lwz r10,24(r1) + 18ac: 81 21 00 1c lwz r9,28(r1) + 18b0: 7c 0a 48 40 cmplw r10,r9 + 18b4: 41 81 00 50 bgt 1904 + 18b8: 81 21 00 18 lwz r9,24(r1) + 18bc: 91 21 00 08 stw r9,8(r1) + 18c0: 81 21 00 1c lwz r9,28(r1) + 18c4: 91 21 00 0c stw r9,12(r1) + 18c8: 48 00 00 24 b 18ec + 18cc: 81 41 00 0c lwz r10,12(r1) + 18d0: 39 2a 00 01 addi r9,r10,1 + 18d4: 91 21 00 0c stw r9,12(r1) + 18d8: 81 21 00 08 lwz r9,8(r1) + 18dc: 39 09 00 01 addi r8,r9,1 + 18e0: 91 01 00 08 stw r8,8(r1) + 18e4: 89 4a 00 00 lbz r10,0(r10) + 18e8: 99 49 00 00 stb r10,0(r9) + 18ec: 81 21 00 20 lwz r9,32(r1) + 18f0: 39 49 ff ff addi r10,r9,-1 + 18f4: 91 41 00 20 stw r10,32(r1) + 18f8: 2c 09 00 00 cmpwi r9,0 + 18fc: 40 82 ff d0 bne 18cc + 1900: 48 00 00 64 b 1964 + 1904: 81 41 00 18 lwz r10,24(r1) + 1908: 81 21 00 20 lwz r9,32(r1) + 190c: 7d 2a 4a 14 add r9,r10,r9 + 1910: 91 21 00 08 stw r9,8(r1) + 1914: 81 41 00 1c lwz r10,28(r1) + 1918: 81 21 00 20 lwz r9,32(r1) + 191c: 7d 2a 4a 14 add r9,r10,r9 + 1920: 91 21 00 0c stw r9,12(r1) + 1924: 48 00 00 2c b 1950 + 1928: 81 21 00 0c lwz r9,12(r1) + 192c: 39 29 ff ff addi r9,r9,-1 + 1930: 91 21 00 0c stw r9,12(r1) + 1934: 81 21 00 08 lwz r9,8(r1) + 1938: 39 29 ff ff addi r9,r9,-1 + 193c: 91 21 00 08 stw r9,8(r1) + 1940: 81 21 00 0c lwz r9,12(r1) + 1944: 89 49 00 00 lbz r10,0(r9) + 1948: 81 21 00 08 lwz r9,8(r1) + 194c: 99 49 00 00 stb r10,0(r9) + 1950: 81 21 00 20 lwz r9,32(r1) + 1954: 39 49 ff ff addi r10,r9,-1 + 1958: 91 41 00 20 stw r10,32(r1) + 195c: 2c 09 00 00 cmpwi r9,0 + 1960: 40 82 ff c8 bne 1928 + 1964: 81 21 00 18 lwz r9,24(r1) + 1968: 7d 23 4b 78 mr r3,r9 + 196c: 38 21 00 30 addi r1,r1,48 + 1970: 4e 80 00 20 blr + +00001974 : + 1974: 94 21 ff e0 stwu r1,-32(r1) + 1978: 7c 08 02 a6 mflr r0 + 197c: 90 01 00 24 stw r0,36(r1) + 1980: 90 61 00 18 stw r3,24(r1) + 1984: 90 81 00 1c stw r4,28(r1) + 1988: 80 61 00 1c lwz r3,28(r1) + 198c: 4b ff fc 51 bl 15dc + 1990: 7c 69 1b 78 mr r9,r3 + 1994: 91 21 00 0c stw r9,12(r1) + 1998: 81 21 00 0c lwz r9,12(r1) + 199c: 2c 09 00 00 cmpwi r9,0 + 19a0: 40 82 00 0c bne 19ac + 19a4: 81 21 00 18 lwz r9,24(r1) + 19a8: 48 00 00 68 b 1a10 + 19ac: 80 61 00 18 lwz r3,24(r1) + 19b0: 4b ff fc 2d bl 15dc + 19b4: 7c 69 1b 78 mr r9,r3 + 19b8: 91 21 00 08 stw r9,8(r1) + 19bc: 48 00 00 40 b 19fc + 19c0: 81 21 00 08 lwz r9,8(r1) + 19c4: 39 29 ff ff addi r9,r9,-1 + 19c8: 91 21 00 08 stw r9,8(r1) + 19cc: 80 a1 00 0c lwz r5,12(r1) + 19d0: 80 81 00 1c lwz r4,28(r1) + 19d4: 80 61 00 18 lwz r3,24(r1) + 19d8: 4b ff fd 65 bl 173c + 19dc: 7c 69 1b 78 mr r9,r3 + 19e0: 2c 09 00 00 cmpwi r9,0 + 19e4: 40 82 00 0c bne 19f0 + 19e8: 81 21 00 18 lwz r9,24(r1) + 19ec: 48 00 00 24 b 1a10 + 19f0: 81 21 00 18 lwz r9,24(r1) + 19f4: 39 29 00 01 addi r9,r9,1 + 19f8: 91 21 00 18 stw r9,24(r1) + 19fc: 81 41 00 08 lwz r10,8(r1) + 1a00: 81 21 00 0c lwz r9,12(r1) + 1a04: 7c 0a 48 40 cmplw r10,r9 + 1a08: 40 80 ff b8 bge 19c0 + 1a0c: 39 20 00 00 li r9,0 + 1a10: 7d 23 4b 78 mr r3,r9 + 1a14: 80 01 00 24 lwz r0,36(r1) + 1a18: 7c 08 03 a6 mtlr r0 + 1a1c: 38 21 00 20 addi r1,r1,32 + 1a20: 4e 80 00 20 blr + +00001a24 : + 1a24: 94 21 ff d0 stwu r1,-48(r1) + 1a28: 90 61 00 18 stw r3,24(r1) + 1a2c: 90 81 00 1c stw r4,28(r1) + 1a30: 90 a1 00 20 stw r5,32(r1) + 1a34: 81 21 00 18 lwz r9,24(r1) + 1a38: 91 21 00 08 stw r9,8(r1) + 1a3c: 48 00 00 30 b 1a6c + 1a40: 81 21 00 1c lwz r9,28(r1) + 1a44: 55 2a 06 3e clrlwi r10,r9,24 + 1a48: 81 21 00 08 lwz r9,8(r1) + 1a4c: 39 09 00 01 addi r8,r9,1 + 1a50: 91 01 00 08 stw r8,8(r1) + 1a54: 89 29 00 00 lbz r9,0(r9) + 1a58: 7c 0a 48 40 cmplw r10,r9 + 1a5c: 40 82 00 10 bne 1a6c + 1a60: 81 21 00 08 lwz r9,8(r1) + 1a64: 39 29 ff ff addi r9,r9,-1 + 1a68: 48 00 00 1c b 1a84 + 1a6c: 81 21 00 20 lwz r9,32(r1) + 1a70: 39 49 ff ff addi r10,r9,-1 + 1a74: 91 41 00 20 stw r10,32(r1) + 1a78: 2c 09 00 00 cmpwi r9,0 + 1a7c: 40 82 ff c4 bne 1a40 + 1a80: 39 20 00 00 li r9,0 + 1a84: 7d 23 4b 78 mr r3,r9 + 1a88: 38 21 00 30 addi r1,r1,48 + 1a8c: 4e 80 00 20 blr + +00001a90 : + 1a90: 94 21 ff d0 stwu r1,-48(r1) + 1a94: 7c 08 02 a6 mflr r0 + 1a98: 90 01 00 34 stw r0,52(r1) + 1a9c: 90 61 00 18 stw r3,24(r1) + 1aa0: 90 81 00 1c stw r4,28(r1) + 1aa4: 90 a1 00 20 stw r5,32(r1) + 1aa8: 39 20 00 00 li r9,0 + 1aac: 91 21 00 08 stw r9,8(r1) + 1ab0: 81 21 00 20 lwz r9,32(r1) + 1ab4: 2c 09 00 00 cmpwi r9,0 + 1ab8: 40 82 00 8c bne 1b44 + 1abc: 39 20 00 0a li r9,10 + 1ac0: 91 21 00 20 stw r9,32(r1) + 1ac4: 81 21 00 18 lwz r9,24(r1) + 1ac8: 89 29 00 00 lbz r9,0(r9) + 1acc: 28 09 00 30 cmplwi r9,48 + 1ad0: 40 82 00 e4 bne 1bb4 + 1ad4: 39 20 00 08 li r9,8 + 1ad8: 91 21 00 20 stw r9,32(r1) + 1adc: 81 21 00 18 lwz r9,24(r1) + 1ae0: 39 29 00 01 addi r9,r9,1 + 1ae4: 91 21 00 18 stw r9,24(r1) + 1ae8: 81 21 00 18 lwz r9,24(r1) + 1aec: 89 29 00 00 lbz r9,0(r9) + 1af0: 7d 23 4b 78 mr r3,r9 + 1af4: 4b ff f5 41 bl 1034 <__toupper> + 1af8: 7c 69 1b 78 mr r9,r3 + 1afc: 28 09 00 58 cmplwi r9,88 + 1b00: 40 82 00 b4 bne 1bb4 + 1b04: 81 21 00 18 lwz r9,24(r1) + 1b08: 39 29 00 01 addi r9,r9,1 + 1b0c: 89 29 00 00 lbz r9,0(r9) + 1b10: 7d 2a 4b 78 mr r10,r9 + 1b14: 3d 20 00 00 lis r9,0 + 1b18: 39 29 09 04 addi r9,r9,2308 + 1b1c: 7d 29 50 ae lbzx r9,r9,r10 + 1b20: 71 29 00 44 andi. r9,r9,68 + 1b24: 2c 09 00 00 cmpwi r9,0 + 1b28: 41 82 00 8c beq 1bb4 + 1b2c: 81 21 00 18 lwz r9,24(r1) + 1b30: 39 29 00 01 addi r9,r9,1 + 1b34: 91 21 00 18 stw r9,24(r1) + 1b38: 39 20 00 10 li r9,16 + 1b3c: 91 21 00 20 stw r9,32(r1) + 1b40: 48 00 00 74 b 1bb4 + 1b44: 81 21 00 20 lwz r9,32(r1) + 1b48: 2c 09 00 10 cmpwi r9,16 + 1b4c: 40 82 00 68 bne 1bb4 + 1b50: 81 21 00 18 lwz r9,24(r1) + 1b54: 89 29 00 00 lbz r9,0(r9) + 1b58: 28 09 00 30 cmplwi r9,48 + 1b5c: 40 82 00 58 bne 1bb4 + 1b60: 81 21 00 18 lwz r9,24(r1) + 1b64: 39 29 00 01 addi r9,r9,1 + 1b68: 89 29 00 00 lbz r9,0(r9) + 1b6c: 7d 23 4b 78 mr r3,r9 + 1b70: 4b ff f4 c5 bl 1034 <__toupper> + 1b74: 7c 69 1b 78 mr r9,r3 + 1b78: 28 09 00 58 cmplwi r9,88 + 1b7c: 40 82 00 38 bne 1bb4 + 1b80: 81 21 00 18 lwz r9,24(r1) + 1b84: 39 29 00 02 addi r9,r9,2 + 1b88: 91 21 00 18 stw r9,24(r1) + 1b8c: 48 00 00 28 b 1bb4 + 1b90: 81 41 00 08 lwz r10,8(r1) + 1b94: 81 21 00 20 lwz r9,32(r1) + 1b98: 7d 2a 49 d6 mullw r9,r10,r9 + 1b9c: 81 41 00 0c lwz r10,12(r1) + 1ba0: 7d 2a 4a 14 add r9,r10,r9 + 1ba4: 91 21 00 08 stw r9,8(r1) + 1ba8: 81 21 00 18 lwz r9,24(r1) + 1bac: 39 29 00 01 addi r9,r9,1 + 1bb0: 91 21 00 18 stw r9,24(r1) + 1bb4: 81 21 00 18 lwz r9,24(r1) + 1bb8: 89 29 00 00 lbz r9,0(r9) + 1bbc: 7d 2a 4b 78 mr r10,r9 + 1bc0: 3d 20 00 00 lis r9,0 + 1bc4: 39 29 09 04 addi r9,r9,2308 + 1bc8: 7d 29 50 ae lbzx r9,r9,r10 + 1bcc: 71 29 00 44 andi. r9,r9,68 + 1bd0: 2c 09 00 00 cmpwi r9,0 + 1bd4: 41 82 00 64 beq 1c38 + 1bd8: 81 21 00 18 lwz r9,24(r1) + 1bdc: 89 29 00 00 lbz r9,0(r9) + 1be0: 7d 2a 4b 78 mr r10,r9 + 1be4: 3d 20 00 00 lis r9,0 + 1be8: 39 29 09 04 addi r9,r9,2308 + 1bec: 7d 29 50 ae lbzx r9,r9,r10 + 1bf0: 55 29 07 7a rlwinm r9,r9,0,29,29 + 1bf4: 2c 09 00 00 cmpwi r9,0 + 1bf8: 41 82 00 14 beq 1c0c + 1bfc: 81 21 00 18 lwz r9,24(r1) + 1c00: 89 29 00 00 lbz r9,0(r9) + 1c04: 39 29 ff d0 addi r9,r9,-48 + 1c08: 48 00 00 1c b 1c24 + 1c0c: 81 21 00 18 lwz r9,24(r1) + 1c10: 89 29 00 00 lbz r9,0(r9) + 1c14: 7d 23 4b 78 mr r3,r9 + 1c18: 4b ff f4 1d bl 1034 <__toupper> + 1c1c: 7c 69 1b 78 mr r9,r3 + 1c20: 39 29 ff c9 addi r9,r9,-55 + 1c24: 91 21 00 0c stw r9,12(r1) + 1c28: 81 41 00 0c lwz r10,12(r1) + 1c2c: 81 21 00 20 lwz r9,32(r1) + 1c30: 7c 0a 48 40 cmplw r10,r9 + 1c34: 41 80 ff 5c blt 1b90 + 1c38: 81 21 00 1c lwz r9,28(r1) + 1c3c: 2c 09 00 00 cmpwi r9,0 + 1c40: 41 82 00 10 beq 1c50 + 1c44: 81 21 00 1c lwz r9,28(r1) + 1c48: 81 41 00 18 lwz r10,24(r1) + 1c4c: 91 49 00 00 stw r10,0(r9) + 1c50: 81 21 00 08 lwz r9,8(r1) + 1c54: 7d 23 4b 78 mr r3,r9 + 1c58: 80 01 00 34 lwz r0,52(r1) + 1c5c: 7c 08 03 a6 mtlr r0 + 1c60: 38 21 00 30 addi r1,r1,48 + 1c64: 4e 80 00 20 blr + +00001c68 : + 1c68: 94 21 ff e0 stwu r1,-32(r1) + 1c6c: 7c 08 02 a6 mflr r0 + 1c70: 90 01 00 24 stw r0,36(r1) + 1c74: 90 61 00 08 stw r3,8(r1) + 1c78: 90 81 00 0c stw r4,12(r1) + 1c7c: 90 a1 00 10 stw r5,16(r1) + 1c80: 81 21 00 08 lwz r9,8(r1) + 1c84: 89 29 00 00 lbz r9,0(r9) + 1c88: 28 09 00 2d cmplwi r9,45 + 1c8c: 40 82 00 2c bne 1cb8 + 1c90: 81 21 00 08 lwz r9,8(r1) + 1c94: 39 29 00 01 addi r9,r9,1 + 1c98: 81 41 00 10 lwz r10,16(r1) + 1c9c: 7d 45 53 78 mr r5,r10 + 1ca0: 80 81 00 0c lwz r4,12(r1) + 1ca4: 7d 23 4b 78 mr r3,r9 + 1ca8: 4b ff fd e9 bl 1a90 + 1cac: 7c 69 1b 78 mr r9,r3 + 1cb0: 7d 29 00 d0 neg r9,r9 + 1cb4: 48 00 00 1c b 1cd0 + 1cb8: 81 21 00 10 lwz r9,16(r1) + 1cbc: 7d 25 4b 78 mr r5,r9 + 1cc0: 80 81 00 0c lwz r4,12(r1) + 1cc4: 80 61 00 08 lwz r3,8(r1) + 1cc8: 4b ff fd c9 bl 1a90 + 1ccc: 7c 69 1b 78 mr r9,r3 + 1cd0: 7d 23 4b 78 mr r3,r9 + 1cd4: 80 01 00 24 lwz r0,36(r1) + 1cd8: 7c 08 03 a6 mtlr r0 + 1cdc: 38 21 00 20 addi r1,r1,32 + 1ce0: 4e 80 00 20 blr + +00001ce4 : + 1ce4: 94 21 ff e0 stwu r1,-32(r1) + 1ce8: 90 61 00 18 stw r3,24(r1) + 1cec: 39 20 00 00 li r9,0 + 1cf0: 91 21 00 08 stw r9,8(r1) + 1cf4: 48 00 00 30 b 1d24 + 1cf8: 81 21 00 08 lwz r9,8(r1) + 1cfc: 1d 49 00 0a mulli r10,r9,10 + 1d00: 81 21 00 18 lwz r9,24(r1) + 1d04: 81 29 00 00 lwz r9,0(r9) + 1d08: 38 e9 00 01 addi r7,r9,1 + 1d0c: 81 01 00 18 lwz r8,24(r1) + 1d10: 90 e8 00 00 stw r7,0(r8) + 1d14: 89 29 00 00 lbz r9,0(r9) + 1d18: 7d 2a 4a 14 add r9,r10,r9 + 1d1c: 39 29 ff d0 addi r9,r9,-48 + 1d20: 91 21 00 08 stw r9,8(r1) + 1d24: 81 21 00 18 lwz r9,24(r1) + 1d28: 81 29 00 00 lwz r9,0(r9) + 1d2c: 89 29 00 00 lbz r9,0(r9) + 1d30: 7d 2a 4b 78 mr r10,r9 + 1d34: 3d 20 00 00 lis r9,0 + 1d38: 39 29 09 04 addi r9,r9,2308 + 1d3c: 7d 29 50 ae lbzx r9,r9,r10 + 1d40: 55 29 07 7a rlwinm r9,r9,0,29,29 + 1d44: 2c 09 00 00 cmpwi r9,0 + 1d48: 40 82 ff b0 bne 1cf8 + 1d4c: 81 21 00 08 lwz r9,8(r1) + 1d50: 7d 23 4b 78 mr r3,r9 + 1d54: 38 21 00 20 addi r1,r1,32 + 1d58: 4e 80 00 20 blr + +00001d5c : + 1d5c: 94 21 ff 70 stwu r1,-144(r1) + 1d60: 90 61 00 68 stw r3,104(r1) + 1d64: 90 81 00 6c stw r4,108(r1) + 1d68: 90 a1 00 70 stw r5,112(r1) + 1d6c: 90 c1 00 74 stw r6,116(r1) + 1d70: 90 e1 00 78 stw r7,120(r1) + 1d74: 91 01 00 7c stw r8,124(r1) + 1d78: 91 21 00 80 stw r9,128(r1) + 1d7c: 81 21 00 80 lwz r9,128(r1) + 1d80: 55 29 06 72 rlwinm r9,r9,0,25,25 + 1d84: 2c 09 00 00 cmpwi r9,0 + 1d88: 41 82 00 10 beq 1d98 + 1d8c: 3d 20 00 00 lis r9,0 + 1d90: 39 29 0a 10 addi r9,r9,2576 + 1d94: 48 00 00 0c b 1da0 + 1d98: 3d 20 00 00 lis r9,0 + 1d9c: 39 29 0a 38 addi r9,r9,2616 + 1da0: 91 21 00 10 stw r9,16(r1) + 1da4: 81 21 00 80 lwz r9,128(r1) + 1da8: 55 29 06 f6 rlwinm r9,r9,0,27,27 + 1dac: 2c 09 00 00 cmpwi r9,0 + 1db0: 41 82 00 10 beq 1dc0 + 1db4: 81 21 00 80 lwz r9,128(r1) + 1db8: 55 29 00 3c rlwinm r9,r9,0,0,30 + 1dbc: 91 21 00 80 stw r9,128(r1) + 1dc0: 81 21 00 74 lwz r9,116(r1) + 1dc4: 2c 09 00 01 cmpwi r9,1 + 1dc8: 40 81 00 10 ble 1dd8 + 1dcc: 81 21 00 74 lwz r9,116(r1) + 1dd0: 2c 09 00 24 cmpwi r9,36 + 1dd4: 40 81 00 0c ble 1de0 + 1dd8: 39 20 00 00 li r9,0 + 1ddc: 48 00 03 fc b 21d8 + 1de0: 81 21 00 80 lwz r9,128(r1) + 1de4: 55 29 07 fe clrlwi r9,r9,31 + 1de8: 2c 09 00 00 cmpwi r9,0 + 1dec: 41 82 00 0c beq 1df8 + 1df0: 39 20 00 30 li r9,48 + 1df4: 48 00 00 08 b 1dfc + 1df8: 39 20 00 20 li r9,32 + 1dfc: 99 21 00 14 stb r9,20(r1) + 1e00: 39 20 00 00 li r9,0 + 1e04: 99 21 00 08 stb r9,8(r1) + 1e08: 81 21 00 80 lwz r9,128(r1) + 1e0c: 55 29 07 bc rlwinm r9,r9,0,30,30 + 1e10: 2c 09 00 00 cmpwi r9,0 + 1e14: 41 82 00 80 beq 1e94 + 1e18: 81 21 00 70 lwz r9,112(r1) + 1e1c: 2c 09 00 00 cmpwi r9,0 + 1e20: 40 80 00 28 bge 1e48 + 1e24: 39 20 00 2d li r9,45 + 1e28: 99 21 00 08 stb r9,8(r1) + 1e2c: 81 21 00 70 lwz r9,112(r1) + 1e30: 7d 29 00 d0 neg r9,r9 + 1e34: 91 21 00 70 stw r9,112(r1) + 1e38: 81 21 00 78 lwz r9,120(r1) + 1e3c: 39 29 ff ff addi r9,r9,-1 + 1e40: 91 21 00 78 stw r9,120(r1) + 1e44: 48 00 00 50 b 1e94 + 1e48: 81 21 00 80 lwz r9,128(r1) + 1e4c: 55 29 07 7a rlwinm r9,r9,0,29,29 + 1e50: 2c 09 00 00 cmpwi r9,0 + 1e54: 41 82 00 1c beq 1e70 + 1e58: 39 20 00 2b li r9,43 + 1e5c: 99 21 00 08 stb r9,8(r1) + 1e60: 81 21 00 78 lwz r9,120(r1) + 1e64: 39 29 ff ff addi r9,r9,-1 + 1e68: 91 21 00 78 stw r9,120(r1) + 1e6c: 48 00 00 28 b 1e94 + 1e70: 81 21 00 80 lwz r9,128(r1) + 1e74: 55 29 07 38 rlwinm r9,r9,0,28,28 + 1e78: 2c 09 00 00 cmpwi r9,0 + 1e7c: 41 82 00 18 beq 1e94 + 1e80: 39 20 00 20 li r9,32 + 1e84: 99 21 00 08 stb r9,8(r1) + 1e88: 81 21 00 78 lwz r9,120(r1) + 1e8c: 39 29 ff ff addi r9,r9,-1 + 1e90: 91 21 00 78 stw r9,120(r1) + 1e94: 81 21 00 80 lwz r9,128(r1) + 1e98: 55 29 06 b4 rlwinm r9,r9,0,26,26 + 1e9c: 2c 09 00 00 cmpwi r9,0 + 1ea0: 41 82 00 38 beq 1ed8 + 1ea4: 81 21 00 74 lwz r9,116(r1) + 1ea8: 2c 09 00 10 cmpwi r9,16 + 1eac: 40 82 00 14 bne 1ec0 + 1eb0: 81 21 00 78 lwz r9,120(r1) + 1eb4: 39 29 ff fe addi r9,r9,-2 + 1eb8: 91 21 00 78 stw r9,120(r1) + 1ebc: 48 00 00 1c b 1ed8 + 1ec0: 81 21 00 74 lwz r9,116(r1) + 1ec4: 2c 09 00 08 cmpwi r9,8 + 1ec8: 40 82 00 10 bne 1ed8 + 1ecc: 81 21 00 78 lwz r9,120(r1) + 1ed0: 39 29 ff ff addi r9,r9,-1 + 1ed4: 91 21 00 78 stw r9,120(r1) + 1ed8: 39 20 00 00 li r9,0 + 1edc: 91 21 00 0c stw r9,12(r1) + 1ee0: 81 21 00 70 lwz r9,112(r1) + 1ee4: 2c 09 00 00 cmpwi r9,0 + 1ee8: 40 82 00 6c bne 1f54 + 1eec: 81 21 00 0c lwz r9,12(r1) + 1ef0: 39 49 00 01 addi r10,r9,1 + 1ef4: 91 41 00 0c stw r10,12(r1) + 1ef8: 39 41 00 08 addi r10,r1,8 + 1efc: 7d 2a 4a 14 add r9,r10,r9 + 1f00: 39 40 00 30 li r10,48 + 1f04: 99 49 00 10 stb r10,16(r9) + 1f08: 48 00 00 58 b 1f60 + 1f0c: 81 41 00 74 lwz r10,116(r1) + 1f10: 81 21 00 70 lwz r9,112(r1) + 1f14: 7d 09 53 96 divwu r8,r9,r10 + 1f18: 7d 48 51 d6 mullw r10,r8,r10 + 1f1c: 7d 2a 48 50 subf r9,r10,r9 + 1f20: 81 41 00 10 lwz r10,16(r1) + 1f24: 7d 4a 4a 14 add r10,r10,r9 + 1f28: 81 21 00 0c lwz r9,12(r1) + 1f2c: 39 09 00 01 addi r8,r9,1 + 1f30: 91 01 00 0c stw r8,12(r1) + 1f34: 89 4a 00 00 lbz r10,0(r10) + 1f38: 39 01 00 08 addi r8,r1,8 + 1f3c: 7d 28 4a 14 add r9,r8,r9 + 1f40: 99 49 00 10 stb r10,16(r9) + 1f44: 81 21 00 74 lwz r9,116(r1) + 1f48: 81 41 00 70 lwz r10,112(r1) + 1f4c: 7d 2a 4b 96 divwu r9,r10,r9 + 1f50: 91 21 00 70 stw r9,112(r1) + 1f54: 81 21 00 70 lwz r9,112(r1) + 1f58: 2c 09 00 00 cmpwi r9,0 + 1f5c: 40 82 ff b0 bne 1f0c + 1f60: 81 41 00 0c lwz r10,12(r1) + 1f64: 81 21 00 7c lwz r9,124(r1) + 1f68: 7c 0a 48 00 cmpw r10,r9 + 1f6c: 40 81 00 0c ble 1f78 + 1f70: 81 21 00 0c lwz r9,12(r1) + 1f74: 91 21 00 7c stw r9,124(r1) + 1f78: 81 41 00 78 lwz r10,120(r1) + 1f7c: 81 21 00 7c lwz r9,124(r1) + 1f80: 7d 29 50 50 subf r9,r9,r10 + 1f84: 91 21 00 78 stw r9,120(r1) + 1f88: 81 21 00 80 lwz r9,128(r1) + 1f8c: 71 29 00 11 andi. r9,r9,17 + 1f90: 2c 09 00 00 cmpwi r9,0 + 1f94: 40 82 00 44 bne 1fd8 + 1f98: 48 00 00 2c b 1fc4 + 1f9c: 81 41 00 68 lwz r10,104(r1) + 1fa0: 81 21 00 6c lwz r9,108(r1) + 1fa4: 7c 0a 48 40 cmplw r10,r9 + 1fa8: 40 80 00 10 bge 1fb8 + 1fac: 81 21 00 68 lwz r9,104(r1) + 1fb0: 39 40 00 20 li r10,32 + 1fb4: 99 49 00 00 stb r10,0(r9) + 1fb8: 81 21 00 68 lwz r9,104(r1) + 1fbc: 39 29 00 01 addi r9,r9,1 + 1fc0: 91 21 00 68 stw r9,104(r1) + 1fc4: 81 21 00 78 lwz r9,120(r1) + 1fc8: 39 49 ff ff addi r10,r9,-1 + 1fcc: 91 41 00 78 stw r10,120(r1) + 1fd0: 2c 09 00 00 cmpwi r9,0 + 1fd4: 41 81 ff c8 bgt 1f9c + 1fd8: 89 21 00 08 lbz r9,8(r1) + 1fdc: 2c 09 00 00 cmpwi r9,0 + 1fe0: 41 82 00 2c beq 200c + 1fe4: 81 41 00 68 lwz r10,104(r1) + 1fe8: 81 21 00 6c lwz r9,108(r1) + 1fec: 7c 0a 48 40 cmplw r10,r9 + 1ff0: 40 80 00 10 bge 2000 + 1ff4: 81 21 00 68 lwz r9,104(r1) + 1ff8: 89 41 00 08 lbz r10,8(r1) + 1ffc: 99 49 00 00 stb r10,0(r9) + 2000: 81 21 00 68 lwz r9,104(r1) + 2004: 39 29 00 01 addi r9,r9,1 + 2008: 91 21 00 68 stw r9,104(r1) + 200c: 81 21 00 80 lwz r9,128(r1) + 2010: 55 29 06 b4 rlwinm r9,r9,0,26,26 + 2014: 2c 09 00 00 cmpwi r9,0 + 2018: 41 82 00 9c beq 20b4 + 201c: 81 21 00 74 lwz r9,116(r1) + 2020: 2c 09 00 08 cmpwi r9,8 + 2024: 40 82 00 30 bne 2054 + 2028: 81 41 00 68 lwz r10,104(r1) + 202c: 81 21 00 6c lwz r9,108(r1) + 2030: 7c 0a 48 40 cmplw r10,r9 + 2034: 40 80 00 10 bge 2044 + 2038: 81 21 00 68 lwz r9,104(r1) + 203c: 39 40 00 30 li r10,48 + 2040: 99 49 00 00 stb r10,0(r9) + 2044: 81 21 00 68 lwz r9,104(r1) + 2048: 39 29 00 01 addi r9,r9,1 + 204c: 91 21 00 68 stw r9,104(r1) + 2050: 48 00 00 64 b 20b4 + 2054: 81 21 00 74 lwz r9,116(r1) + 2058: 2c 09 00 10 cmpwi r9,16 + 205c: 40 82 00 58 bne 20b4 + 2060: 81 41 00 68 lwz r10,104(r1) + 2064: 81 21 00 6c lwz r9,108(r1) + 2068: 7c 0a 48 40 cmplw r10,r9 + 206c: 40 80 00 10 bge 207c + 2070: 81 21 00 68 lwz r9,104(r1) + 2074: 39 40 00 30 li r10,48 + 2078: 99 49 00 00 stb r10,0(r9) + 207c: 81 21 00 68 lwz r9,104(r1) + 2080: 39 29 00 01 addi r9,r9,1 + 2084: 91 21 00 68 stw r9,104(r1) + 2088: 81 41 00 68 lwz r10,104(r1) + 208c: 81 21 00 6c lwz r9,108(r1) + 2090: 7c 0a 48 40 cmplw r10,r9 + 2094: 40 80 00 14 bge 20a8 + 2098: 81 21 00 10 lwz r9,16(r1) + 209c: 89 49 00 21 lbz r10,33(r9) + 20a0: 81 21 00 68 lwz r9,104(r1) + 20a4: 99 49 00 00 stb r10,0(r9) + 20a8: 81 21 00 68 lwz r9,104(r1) + 20ac: 39 29 00 01 addi r9,r9,1 + 20b0: 91 21 00 68 stw r9,104(r1) + 20b4: 81 21 00 80 lwz r9,128(r1) + 20b8: 55 29 06 f6 rlwinm r9,r9,0,27,27 + 20bc: 2c 09 00 00 cmpwi r9,0 + 20c0: 40 82 00 70 bne 2130 + 20c4: 48 00 00 2c b 20f0 + 20c8: 81 41 00 68 lwz r10,104(r1) + 20cc: 81 21 00 6c lwz r9,108(r1) + 20d0: 7c 0a 48 40 cmplw r10,r9 + 20d4: 40 80 00 10 bge 20e4 + 20d8: 81 21 00 68 lwz r9,104(r1) + 20dc: 89 41 00 14 lbz r10,20(r1) + 20e0: 99 49 00 00 stb r10,0(r9) + 20e4: 81 21 00 68 lwz r9,104(r1) + 20e8: 39 29 00 01 addi r9,r9,1 + 20ec: 91 21 00 68 stw r9,104(r1) + 20f0: 81 21 00 78 lwz r9,120(r1) + 20f4: 39 49 ff ff addi r10,r9,-1 + 20f8: 91 41 00 78 stw r10,120(r1) + 20fc: 2c 09 00 00 cmpwi r9,0 + 2100: 41 81 ff c8 bgt 20c8 + 2104: 48 00 00 2c b 2130 + 2108: 81 41 00 68 lwz r10,104(r1) + 210c: 81 21 00 6c lwz r9,108(r1) + 2110: 7c 0a 48 40 cmplw r10,r9 + 2114: 40 80 00 10 bge 2124 + 2118: 81 21 00 68 lwz r9,104(r1) + 211c: 39 40 00 30 li r10,48 + 2120: 99 49 00 00 stb r10,0(r9) + 2124: 81 21 00 68 lwz r9,104(r1) + 2128: 39 29 00 01 addi r9,r9,1 + 212c: 91 21 00 68 stw r9,104(r1) + 2130: 81 21 00 7c lwz r9,124(r1) + 2134: 39 49 ff ff addi r10,r9,-1 + 2138: 91 41 00 7c stw r10,124(r1) + 213c: 81 41 00 0c lwz r10,12(r1) + 2140: 7c 0a 48 00 cmpw r10,r9 + 2144: 41 80 ff c4 blt 2108 + 2148: 48 00 00 38 b 2180 + 214c: 81 41 00 68 lwz r10,104(r1) + 2150: 81 21 00 6c lwz r9,108(r1) + 2154: 7c 0a 48 40 cmplw r10,r9 + 2158: 40 80 00 1c bge 2174 + 215c: 39 41 00 18 addi r10,r1,24 + 2160: 81 21 00 0c lwz r9,12(r1) + 2164: 7d 2a 4a 14 add r9,r10,r9 + 2168: 89 49 00 00 lbz r10,0(r9) + 216c: 81 21 00 68 lwz r9,104(r1) + 2170: 99 49 00 00 stb r10,0(r9) + 2174: 81 21 00 68 lwz r9,104(r1) + 2178: 39 29 00 01 addi r9,r9,1 + 217c: 91 21 00 68 stw r9,104(r1) + 2180: 81 21 00 0c lwz r9,12(r1) + 2184: 39 49 ff ff addi r10,r9,-1 + 2188: 91 41 00 0c stw r10,12(r1) + 218c: 2c 09 00 00 cmpwi r9,0 + 2190: 41 81 ff bc bgt 214c + 2194: 48 00 00 2c b 21c0 + 2198: 81 41 00 68 lwz r10,104(r1) + 219c: 81 21 00 6c lwz r9,108(r1) + 21a0: 7c 0a 48 40 cmplw r10,r9 + 21a4: 40 80 00 10 bge 21b4 + 21a8: 81 21 00 68 lwz r9,104(r1) + 21ac: 39 40 00 20 li r10,32 + 21b0: 99 49 00 00 stb r10,0(r9) + 21b4: 81 21 00 68 lwz r9,104(r1) + 21b8: 39 29 00 01 addi r9,r9,1 + 21bc: 91 21 00 68 stw r9,104(r1) + 21c0: 81 21 00 78 lwz r9,120(r1) + 21c4: 39 49 ff ff addi r10,r9,-1 + 21c8: 91 41 00 78 stw r10,120(r1) + 21cc: 2c 09 00 00 cmpwi r9,0 + 21d0: 41 81 ff c8 bgt 2198 + 21d4: 81 21 00 68 lwz r9,104(r1) + 21d8: 7d 23 4b 78 mr r3,r9 + 21dc: 38 21 00 90 addi r1,r1,144 + 21e0: 4e 80 00 20 blr + +000021e4 : + 21e4: 94 21 ff d0 stwu r1,-48(r1) + 21e8: 7c 08 02 a6 mflr r0 + 21ec: 90 01 00 34 stw r0,52(r1) + 21f0: 90 61 00 18 stw r3,24(r1) + 21f4: 90 81 00 1c stw r4,28(r1) + 21f8: 90 a1 00 20 stw r5,32(r1) + 21fc: 90 c1 00 24 stw r6,36(r1) + 2200: 80 c1 00 24 lwz r6,36(r1) + 2204: 80 a1 00 20 lwz r5,32(r1) + 2208: 80 81 00 1c lwz r4,28(r1) + 220c: 80 61 00 18 lwz r3,24(r1) + 2210: 48 00 04 4d bl 265c + 2214: 7c 69 1b 78 mr r9,r3 + 2218: 91 21 00 08 stw r9,8(r1) + 221c: 81 41 00 08 lwz r10,8(r1) + 2220: 81 21 00 1c lwz r9,28(r1) + 2224: 7c 0a 48 40 cmplw r10,r9 + 2228: 41 80 00 10 blt 2238 + 222c: 81 21 00 1c lwz r9,28(r1) + 2230: 39 29 ff ff addi r9,r9,-1 + 2234: 48 00 00 08 b 223c + 2238: 81 21 00 08 lwz r9,8(r1) + 223c: 7d 23 4b 78 mr r3,r9 + 2240: 80 01 00 34 lwz r0,52(r1) + 2244: 7c 08 03 a6 mtlr r0 + 2248: 38 21 00 30 addi r1,r1,48 + 224c: 4e 80 00 20 blr + +00002250 : + 2250: 94 21 ff 80 stwu r1,-128(r1) + 2254: 7c 08 02 a6 mflr r0 + 2258: 90 01 00 84 stw r0,132(r1) + 225c: 90 61 00 18 stw r3,24(r1) + 2260: 90 81 00 1c stw r4,28(r1) + 2264: 90 a1 00 20 stw r5,32(r1) + 2268: 90 c1 00 2c stw r6,44(r1) + 226c: 90 e1 00 30 stw r7,48(r1) + 2270: 91 01 00 34 stw r8,52(r1) + 2274: 91 21 00 38 stw r9,56(r1) + 2278: 91 41 00 3c stw r10,60(r1) + 227c: 40 86 00 24 bne cr1,22a0 + 2280: d8 21 00 40 stfd f1,64(r1) + 2284: d8 41 00 48 stfd f2,72(r1) + 2288: d8 61 00 50 stfd f3,80(r1) + 228c: d8 81 00 58 stfd f4,88(r1) + 2290: d8 a1 00 60 stfd f5,96(r1) + 2294: d8 c1 00 68 stfd f6,104(r1) + 2298: d8 e1 00 70 stfd f7,112(r1) + 229c: d9 01 00 78 stfd f8,120(r1) + 22a0: 39 20 00 03 li r9,3 + 22a4: 99 21 00 0c stb r9,12(r1) + 22a8: 39 20 00 00 li r9,0 + 22ac: 99 21 00 0d stb r9,13(r1) + 22b0: 39 21 00 88 addi r9,r1,136 + 22b4: 91 21 00 10 stw r9,16(r1) + 22b8: 39 21 00 20 addi r9,r1,32 + 22bc: 91 21 00 14 stw r9,20(r1) + 22c0: 39 21 00 0c addi r9,r1,12 + 22c4: 7d 26 4b 78 mr r6,r9 + 22c8: 80 a1 00 20 lwz r5,32(r1) + 22cc: 80 81 00 1c lwz r4,28(r1) + 22d0: 80 61 00 18 lwz r3,24(r1) + 22d4: 48 00 03 89 bl 265c + 22d8: 7c 69 1b 78 mr r9,r3 + 22dc: 91 21 00 08 stw r9,8(r1) + 22e0: 81 21 00 08 lwz r9,8(r1) + 22e4: 7d 23 4b 78 mr r3,r9 + 22e8: 80 01 00 84 lwz r0,132(r1) + 22ec: 7c 08 03 a6 mtlr r0 + 22f0: 38 21 00 80 addi r1,r1,128 + 22f4: 4e 80 00 20 blr + +000022f8 : + 22f8: 94 21 ff 80 stwu r1,-128(r1) + 22fc: 7c 08 02 a6 mflr r0 + 2300: 90 01 00 84 stw r0,132(r1) + 2304: 90 61 00 18 stw r3,24(r1) + 2308: 90 81 00 1c stw r4,28(r1) + 230c: 90 a1 00 20 stw r5,32(r1) + 2310: 90 c1 00 2c stw r6,44(r1) + 2314: 90 e1 00 30 stw r7,48(r1) + 2318: 91 01 00 34 stw r8,52(r1) + 231c: 91 21 00 38 stw r9,56(r1) + 2320: 91 41 00 3c stw r10,60(r1) + 2324: 40 86 00 24 bne cr1,2348 + 2328: d8 21 00 40 stfd f1,64(r1) + 232c: d8 41 00 48 stfd f2,72(r1) + 2330: d8 61 00 50 stfd f3,80(r1) + 2334: d8 81 00 58 stfd f4,88(r1) + 2338: d8 a1 00 60 stfd f5,96(r1) + 233c: d8 c1 00 68 stfd f6,104(r1) + 2340: d8 e1 00 70 stfd f7,112(r1) + 2344: d9 01 00 78 stfd f8,120(r1) + 2348: 39 20 00 03 li r9,3 + 234c: 99 21 00 0c stb r9,12(r1) + 2350: 39 20 00 00 li r9,0 + 2354: 99 21 00 0d stb r9,13(r1) + 2358: 39 21 00 88 addi r9,r1,136 + 235c: 91 21 00 10 stw r9,16(r1) + 2360: 39 21 00 20 addi r9,r1,32 + 2364: 91 21 00 14 stw r9,20(r1) + 2368: 39 21 00 0c addi r9,r1,12 + 236c: 7d 26 4b 78 mr r6,r9 + 2370: 80 a1 00 20 lwz r5,32(r1) + 2374: 80 81 00 1c lwz r4,28(r1) + 2378: 80 61 00 18 lwz r3,24(r1) + 237c: 48 00 02 e1 bl 265c + 2380: 7c 69 1b 78 mr r9,r3 + 2384: 91 21 00 08 stw r9,8(r1) + 2388: 81 41 00 08 lwz r10,8(r1) + 238c: 81 21 00 1c lwz r9,28(r1) + 2390: 7c 0a 48 40 cmplw r10,r9 + 2394: 41 80 00 10 blt 23a4 + 2398: 81 21 00 1c lwz r9,28(r1) + 239c: 39 29 ff ff addi r9,r9,-1 + 23a0: 48 00 00 08 b 23a8 + 23a4: 81 21 00 08 lwz r9,8(r1) + 23a8: 7d 23 4b 78 mr r3,r9 + 23ac: 80 01 00 84 lwz r0,132(r1) + 23b0: 7c 08 03 a6 mtlr r0 + 23b4: 38 21 00 80 addi r1,r1,128 + 23b8: 4e 80 00 20 blr + +000023bc : + 23bc: 94 21 ff e0 stwu r1,-32(r1) + 23c0: 7c 08 02 a6 mflr r0 + 23c4: 90 01 00 24 stw r0,36(r1) + 23c8: 90 61 00 08 stw r3,8(r1) + 23cc: 90 81 00 0c stw r4,12(r1) + 23d0: 90 a1 00 10 stw r5,16(r1) + 23d4: 80 c1 00 10 lwz r6,16(r1) + 23d8: 80 a1 00 0c lwz r5,12(r1) + 23dc: 3d 20 7f ff lis r9,32767 + 23e0: 61 24 ff ff ori r4,r9,65535 + 23e4: 80 61 00 08 lwz r3,8(r1) + 23e8: 48 00 02 75 bl 265c + 23ec: 7c 69 1b 78 mr r9,r3 + 23f0: 7d 23 4b 78 mr r3,r9 + 23f4: 80 01 00 24 lwz r0,36(r1) + 23f8: 7c 08 03 a6 mtlr r0 + 23fc: 38 21 00 20 addi r1,r1,32 + 2400: 4e 80 00 20 blr + +00002404 : + 2404: 94 21 ff 80 stwu r1,-128(r1) + 2408: 7c 08 02 a6 mflr r0 + 240c: 90 01 00 84 stw r0,132(r1) + 2410: 90 61 00 18 stw r3,24(r1) + 2414: 90 81 00 1c stw r4,28(r1) + 2418: 90 a1 00 20 stw r5,32(r1) + 241c: 90 c1 00 24 stw r6,36(r1) + 2420: 90 e1 00 28 stw r7,40(r1) + 2424: 91 01 00 2c stw r8,44(r1) + 2428: 91 21 00 30 stw r9,48(r1) + 242c: 91 41 00 34 stw r10,52(r1) + 2430: 40 86 00 24 bne cr1,2454 + 2434: d8 21 00 38 stfd f1,56(r1) + 2438: d8 41 00 40 stfd f2,64(r1) + 243c: d8 61 00 48 stfd f3,72(r1) + 2440: d8 81 00 50 stfd f4,80(r1) + 2444: d8 a1 00 58 stfd f5,88(r1) + 2448: d8 c1 00 60 stfd f6,96(r1) + 244c: d8 e1 00 68 stfd f7,104(r1) + 2450: d9 01 00 70 stfd f8,112(r1) + 2454: 39 20 00 02 li r9,2 + 2458: 99 21 00 0c stb r9,12(r1) + 245c: 39 20 00 00 li r9,0 + 2460: 99 21 00 0d stb r9,13(r1) + 2464: 39 21 00 88 addi r9,r1,136 + 2468: 91 21 00 10 stw r9,16(r1) + 246c: 39 21 00 18 addi r9,r1,24 + 2470: 91 21 00 14 stw r9,20(r1) + 2474: 39 21 00 0c addi r9,r1,12 + 2478: 7d 26 4b 78 mr r6,r9 + 247c: 80 a1 00 1c lwz r5,28(r1) + 2480: 3d 20 7f ff lis r9,32767 + 2484: 61 24 ff ff ori r4,r9,65535 + 2488: 80 61 00 18 lwz r3,24(r1) + 248c: 48 00 01 d1 bl 265c + 2490: 7c 69 1b 78 mr r9,r3 + 2494: 91 21 00 08 stw r9,8(r1) + 2498: 81 21 00 08 lwz r9,8(r1) + 249c: 7d 23 4b 78 mr r3,r9 + 24a0: 80 01 00 84 lwz r0,132(r1) + 24a4: 7c 08 03 a6 mtlr r0 + 24a8: 38 21 00 80 addi r1,r1,128 + 24ac: 4e 80 00 20 blr + +000024b0 : + 24b0: 3d 20 00 01 lis r9,1 + 24b4: 81 29 24 88 lwz r9,9352(r9) + 24b8: 1d 29 00 81 mulli r9,r9,129 + 24bc: 3d 29 36 19 addis r9,r9,13849 + 24c0: 39 49 62 e9 addi r10,r9,25321 + 24c4: 3d 20 00 01 lis r9,1 + 24c8: 91 49 24 88 stw r10,9352(r9) + 24cc: 3d 20 00 01 lis r9,1 + 24d0: 81 29 24 88 lwz r9,9352(r9) + 24d4: 7d 23 4b 78 mr r3,r9 + 24d8: 4e 80 00 20 blr + +000024dc : + 24dc: 94 21 ff f0 stwu r1,-16(r1) + 24e0: 90 61 00 08 stw r3,8(r1) + 24e4: 3d 20 00 01 lis r9,1 + 24e8: 81 41 00 08 lwz r10,8(r1) + 24ec: 91 49 24 88 stw r10,9352(r9) + 24f0: 60 00 00 00 nop + 24f4: 38 21 00 10 addi r1,r1,16 + 24f8: 4e 80 00 20 blr + +000024fc : + 24fc: 94 21 ff f0 stwu r1,-16(r1) + 2500: 7c 08 02 a6 mflr r0 + 2504: 90 01 00 14 stw r0,20(r1) + 2508: 3d 20 00 00 lis r9,0 + 250c: 38 69 0a 04 addi r3,r9,2564 + 2510: 4c c6 31 82 crclr 4*cr1+eq + 2514: 48 00 11 1d bl 3630 + 2518: 48 00 00 00 b 2518 + +0000251c : + 251c: 94 21 ff e0 stwu r1,-32(r1) + 2520: 7c 08 02 a6 mflr r0 + 2524: 90 01 00 24 stw r0,36(r1) + 2528: 90 61 00 18 stw r3,24(r1) + 252c: 39 20 00 01 li r9,1 + 2530: 91 21 00 08 stw r9,8(r1) + 2534: 89 21 00 08 lbz r9,8(r1) + 2538: 2c 09 00 00 cmpwi r9,0 + 253c: 41 82 00 14 beq 2550 + 2540: 80 61 00 18 lwz r3,24(r1) + 2544: 4b ff eb 75 bl 10b8 <__bswap_32> + 2548: 7c 69 1b 78 mr r9,r3 + 254c: 48 00 00 08 b 2554 + 2550: 81 21 00 18 lwz r9,24(r1) + 2554: 7d 23 4b 78 mr r3,r9 + 2558: 80 01 00 24 lwz r0,36(r1) + 255c: 7c 08 03 a6 mtlr r0 + 2560: 38 21 00 20 addi r1,r1,32 + 2564: 4e 80 00 20 blr + +00002568 : + 2568: 94 21 ff e0 stwu r1,-32(r1) + 256c: 7c 08 02 a6 mflr r0 + 2570: 90 01 00 24 stw r0,36(r1) + 2574: 7c 69 1b 78 mr r9,r3 + 2578: b1 21 00 18 sth r9,24(r1) + 257c: 39 20 00 01 li r9,1 + 2580: 91 21 00 08 stw r9,8(r1) + 2584: 89 21 00 08 lbz r9,8(r1) + 2588: 2c 09 00 00 cmpwi r9,0 + 258c: 41 82 00 18 beq 25a4 + 2590: a1 21 00 18 lhz r9,24(r1) + 2594: 7d 23 4b 78 mr r3,r9 + 2598: 4b ff ea e1 bl 1078 <__bswap_16> + 259c: 7c 69 1b 78 mr r9,r3 + 25a0: 48 00 00 08 b 25a8 + 25a4: a1 21 00 18 lhz r9,24(r1) + 25a8: 7d 23 4b 78 mr r3,r9 + 25ac: 80 01 00 24 lwz r0,36(r1) + 25b0: 7c 08 03 a6 mtlr r0 + 25b4: 38 21 00 20 addi r1,r1,32 + 25b8: 4e 80 00 20 blr + +000025bc : + 25bc: 94 21 ff e0 stwu r1,-32(r1) + 25c0: 7c 08 02 a6 mflr r0 + 25c4: 90 01 00 24 stw r0,36(r1) + 25c8: 90 61 00 18 stw r3,24(r1) + 25cc: 39 20 00 01 li r9,1 + 25d0: 91 21 00 08 stw r9,8(r1) + 25d4: 89 21 00 08 lbz r9,8(r1) + 25d8: 2c 09 00 00 cmpwi r9,0 + 25dc: 41 82 00 14 beq 25f0 + 25e0: 80 61 00 18 lwz r3,24(r1) + 25e4: 4b ff ea d5 bl 10b8 <__bswap_32> + 25e8: 7c 69 1b 78 mr r9,r3 + 25ec: 48 00 00 08 b 25f4 + 25f0: 81 21 00 18 lwz r9,24(r1) + 25f4: 7d 23 4b 78 mr r3,r9 + 25f8: 80 01 00 24 lwz r0,36(r1) + 25fc: 7c 08 03 a6 mtlr r0 + 2600: 38 21 00 20 addi r1,r1,32 + 2604: 4e 80 00 20 blr + +00002608 : + 2608: 94 21 ff e0 stwu r1,-32(r1) + 260c: 7c 08 02 a6 mflr r0 + 2610: 90 01 00 24 stw r0,36(r1) + 2614: 7c 69 1b 78 mr r9,r3 + 2618: b1 21 00 18 sth r9,24(r1) + 261c: 39 20 00 01 li r9,1 + 2620: 91 21 00 08 stw r9,8(r1) + 2624: 89 21 00 08 lbz r9,8(r1) + 2628: 2c 09 00 00 cmpwi r9,0 + 262c: 41 82 00 18 beq 2644 + 2630: a1 21 00 18 lhz r9,24(r1) + 2634: 7d 23 4b 78 mr r3,r9 + 2638: 4b ff ea 41 bl 1078 <__bswap_16> + 263c: 7c 69 1b 78 mr r9,r3 + 2640: 48 00 00 08 b 2648 + 2644: a1 21 00 18 lhz r9,24(r1) + 2648: 7d 23 4b 78 mr r3,r9 + 264c: 80 01 00 24 lwz r0,36(r1) + 2650: 7c 08 03 a6 mtlr r0 + 2654: 38 21 00 20 addi r1,r1,32 + 2658: 4e 80 00 20 blr + +0000265c : + 265c: 94 21 ff a0 stwu r1,-96(r1) + 2660: 7c 08 02 a6 mflr r0 + 2664: 90 01 00 64 stw r0,100(r1) + 2668: 90 61 00 48 stw r3,72(r1) + 266c: 90 81 00 4c stw r4,76(r1) + 2670: 90 a1 00 50 stw r5,80(r1) + 2674: 90 c1 00 54 stw r6,84(r1) + 2678: 81 21 00 4c lwz r9,76(r1) + 267c: 2c 09 00 00 cmpwi r9,0 + 2680: 40 80 00 0c bge 268c + 2684: 39 20 00 00 li r9,0 + 2688: 48 00 0d 3c b 33c4 + 268c: 81 21 00 48 lwz r9,72(r1) + 2690: 91 21 00 18 stw r9,24(r1) + 2694: 81 41 00 48 lwz r10,72(r1) + 2698: 81 21 00 4c lwz r9,76(r1) + 269c: 7d 2a 4a 14 add r9,r10,r9 + 26a0: 91 21 00 1c stw r9,28(r1) + 26a4: 81 41 00 1c lwz r10,28(r1) + 26a8: 81 21 00 48 lwz r9,72(r1) + 26ac: 7c 0a 48 40 cmplw r10,r9 + 26b0: 40 80 0c bc bge 336c + 26b4: 39 20 ff ff li r9,-1 + 26b8: 91 21 00 1c stw r9,28(r1) + 26bc: 81 41 00 1c lwz r10,28(r1) + 26c0: 81 21 00 48 lwz r9,72(r1) + 26c4: 7d 29 50 50 subf r9,r9,r10 + 26c8: 91 21 00 4c stw r9,76(r1) + 26cc: 48 00 0c a0 b 336c + 26d0: 81 21 00 50 lwz r9,80(r1) + 26d4: 89 29 00 00 lbz r9,0(r9) + 26d8: 28 09 00 25 cmplwi r9,37 + 26dc: 41 82 00 34 beq 2710 + 26e0: 81 41 00 18 lwz r10,24(r1) + 26e4: 81 21 00 1c lwz r9,28(r1) + 26e8: 7c 0a 48 40 cmplw r10,r9 + 26ec: 40 80 00 14 bge 2700 + 26f0: 81 21 00 50 lwz r9,80(r1) + 26f4: 89 49 00 00 lbz r10,0(r9) + 26f8: 81 21 00 18 lwz r9,24(r1) + 26fc: 99 49 00 00 stb r10,0(r9) + 2700: 81 21 00 18 lwz r9,24(r1) + 2704: 39 29 00 01 addi r9,r9,1 + 2708: 91 21 00 18 stw r9,24(r1) + 270c: 48 00 0c 54 b 3360 + 2710: 39 20 00 00 li r9,0 + 2714: 91 21 00 24 stw r9,36(r1) + 2718: 81 21 00 50 lwz r9,80(r1) + 271c: 39 29 00 01 addi r9,r9,1 + 2720: 91 21 00 50 stw r9,80(r1) + 2724: 81 21 00 50 lwz r9,80(r1) + 2728: 89 29 00 00 lbz r9,0(r9) + 272c: 39 29 ff e0 addi r9,r9,-32 + 2730: 28 09 00 10 cmplwi r9,16 + 2734: 41 81 00 7c bgt 27b0 + 2738: 55 2a 10 3a rlwinm r10,r9,2,0,29 + 273c: 3d 20 00 00 lis r9,0 + 2740: 39 29 0a 68 addi r9,r9,2664 + 2744: 7d 2a 4a 14 add r9,r10,r9 + 2748: 81 49 00 00 lwz r10,0(r9) + 274c: 3d 20 00 00 lis r9,0 + 2750: 39 29 0a 68 addi r9,r9,2664 + 2754: 7d 2a 4a 14 add r9,r10,r9 + 2758: 7d 29 03 a6 mtctr r9 + 275c: 4e 80 04 20 bctr + 2760: 81 21 00 24 lwz r9,36(r1) + 2764: 61 29 00 10 ori r9,r9,16 + 2768: 91 21 00 24 stw r9,36(r1) + 276c: 4b ff ff ac b 2718 + 2770: 81 21 00 24 lwz r9,36(r1) + 2774: 61 29 00 04 ori r9,r9,4 + 2778: 91 21 00 24 stw r9,36(r1) + 277c: 4b ff ff 9c b 2718 + 2780: 81 21 00 24 lwz r9,36(r1) + 2784: 61 29 00 08 ori r9,r9,8 + 2788: 91 21 00 24 stw r9,36(r1) + 278c: 4b ff ff 8c b 2718 + 2790: 81 21 00 24 lwz r9,36(r1) + 2794: 61 29 00 20 ori r9,r9,32 + 2798: 91 21 00 24 stw r9,36(r1) + 279c: 4b ff ff 7c b 2718 + 27a0: 81 21 00 24 lwz r9,36(r1) + 27a4: 61 29 00 01 ori r9,r9,1 + 27a8: 91 21 00 24 stw r9,36(r1) + 27ac: 4b ff ff 6c b 2718 + 27b0: 39 20 ff ff li r9,-1 + 27b4: 91 21 00 28 stw r9,40(r1) + 27b8: 81 21 00 50 lwz r9,80(r1) + 27bc: 89 29 00 00 lbz r9,0(r9) + 27c0: 7d 2a 4b 78 mr r10,r9 + 27c4: 3d 20 00 00 lis r9,0 + 27c8: 39 29 09 04 addi r9,r9,2308 + 27cc: 7d 29 50 ae lbzx r9,r9,r10 + 27d0: 55 29 07 7a rlwinm r9,r9,0,29,29 + 27d4: 2c 09 00 00 cmpwi r9,0 + 27d8: 41 82 00 1c beq 27f4 + 27dc: 39 21 00 50 addi r9,r1,80 + 27e0: 7d 23 4b 78 mr r3,r9 + 27e4: 4b ff f5 01 bl 1ce4 + 27e8: 7c 69 1b 78 mr r9,r3 + 27ec: 91 21 00 28 stw r9,40(r1) + 27f0: 48 00 00 9c b 288c + 27f4: 81 21 00 50 lwz r9,80(r1) + 27f8: 89 29 00 00 lbz r9,0(r9) + 27fc: 28 09 00 2a cmplwi r9,42 + 2800: 40 82 00 8c bne 288c + 2804: 81 21 00 50 lwz r9,80(r1) + 2808: 39 29 00 01 addi r9,r9,1 + 280c: 91 21 00 50 stw r9,80(r1) + 2810: 81 21 00 54 lwz r9,84(r1) + 2814: 89 29 00 00 lbz r9,0(r9) + 2818: 28 09 00 07 cmplwi r9,7 + 281c: 41 81 00 30 bgt 284c + 2820: 81 21 00 54 lwz r9,84(r1) + 2824: 81 49 00 08 lwz r10,8(r9) + 2828: 81 21 00 54 lwz r9,84(r1) + 282c: 89 29 00 00 lbz r9,0(r9) + 2830: 39 09 00 01 addi r8,r9,1 + 2834: 55 07 06 3e clrlwi r7,r8,24 + 2838: 81 01 00 54 lwz r8,84(r1) + 283c: 98 e8 00 00 stb r7,0(r8) + 2840: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2844: 7d 2a 4a 14 add r9,r10,r9 + 2848: 48 00 00 18 b 2860 + 284c: 81 21 00 54 lwz r9,84(r1) + 2850: 81 29 00 04 lwz r9,4(r9) + 2854: 39 09 00 04 addi r8,r9,4 + 2858: 81 41 00 54 lwz r10,84(r1) + 285c: 91 0a 00 04 stw r8,4(r10) + 2860: 81 29 00 00 lwz r9,0(r9) + 2864: 91 21 00 28 stw r9,40(r1) + 2868: 81 21 00 28 lwz r9,40(r1) + 286c: 2c 09 00 00 cmpwi r9,0 + 2870: 40 80 00 1c bge 288c + 2874: 81 21 00 28 lwz r9,40(r1) + 2878: 7d 29 00 d0 neg r9,r9 + 287c: 91 21 00 28 stw r9,40(r1) + 2880: 81 21 00 24 lwz r9,36(r1) + 2884: 61 29 00 10 ori r9,r9,16 + 2888: 91 21 00 24 stw r9,36(r1) + 288c: 39 20 ff ff li r9,-1 + 2890: 91 21 00 2c stw r9,44(r1) + 2894: 81 21 00 50 lwz r9,80(r1) + 2898: 89 29 00 00 lbz r9,0(r9) + 289c: 28 09 00 2e cmplwi r9,46 + 28a0: 40 82 00 d4 bne 2974 + 28a4: 81 21 00 50 lwz r9,80(r1) + 28a8: 39 29 00 01 addi r9,r9,1 + 28ac: 91 21 00 50 stw r9,80(r1) + 28b0: 81 21 00 50 lwz r9,80(r1) + 28b4: 89 29 00 00 lbz r9,0(r9) + 28b8: 7d 2a 4b 78 mr r10,r9 + 28bc: 3d 20 00 00 lis r9,0 + 28c0: 39 29 09 04 addi r9,r9,2308 + 28c4: 7d 29 50 ae lbzx r9,r9,r10 + 28c8: 55 29 07 7a rlwinm r9,r9,0,29,29 + 28cc: 2c 09 00 00 cmpwi r9,0 + 28d0: 41 82 00 1c beq 28ec + 28d4: 39 21 00 50 addi r9,r1,80 + 28d8: 7d 23 4b 78 mr r3,r9 + 28dc: 4b ff f4 09 bl 1ce4 + 28e0: 7c 69 1b 78 mr r9,r3 + 28e4: 91 21 00 2c stw r9,44(r1) + 28e8: 48 00 00 78 b 2960 + 28ec: 81 21 00 50 lwz r9,80(r1) + 28f0: 89 29 00 00 lbz r9,0(r9) + 28f4: 28 09 00 2a cmplwi r9,42 + 28f8: 40 82 00 68 bne 2960 + 28fc: 81 21 00 50 lwz r9,80(r1) + 2900: 39 29 00 01 addi r9,r9,1 + 2904: 91 21 00 50 stw r9,80(r1) + 2908: 81 21 00 54 lwz r9,84(r1) + 290c: 89 29 00 00 lbz r9,0(r9) + 2910: 28 09 00 07 cmplwi r9,7 + 2914: 41 81 00 30 bgt 2944 + 2918: 81 21 00 54 lwz r9,84(r1) + 291c: 81 49 00 08 lwz r10,8(r9) + 2920: 81 21 00 54 lwz r9,84(r1) + 2924: 89 29 00 00 lbz r9,0(r9) + 2928: 39 09 00 01 addi r8,r9,1 + 292c: 55 07 06 3e clrlwi r7,r8,24 + 2930: 81 01 00 54 lwz r8,84(r1) + 2934: 98 e8 00 00 stb r7,0(r8) + 2938: 55 29 10 3a rlwinm r9,r9,2,0,29 + 293c: 7d 2a 4a 14 add r9,r10,r9 + 2940: 48 00 00 18 b 2958 + 2944: 81 21 00 54 lwz r9,84(r1) + 2948: 81 29 00 04 lwz r9,4(r9) + 294c: 39 09 00 04 addi r8,r9,4 + 2950: 81 41 00 54 lwz r10,84(r1) + 2954: 91 0a 00 04 stw r8,4(r10) + 2958: 81 29 00 00 lwz r9,0(r9) + 295c: 91 21 00 2c stw r9,44(r1) + 2960: 81 21 00 2c lwz r9,44(r1) + 2964: 2c 09 00 00 cmpwi r9,0 + 2968: 40 80 00 0c bge 2974 + 296c: 39 20 00 00 li r9,0 + 2970: 91 21 00 2c stw r9,44(r1) + 2974: 39 20 ff ff li r9,-1 + 2978: 91 21 00 30 stw r9,48(r1) + 297c: 81 21 00 50 lwz r9,80(r1) + 2980: 89 29 00 00 lbz r9,0(r9) + 2984: 28 09 00 68 cmplwi r9,104 + 2988: 41 82 00 54 beq 29dc + 298c: 81 21 00 50 lwz r9,80(r1) + 2990: 89 29 00 00 lbz r9,0(r9) + 2994: 28 09 00 6c cmplwi r9,108 + 2998: 41 82 00 44 beq 29dc + 299c: 81 21 00 50 lwz r9,80(r1) + 29a0: 89 29 00 00 lbz r9,0(r9) + 29a4: 28 09 00 4c cmplwi r9,76 + 29a8: 41 82 00 34 beq 29dc + 29ac: 81 21 00 50 lwz r9,80(r1) + 29b0: 89 29 00 00 lbz r9,0(r9) + 29b4: 28 09 00 5a cmplwi r9,90 + 29b8: 41 82 00 24 beq 29dc + 29bc: 81 21 00 50 lwz r9,80(r1) + 29c0: 89 29 00 00 lbz r9,0(r9) + 29c4: 28 09 00 7a cmplwi r9,122 + 29c8: 41 82 00 14 beq 29dc + 29cc: 81 21 00 50 lwz r9,80(r1) + 29d0: 89 29 00 00 lbz r9,0(r9) + 29d4: 28 09 00 74 cmplwi r9,116 + 29d8: 40 82 00 4c bne 2a24 + 29dc: 81 21 00 50 lwz r9,80(r1) + 29e0: 89 29 00 00 lbz r9,0(r9) + 29e4: 91 21 00 30 stw r9,48(r1) + 29e8: 81 21 00 50 lwz r9,80(r1) + 29ec: 39 29 00 01 addi r9,r9,1 + 29f0: 91 21 00 50 stw r9,80(r1) + 29f4: 81 21 00 30 lwz r9,48(r1) + 29f8: 2c 09 00 6c cmpwi r9,108 + 29fc: 40 82 00 28 bne 2a24 + 2a00: 81 21 00 50 lwz r9,80(r1) + 2a04: 89 29 00 00 lbz r9,0(r9) + 2a08: 28 09 00 6c cmplwi r9,108 + 2a0c: 40 82 00 18 bne 2a24 + 2a10: 39 20 00 4c li r9,76 + 2a14: 91 21 00 30 stw r9,48(r1) + 2a18: 81 21 00 50 lwz r9,80(r1) + 2a1c: 39 29 00 01 addi r9,r9,1 + 2a20: 91 21 00 50 stw r9,80(r1) + 2a24: 39 20 00 0a li r9,10 + 2a28: 91 21 00 14 stw r9,20(r1) + 2a2c: 81 21 00 50 lwz r9,80(r1) + 2a30: 89 29 00 00 lbz r9,0(r9) + 2a34: 39 29 ff db addi r9,r9,-37 + 2a38: 28 09 00 53 cmplwi r9,83 + 2a3c: 41 81 05 50 bgt 2f8c + 2a40: 55 2a 10 3a rlwinm r10,r9,2,0,29 + 2a44: 3d 20 00 00 lis r9,0 + 2a48: 39 29 0a ac addi r9,r9,2732 + 2a4c: 7d 2a 4a 14 add r9,r10,r9 + 2a50: 81 49 00 00 lwz r10,0(r9) + 2a54: 3d 20 00 00 lis r9,0 + 2a58: 39 29 0a ac addi r9,r9,2732 + 2a5c: 7d 2a 4a 14 add r9,r10,r9 + 2a60: 7d 29 03 a6 mtctr r9 + 2a64: 4e 80 04 20 bctr + 2a68: 81 21 00 24 lwz r9,36(r1) + 2a6c: 55 29 06 f6 rlwinm r9,r9,0,27,27 + 2a70: 2c 09 00 00 cmpwi r9,0 + 2a74: 40 82 00 48 bne 2abc + 2a78: 48 00 00 2c b 2aa4 + 2a7c: 81 41 00 18 lwz r10,24(r1) + 2a80: 81 21 00 1c lwz r9,28(r1) + 2a84: 7c 0a 48 40 cmplw r10,r9 + 2a88: 40 80 00 10 bge 2a98 + 2a8c: 81 21 00 18 lwz r9,24(r1) + 2a90: 39 40 00 20 li r10,32 + 2a94: 99 49 00 00 stb r10,0(r9) + 2a98: 81 21 00 18 lwz r9,24(r1) + 2a9c: 39 29 00 01 addi r9,r9,1 + 2aa0: 91 21 00 18 stw r9,24(r1) + 2aa4: 81 21 00 28 lwz r9,40(r1) + 2aa8: 39 29 ff ff addi r9,r9,-1 + 2aac: 91 21 00 28 stw r9,40(r1) + 2ab0: 81 21 00 28 lwz r9,40(r1) + 2ab4: 2c 09 00 00 cmpwi r9,0 + 2ab8: 41 81 ff c4 bgt 2a7c + 2abc: 81 21 00 54 lwz r9,84(r1) + 2ac0: 89 29 00 00 lbz r9,0(r9) + 2ac4: 28 09 00 07 cmplwi r9,7 + 2ac8: 41 81 00 30 bgt 2af8 + 2acc: 81 21 00 54 lwz r9,84(r1) + 2ad0: 81 49 00 08 lwz r10,8(r9) + 2ad4: 81 21 00 54 lwz r9,84(r1) + 2ad8: 89 29 00 00 lbz r9,0(r9) + 2adc: 39 09 00 01 addi r8,r9,1 + 2ae0: 55 07 06 3e clrlwi r7,r8,24 + 2ae4: 81 01 00 54 lwz r8,84(r1) + 2ae8: 98 e8 00 00 stb r7,0(r8) + 2aec: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2af0: 7d 2a 4a 14 add r9,r10,r9 + 2af4: 48 00 00 18 b 2b0c + 2af8: 81 21 00 54 lwz r9,84(r1) + 2afc: 81 29 00 04 lwz r9,4(r9) + 2b00: 39 09 00 04 addi r8,r9,4 + 2b04: 81 41 00 54 lwz r10,84(r1) + 2b08: 91 0a 00 04 stw r8,4(r10) + 2b0c: 81 29 00 00 lwz r9,0(r9) + 2b10: 99 21 00 44 stb r9,68(r1) + 2b14: 81 41 00 18 lwz r10,24(r1) + 2b18: 81 21 00 1c lwz r9,28(r1) + 2b1c: 7c 0a 48 40 cmplw r10,r9 + 2b20: 40 80 00 10 bge 2b30 + 2b24: 81 21 00 18 lwz r9,24(r1) + 2b28: 89 41 00 44 lbz r10,68(r1) + 2b2c: 99 49 00 00 stb r10,0(r9) + 2b30: 81 21 00 18 lwz r9,24(r1) + 2b34: 39 29 00 01 addi r9,r9,1 + 2b38: 91 21 00 18 stw r9,24(r1) + 2b3c: 48 00 00 2c b 2b68 + 2b40: 81 41 00 18 lwz r10,24(r1) + 2b44: 81 21 00 1c lwz r9,28(r1) + 2b48: 7c 0a 48 40 cmplw r10,r9 + 2b4c: 40 80 00 10 bge 2b5c + 2b50: 81 21 00 18 lwz r9,24(r1) + 2b54: 39 40 00 20 li r10,32 + 2b58: 99 49 00 00 stb r10,0(r9) + 2b5c: 81 21 00 18 lwz r9,24(r1) + 2b60: 39 29 00 01 addi r9,r9,1 + 2b64: 91 21 00 18 stw r9,24(r1) + 2b68: 81 21 00 28 lwz r9,40(r1) + 2b6c: 39 29 ff ff addi r9,r9,-1 + 2b70: 91 21 00 28 stw r9,40(r1) + 2b74: 81 21 00 28 lwz r9,40(r1) + 2b78: 2c 09 00 00 cmpwi r9,0 + 2b7c: 41 81 ff c4 bgt 2b40 + 2b80: 48 00 07 e0 b 3360 + 2b84: 81 21 00 54 lwz r9,84(r1) + 2b88: 89 29 00 00 lbz r9,0(r9) + 2b8c: 28 09 00 07 cmplwi r9,7 + 2b90: 41 81 00 30 bgt 2bc0 + 2b94: 81 21 00 54 lwz r9,84(r1) + 2b98: 81 49 00 08 lwz r10,8(r9) + 2b9c: 81 21 00 54 lwz r9,84(r1) + 2ba0: 89 29 00 00 lbz r9,0(r9) + 2ba4: 39 09 00 01 addi r8,r9,1 + 2ba8: 55 07 06 3e clrlwi r7,r8,24 + 2bac: 81 01 00 54 lwz r8,84(r1) + 2bb0: 98 e8 00 00 stb r7,0(r8) + 2bb4: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2bb8: 7d 2a 4a 14 add r9,r10,r9 + 2bbc: 48 00 00 18 b 2bd4 + 2bc0: 81 21 00 54 lwz r9,84(r1) + 2bc4: 81 29 00 04 lwz r9,4(r9) + 2bc8: 39 09 00 04 addi r8,r9,4 + 2bcc: 81 41 00 54 lwz r10,84(r1) + 2bd0: 91 0a 00 04 stw r8,4(r10) + 2bd4: 81 29 00 00 lwz r9,0(r9) + 2bd8: 91 21 00 20 stw r9,32(r1) + 2bdc: 81 21 00 20 lwz r9,32(r1) + 2be0: 2c 09 00 00 cmpwi r9,0 + 2be4: 40 82 00 10 bne 2bf4 + 2be8: 3d 20 00 00 lis r9,0 + 2bec: 39 29 0a 60 addi r9,r9,2656 + 2bf0: 91 21 00 20 stw r9,32(r1) + 2bf4: 81 21 00 2c lwz r9,44(r1) + 2bf8: 7d 24 4b 78 mr r4,r9 + 2bfc: 80 61 00 20 lwz r3,32(r1) + 2c00: 4b ff ea 25 bl 1624 + 2c04: 7c 69 1b 78 mr r9,r3 + 2c08: 91 21 00 34 stw r9,52(r1) + 2c0c: 81 21 00 24 lwz r9,36(r1) + 2c10: 55 29 06 f6 rlwinm r9,r9,0,27,27 + 2c14: 2c 09 00 00 cmpwi r9,0 + 2c18: 40 82 00 48 bne 2c60 + 2c1c: 48 00 00 2c b 2c48 + 2c20: 81 41 00 18 lwz r10,24(r1) + 2c24: 81 21 00 1c lwz r9,28(r1) + 2c28: 7c 0a 48 40 cmplw r10,r9 + 2c2c: 40 80 00 10 bge 2c3c + 2c30: 81 21 00 18 lwz r9,24(r1) + 2c34: 39 40 00 20 li r10,32 + 2c38: 99 49 00 00 stb r10,0(r9) + 2c3c: 81 21 00 18 lwz r9,24(r1) + 2c40: 39 29 00 01 addi r9,r9,1 + 2c44: 91 21 00 18 stw r9,24(r1) + 2c48: 81 21 00 28 lwz r9,40(r1) + 2c4c: 39 49 ff ff addi r10,r9,-1 + 2c50: 91 41 00 28 stw r10,40(r1) + 2c54: 81 41 00 34 lwz r10,52(r1) + 2c58: 7c 0a 48 00 cmpw r10,r9 + 2c5c: 41 80 ff c4 blt 2c20 + 2c60: 39 20 00 00 li r9,0 + 2c64: 91 21 00 10 stw r9,16(r1) + 2c68: 48 00 00 48 b 2cb0 + 2c6c: 81 41 00 18 lwz r10,24(r1) + 2c70: 81 21 00 1c lwz r9,28(r1) + 2c74: 7c 0a 48 40 cmplw r10,r9 + 2c78: 40 80 00 14 bge 2c8c + 2c7c: 81 21 00 20 lwz r9,32(r1) + 2c80: 89 49 00 00 lbz r10,0(r9) + 2c84: 81 21 00 18 lwz r9,24(r1) + 2c88: 99 49 00 00 stb r10,0(r9) + 2c8c: 81 21 00 18 lwz r9,24(r1) + 2c90: 39 29 00 01 addi r9,r9,1 + 2c94: 91 21 00 18 stw r9,24(r1) + 2c98: 81 21 00 20 lwz r9,32(r1) + 2c9c: 39 29 00 01 addi r9,r9,1 + 2ca0: 91 21 00 20 stw r9,32(r1) + 2ca4: 81 21 00 10 lwz r9,16(r1) + 2ca8: 39 29 00 01 addi r9,r9,1 + 2cac: 91 21 00 10 stw r9,16(r1) + 2cb0: 81 41 00 10 lwz r10,16(r1) + 2cb4: 81 21 00 34 lwz r9,52(r1) + 2cb8: 7c 0a 48 00 cmpw r10,r9 + 2cbc: 41 80 ff b0 blt 2c6c + 2cc0: 48 00 00 2c b 2cec + 2cc4: 81 41 00 18 lwz r10,24(r1) + 2cc8: 81 21 00 1c lwz r9,28(r1) + 2ccc: 7c 0a 48 40 cmplw r10,r9 + 2cd0: 40 80 00 10 bge 2ce0 + 2cd4: 81 21 00 18 lwz r9,24(r1) + 2cd8: 39 40 00 20 li r10,32 + 2cdc: 99 49 00 00 stb r10,0(r9) + 2ce0: 81 21 00 18 lwz r9,24(r1) + 2ce4: 39 29 00 01 addi r9,r9,1 + 2ce8: 91 21 00 18 stw r9,24(r1) + 2cec: 81 21 00 28 lwz r9,40(r1) + 2cf0: 39 49 ff ff addi r10,r9,-1 + 2cf4: 91 41 00 28 stw r10,40(r1) + 2cf8: 81 41 00 34 lwz r10,52(r1) + 2cfc: 7c 0a 48 00 cmpw r10,r9 + 2d00: 41 80 ff c4 blt 2cc4 + 2d04: 48 00 06 5c b 3360 + 2d08: 81 41 00 28 lwz r10,40(r1) + 2d0c: 39 20 ff ff li r9,-1 + 2d10: 7c 0a 48 00 cmpw r10,r9 + 2d14: 40 82 00 18 bne 2d2c + 2d18: 39 20 00 08 li r9,8 + 2d1c: 91 21 00 28 stw r9,40(r1) + 2d20: 81 21 00 24 lwz r9,36(r1) + 2d24: 61 29 00 21 ori r9,r9,33 + 2d28: 91 21 00 24 stw r9,36(r1) + 2d2c: 81 21 00 54 lwz r9,84(r1) + 2d30: 89 29 00 00 lbz r9,0(r9) + 2d34: 28 09 00 07 cmplwi r9,7 + 2d38: 41 81 00 30 bgt 2d68 + 2d3c: 81 21 00 54 lwz r9,84(r1) + 2d40: 81 49 00 08 lwz r10,8(r9) + 2d44: 81 21 00 54 lwz r9,84(r1) + 2d48: 89 29 00 00 lbz r9,0(r9) + 2d4c: 39 09 00 01 addi r8,r9,1 + 2d50: 55 07 06 3e clrlwi r7,r8,24 + 2d54: 81 01 00 54 lwz r8,84(r1) + 2d58: 98 e8 00 00 stb r7,0(r8) + 2d5c: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2d60: 7d 2a 4a 14 add r9,r10,r9 + 2d64: 48 00 00 18 b 2d7c + 2d68: 81 21 00 54 lwz r9,84(r1) + 2d6c: 81 29 00 04 lwz r9,4(r9) + 2d70: 39 09 00 04 addi r8,r9,4 + 2d74: 81 41 00 54 lwz r10,84(r1) + 2d78: 91 0a 00 04 stw r8,4(r10) + 2d7c: 81 29 00 00 lwz r9,0(r9) + 2d80: 7d 2a 4b 78 mr r10,r9 + 2d84: 81 21 00 24 lwz r9,36(r1) + 2d88: 81 01 00 2c lwz r8,44(r1) + 2d8c: 80 e1 00 28 lwz r7,40(r1) + 2d90: 38 c0 00 10 li r6,16 + 2d94: 7d 45 53 78 mr r5,r10 + 2d98: 80 81 00 1c lwz r4,28(r1) + 2d9c: 80 61 00 18 lwz r3,24(r1) + 2da0: 4b ff ef bd bl 1d5c + 2da4: 7c 69 1b 78 mr r9,r3 + 2da8: 91 21 00 18 stw r9,24(r1) + 2dac: 48 00 05 b4 b 3360 + 2db0: 81 21 00 30 lwz r9,48(r1) + 2db4: 2c 09 00 6c cmpwi r9,108 + 2db8: 40 82 00 74 bne 2e2c + 2dbc: 81 21 00 54 lwz r9,84(r1) + 2dc0: 89 29 00 00 lbz r9,0(r9) + 2dc4: 28 09 00 07 cmplwi r9,7 + 2dc8: 41 81 00 30 bgt 2df8 + 2dcc: 81 21 00 54 lwz r9,84(r1) + 2dd0: 81 49 00 08 lwz r10,8(r9) + 2dd4: 81 21 00 54 lwz r9,84(r1) + 2dd8: 89 29 00 00 lbz r9,0(r9) + 2ddc: 39 09 00 01 addi r8,r9,1 + 2de0: 55 07 06 3e clrlwi r7,r8,24 + 2de4: 81 01 00 54 lwz r8,84(r1) + 2de8: 98 e8 00 00 stb r7,0(r8) + 2dec: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2df0: 7d 2a 4a 14 add r9,r10,r9 + 2df4: 48 00 00 18 b 2e0c + 2df8: 81 21 00 54 lwz r9,84(r1) + 2dfc: 81 29 00 04 lwz r9,4(r9) + 2e00: 39 09 00 04 addi r8,r9,4 + 2e04: 81 41 00 54 lwz r10,84(r1) + 2e08: 91 0a 00 04 stw r8,4(r10) + 2e0c: 81 29 00 00 lwz r9,0(r9) + 2e10: 91 21 00 40 stw r9,64(r1) + 2e14: 81 41 00 18 lwz r10,24(r1) + 2e18: 81 21 00 48 lwz r9,72(r1) + 2e1c: 7d 49 50 50 subf r10,r9,r10 + 2e20: 81 21 00 40 lwz r9,64(r1) + 2e24: 91 49 00 00 stw r10,0(r9) + 2e28: 48 00 05 38 b 3360 + 2e2c: 81 21 00 30 lwz r9,48(r1) + 2e30: 2c 09 00 5a cmpwi r9,90 + 2e34: 41 82 00 10 beq 2e44 + 2e38: 81 21 00 30 lwz r9,48(r1) + 2e3c: 2c 09 00 7a cmpwi r9,122 + 2e40: 40 82 00 7c bne 2ebc + 2e44: 81 21 00 54 lwz r9,84(r1) + 2e48: 89 29 00 00 lbz r9,0(r9) + 2e4c: 28 09 00 07 cmplwi r9,7 + 2e50: 41 81 00 30 bgt 2e80 + 2e54: 81 21 00 54 lwz r9,84(r1) + 2e58: 81 49 00 08 lwz r10,8(r9) + 2e5c: 81 21 00 54 lwz r9,84(r1) + 2e60: 89 29 00 00 lbz r9,0(r9) + 2e64: 39 09 00 01 addi r8,r9,1 + 2e68: 55 07 06 3e clrlwi r7,r8,24 + 2e6c: 81 01 00 54 lwz r8,84(r1) + 2e70: 98 e8 00 00 stb r7,0(r8) + 2e74: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2e78: 7d 2a 4a 14 add r9,r10,r9 + 2e7c: 48 00 00 18 b 2e94 + 2e80: 81 21 00 54 lwz r9,84(r1) + 2e84: 81 29 00 04 lwz r9,4(r9) + 2e88: 39 09 00 04 addi r8,r9,4 + 2e8c: 81 41 00 54 lwz r10,84(r1) + 2e90: 91 0a 00 04 stw r8,4(r10) + 2e94: 81 29 00 00 lwz r9,0(r9) + 2e98: 91 21 00 3c stw r9,60(r1) + 2e9c: 81 41 00 18 lwz r10,24(r1) + 2ea0: 81 21 00 48 lwz r9,72(r1) + 2ea4: 7d 29 50 50 subf r9,r9,r10 + 2ea8: 7d 2a 4b 78 mr r10,r9 + 2eac: 81 21 00 3c lwz r9,60(r1) + 2eb0: 91 49 00 00 stw r10,0(r9) + 2eb4: 60 00 00 00 nop + 2eb8: 48 00 04 a8 b 3360 + 2ebc: 81 21 00 54 lwz r9,84(r1) + 2ec0: 89 29 00 00 lbz r9,0(r9) + 2ec4: 28 09 00 07 cmplwi r9,7 + 2ec8: 41 81 00 30 bgt 2ef8 + 2ecc: 81 21 00 54 lwz r9,84(r1) + 2ed0: 81 49 00 08 lwz r10,8(r9) + 2ed4: 81 21 00 54 lwz r9,84(r1) + 2ed8: 89 29 00 00 lbz r9,0(r9) + 2edc: 39 09 00 01 addi r8,r9,1 + 2ee0: 55 07 06 3e clrlwi r7,r8,24 + 2ee4: 81 01 00 54 lwz r8,84(r1) + 2ee8: 98 e8 00 00 stb r7,0(r8) + 2eec: 55 29 10 3a rlwinm r9,r9,2,0,29 + 2ef0: 7d 2a 4a 14 add r9,r10,r9 + 2ef4: 48 00 00 18 b 2f0c + 2ef8: 81 21 00 54 lwz r9,84(r1) + 2efc: 81 29 00 04 lwz r9,4(r9) + 2f00: 39 09 00 04 addi r8,r9,4 + 2f04: 81 41 00 54 lwz r10,84(r1) + 2f08: 91 0a 00 04 stw r8,4(r10) + 2f0c: 81 29 00 00 lwz r9,0(r9) + 2f10: 91 21 00 38 stw r9,56(r1) + 2f14: 81 41 00 18 lwz r10,24(r1) + 2f18: 81 21 00 48 lwz r9,72(r1) + 2f1c: 7d 49 50 50 subf r10,r9,r10 + 2f20: 81 21 00 38 lwz r9,56(r1) + 2f24: 91 49 00 00 stw r10,0(r9) + 2f28: 48 00 04 38 b 3360 + 2f2c: 81 41 00 18 lwz r10,24(r1) + 2f30: 81 21 00 1c lwz r9,28(r1) + 2f34: 7c 0a 48 40 cmplw r10,r9 + 2f38: 40 80 00 10 bge 2f48 + 2f3c: 81 21 00 18 lwz r9,24(r1) + 2f40: 39 40 00 25 li r10,37 + 2f44: 99 49 00 00 stb r10,0(r9) + 2f48: 81 21 00 18 lwz r9,24(r1) + 2f4c: 39 29 00 01 addi r9,r9,1 + 2f50: 91 21 00 18 stw r9,24(r1) + 2f54: 48 00 04 0c b 3360 + 2f58: 39 20 00 08 li r9,8 + 2f5c: 91 21 00 14 stw r9,20(r1) + 2f60: 48 00 00 a8 b 3008 + 2f64: 81 21 00 24 lwz r9,36(r1) + 2f68: 61 29 00 40 ori r9,r9,64 + 2f6c: 91 21 00 24 stw r9,36(r1) + 2f70: 39 20 00 10 li r9,16 + 2f74: 91 21 00 14 stw r9,20(r1) + 2f78: 48 00 00 90 b 3008 + 2f7c: 81 21 00 24 lwz r9,36(r1) + 2f80: 61 29 00 02 ori r9,r9,2 + 2f84: 91 21 00 24 stw r9,36(r1) + 2f88: 48 00 00 7c b 3004 + 2f8c: 81 41 00 18 lwz r10,24(r1) + 2f90: 81 21 00 1c lwz r9,28(r1) + 2f94: 7c 0a 48 40 cmplw r10,r9 + 2f98: 40 80 00 10 bge 2fa8 + 2f9c: 81 21 00 18 lwz r9,24(r1) + 2fa0: 39 40 00 25 li r10,37 + 2fa4: 99 49 00 00 stb r10,0(r9) + 2fa8: 81 21 00 18 lwz r9,24(r1) + 2fac: 39 29 00 01 addi r9,r9,1 + 2fb0: 91 21 00 18 stw r9,24(r1) + 2fb4: 81 21 00 50 lwz r9,80(r1) + 2fb8: 89 29 00 00 lbz r9,0(r9) + 2fbc: 2c 09 00 00 cmpwi r9,0 + 2fc0: 41 82 00 34 beq 2ff4 + 2fc4: 81 41 00 18 lwz r10,24(r1) + 2fc8: 81 21 00 1c lwz r9,28(r1) + 2fcc: 7c 0a 48 40 cmplw r10,r9 + 2fd0: 40 80 00 14 bge 2fe4 + 2fd4: 81 21 00 50 lwz r9,80(r1) + 2fd8: 89 49 00 00 lbz r10,0(r9) + 2fdc: 81 21 00 18 lwz r9,24(r1) + 2fe0: 99 49 00 00 stb r10,0(r9) + 2fe4: 81 21 00 18 lwz r9,24(r1) + 2fe8: 39 29 00 01 addi r9,r9,1 + 2fec: 91 21 00 18 stw r9,24(r1) + 2ff0: 48 00 03 70 b 3360 + 2ff4: 81 21 00 50 lwz r9,80(r1) + 2ff8: 39 29 ff ff addi r9,r9,-1 + 2ffc: 91 21 00 50 stw r9,80(r1) + 3000: 48 00 03 60 b 3360 + 3004: 60 00 00 00 nop + 3008: 81 21 00 30 lwz r9,48(r1) + 300c: 2c 09 00 4c cmpwi r9,76 + 3010: 40 82 00 90 bne 30a0 + 3014: 81 21 00 54 lwz r9,84(r1) + 3018: 89 29 00 00 lbz r9,0(r9) + 301c: 81 41 00 54 lwz r10,84(r1) + 3020: 89 4a 00 00 lbz r10,0(r10) + 3024: 55 4a 07 fe clrlwi r10,r10,31 + 3028: 55 4a 06 3e clrlwi r10,r10,24 + 302c: 7d 4a 4a 14 add r10,r10,r9 + 3030: 55 48 06 3e clrlwi r8,r10,24 + 3034: 81 41 00 54 lwz r10,84(r1) + 3038: 99 0a 00 00 stb r8,0(r10) + 303c: 28 09 00 06 cmplwi r9,6 + 3040: 41 81 00 30 bgt 3070 + 3044: 81 21 00 54 lwz r9,84(r1) + 3048: 81 49 00 08 lwz r10,8(r9) + 304c: 81 21 00 54 lwz r9,84(r1) + 3050: 89 29 00 00 lbz r9,0(r9) + 3054: 39 09 00 02 addi r8,r9,2 + 3058: 55 07 06 3e clrlwi r7,r8,24 + 305c: 81 01 00 54 lwz r8,84(r1) + 3060: 98 e8 00 00 stb r7,0(r8) + 3064: 55 29 10 3a rlwinm r9,r9,2,0,29 + 3068: 7d 2a 4a 14 add r9,r10,r9 + 306c: 48 00 00 20 b 308c + 3070: 81 21 00 54 lwz r9,84(r1) + 3074: 81 29 00 04 lwz r9,4(r9) + 3078: 39 29 00 07 addi r9,r9,7 + 307c: 55 29 00 38 rlwinm r9,r9,0,0,28 + 3080: 39 09 00 08 addi r8,r9,8 + 3084: 81 41 00 54 lwz r10,84(r1) + 3088: 91 0a 00 04 stw r8,4(r10) + 308c: 81 49 00 00 lwz r10,0(r9) + 3090: 81 69 00 04 lwz r11,4(r9) + 3094: 91 41 00 08 stw r10,8(r1) + 3098: 91 61 00 0c stw r11,12(r1) + 309c: 48 00 02 98 b 3334 + 30a0: 81 21 00 30 lwz r9,48(r1) + 30a4: 2c 09 00 6c cmpwi r9,108 + 30a8: 40 82 00 88 bne 3130 + 30ac: 81 21 00 54 lwz r9,84(r1) + 30b0: 89 29 00 00 lbz r9,0(r9) + 30b4: 28 09 00 07 cmplwi r9,7 + 30b8: 41 81 00 30 bgt 30e8 + 30bc: 81 21 00 54 lwz r9,84(r1) + 30c0: 81 49 00 08 lwz r10,8(r9) + 30c4: 81 21 00 54 lwz r9,84(r1) + 30c8: 89 29 00 00 lbz r9,0(r9) + 30cc: 39 09 00 01 addi r8,r9,1 + 30d0: 55 07 06 3e clrlwi r7,r8,24 + 30d4: 81 01 00 54 lwz r8,84(r1) + 30d8: 98 e8 00 00 stb r7,0(r8) + 30dc: 55 29 10 3a rlwinm r9,r9,2,0,29 + 30e0: 7d 2a 4a 14 add r9,r10,r9 + 30e4: 48 00 00 18 b 30fc + 30e8: 81 21 00 54 lwz r9,84(r1) + 30ec: 81 29 00 04 lwz r9,4(r9) + 30f0: 39 09 00 04 addi r8,r9,4 + 30f4: 81 41 00 54 lwz r10,84(r1) + 30f8: 91 0a 00 04 stw r8,4(r10) + 30fc: 81 29 00 00 lwz r9,0(r9) + 3100: 91 21 00 0c stw r9,12(r1) + 3104: 39 20 00 00 li r9,0 + 3108: 91 21 00 08 stw r9,8(r1) + 310c: 81 21 00 24 lwz r9,36(r1) + 3110: 55 29 07 bc rlwinm r9,r9,0,30,30 + 3114: 2c 09 00 00 cmpwi r9,0 + 3118: 41 82 02 1c beq 3334 + 311c: 81 21 00 0c lwz r9,12(r1) + 3120: 91 21 00 0c stw r9,12(r1) + 3124: 7d 29 fe 70 srawi r9,r9,31 + 3128: 91 21 00 08 stw r9,8(r1) + 312c: 48 00 02 08 b 3334 + 3130: 81 21 00 30 lwz r9,48(r1) + 3134: 2c 09 00 5a cmpwi r9,90 + 3138: 41 82 00 10 beq 3148 + 313c: 81 21 00 30 lwz r9,48(r1) + 3140: 2c 09 00 7a cmpwi r9,122 + 3144: 40 82 00 68 bne 31ac + 3148: 81 21 00 54 lwz r9,84(r1) + 314c: 89 29 00 00 lbz r9,0(r9) + 3150: 28 09 00 07 cmplwi r9,7 + 3154: 41 81 00 30 bgt 3184 + 3158: 81 21 00 54 lwz r9,84(r1) + 315c: 81 49 00 08 lwz r10,8(r9) + 3160: 81 21 00 54 lwz r9,84(r1) + 3164: 89 29 00 00 lbz r9,0(r9) + 3168: 39 09 00 01 addi r8,r9,1 + 316c: 55 07 06 3e clrlwi r7,r8,24 + 3170: 81 01 00 54 lwz r8,84(r1) + 3174: 98 e8 00 00 stb r7,0(r8) + 3178: 55 29 10 3a rlwinm r9,r9,2,0,29 + 317c: 7d 2a 4a 14 add r9,r10,r9 + 3180: 48 00 00 18 b 3198 + 3184: 81 21 00 54 lwz r9,84(r1) + 3188: 81 29 00 04 lwz r9,4(r9) + 318c: 39 09 00 04 addi r8,r9,4 + 3190: 81 41 00 54 lwz r10,84(r1) + 3194: 91 0a 00 04 stw r8,4(r10) + 3198: 81 29 00 00 lwz r9,0(r9) + 319c: 91 21 00 0c stw r9,12(r1) + 31a0: 39 20 00 00 li r9,0 + 31a4: 91 21 00 08 stw r9,8(r1) + 31a8: 48 00 01 8c b 3334 + 31ac: 81 21 00 30 lwz r9,48(r1) + 31b0: 2c 09 00 74 cmpwi r9,116 + 31b4: 40 82 00 68 bne 321c + 31b8: 81 21 00 54 lwz r9,84(r1) + 31bc: 89 29 00 00 lbz r9,0(r9) + 31c0: 28 09 00 07 cmplwi r9,7 + 31c4: 41 81 00 30 bgt 31f4 + 31c8: 81 21 00 54 lwz r9,84(r1) + 31cc: 81 49 00 08 lwz r10,8(r9) + 31d0: 81 21 00 54 lwz r9,84(r1) + 31d4: 89 29 00 00 lbz r9,0(r9) + 31d8: 39 09 00 01 addi r8,r9,1 + 31dc: 55 07 06 3e clrlwi r7,r8,24 + 31e0: 81 01 00 54 lwz r8,84(r1) + 31e4: 98 e8 00 00 stb r7,0(r8) + 31e8: 55 29 10 3a rlwinm r9,r9,2,0,29 + 31ec: 7d 2a 4a 14 add r9,r10,r9 + 31f0: 48 00 00 18 b 3208 + 31f4: 81 21 00 54 lwz r9,84(r1) + 31f8: 81 29 00 04 lwz r9,4(r9) + 31fc: 39 09 00 04 addi r8,r9,4 + 3200: 81 41 00 54 lwz r10,84(r1) + 3204: 91 0a 00 04 stw r8,4(r10) + 3208: 81 29 00 00 lwz r9,0(r9) + 320c: 91 21 00 0c stw r9,12(r1) + 3210: 7d 29 fe 70 srawi r9,r9,31 + 3214: 91 21 00 08 stw r9,8(r1) + 3218: 48 00 01 1c b 3334 + 321c: 81 21 00 30 lwz r9,48(r1) + 3220: 2c 09 00 68 cmpwi r9,104 + 3224: 40 82 00 90 bne 32b4 + 3228: 81 21 00 54 lwz r9,84(r1) + 322c: 89 29 00 00 lbz r9,0(r9) + 3230: 28 09 00 07 cmplwi r9,7 + 3234: 41 81 00 30 bgt 3264 + 3238: 81 21 00 54 lwz r9,84(r1) + 323c: 81 49 00 08 lwz r10,8(r9) + 3240: 81 21 00 54 lwz r9,84(r1) + 3244: 89 29 00 00 lbz r9,0(r9) + 3248: 39 09 00 01 addi r8,r9,1 + 324c: 55 07 06 3e clrlwi r7,r8,24 + 3250: 81 01 00 54 lwz r8,84(r1) + 3254: 98 e8 00 00 stb r7,0(r8) + 3258: 55 29 10 3a rlwinm r9,r9,2,0,29 + 325c: 7d 2a 4a 14 add r9,r10,r9 + 3260: 48 00 00 18 b 3278 + 3264: 81 21 00 54 lwz r9,84(r1) + 3268: 81 29 00 04 lwz r9,4(r9) + 326c: 39 09 00 04 addi r8,r9,4 + 3270: 81 41 00 54 lwz r10,84(r1) + 3274: 91 0a 00 04 stw r8,4(r10) + 3278: 81 29 00 00 lwz r9,0(r9) + 327c: 55 29 04 3e clrlwi r9,r9,16 + 3280: 91 21 00 0c stw r9,12(r1) + 3284: 39 20 00 00 li r9,0 + 3288: 91 21 00 08 stw r9,8(r1) + 328c: 81 21 00 24 lwz r9,36(r1) + 3290: 55 29 07 bc rlwinm r9,r9,0,30,30 + 3294: 2c 09 00 00 cmpwi r9,0 + 3298: 41 82 00 9c beq 3334 + 329c: a1 21 00 0e lhz r9,14(r1) + 32a0: 7d 29 07 34 extsh r9,r9 + 32a4: 91 21 00 0c stw r9,12(r1) + 32a8: 7d 29 fe 70 srawi r9,r9,31 + 32ac: 91 21 00 08 stw r9,8(r1) + 32b0: 48 00 00 84 b 3334 + 32b4: 81 21 00 54 lwz r9,84(r1) + 32b8: 89 29 00 00 lbz r9,0(r9) + 32bc: 28 09 00 07 cmplwi r9,7 + 32c0: 41 81 00 30 bgt 32f0 + 32c4: 81 21 00 54 lwz r9,84(r1) + 32c8: 81 49 00 08 lwz r10,8(r9) + 32cc: 81 21 00 54 lwz r9,84(r1) + 32d0: 89 29 00 00 lbz r9,0(r9) + 32d4: 39 09 00 01 addi r8,r9,1 + 32d8: 55 07 06 3e clrlwi r7,r8,24 + 32dc: 81 01 00 54 lwz r8,84(r1) + 32e0: 98 e8 00 00 stb r7,0(r8) + 32e4: 55 29 10 3a rlwinm r9,r9,2,0,29 + 32e8: 7d 2a 4a 14 add r9,r10,r9 + 32ec: 48 00 00 18 b 3304 + 32f0: 81 21 00 54 lwz r9,84(r1) + 32f4: 81 29 00 04 lwz r9,4(r9) + 32f8: 39 09 00 04 addi r8,r9,4 + 32fc: 81 41 00 54 lwz r10,84(r1) + 3300: 91 0a 00 04 stw r8,4(r10) + 3304: 81 29 00 00 lwz r9,0(r9) + 3308: 91 21 00 0c stw r9,12(r1) + 330c: 39 20 00 00 li r9,0 + 3310: 91 21 00 08 stw r9,8(r1) + 3314: 81 21 00 24 lwz r9,36(r1) + 3318: 55 29 07 bc rlwinm r9,r9,0,30,30 + 331c: 2c 09 00 00 cmpwi r9,0 + 3320: 41 82 00 14 beq 3334 + 3324: 81 21 00 0c lwz r9,12(r1) + 3328: 91 21 00 0c stw r9,12(r1) + 332c: 7d 29 fe 70 srawi r9,r9,31 + 3330: 91 21 00 08 stw r9,8(r1) + 3334: 81 41 00 0c lwz r10,12(r1) + 3338: 81 21 00 24 lwz r9,36(r1) + 333c: 81 01 00 2c lwz r8,44(r1) + 3340: 80 e1 00 28 lwz r7,40(r1) + 3344: 80 c1 00 14 lwz r6,20(r1) + 3348: 7d 45 53 78 mr r5,r10 + 334c: 80 81 00 1c lwz r4,28(r1) + 3350: 80 61 00 18 lwz r3,24(r1) + 3354: 4b ff ea 09 bl 1d5c + 3358: 7c 69 1b 78 mr r9,r3 + 335c: 91 21 00 18 stw r9,24(r1) + 3360: 81 21 00 50 lwz r9,80(r1) + 3364: 39 29 00 01 addi r9,r9,1 + 3368: 91 21 00 50 stw r9,80(r1) + 336c: 81 21 00 50 lwz r9,80(r1) + 3370: 89 29 00 00 lbz r9,0(r9) + 3374: 2c 09 00 00 cmpwi r9,0 + 3378: 40 82 f3 58 bne 26d0 + 337c: 81 21 00 4c lwz r9,76(r1) + 3380: 2c 09 00 00 cmpwi r9,0 + 3384: 41 82 00 34 beq 33b8 + 3388: 81 41 00 18 lwz r10,24(r1) + 338c: 81 21 00 1c lwz r9,28(r1) + 3390: 7c 0a 48 40 cmplw r10,r9 + 3394: 40 80 00 14 bge 33a8 + 3398: 81 21 00 18 lwz r9,24(r1) + 339c: 39 40 00 00 li r10,0 + 33a0: 99 49 00 00 stb r10,0(r9) + 33a4: 48 00 00 14 b 33b8 + 33a8: 81 21 00 1c lwz r9,28(r1) + 33ac: 39 29 ff ff addi r9,r9,-1 + 33b0: 39 40 00 00 li r10,0 + 33b4: 99 49 00 00 stb r10,0(r9) + 33b8: 81 41 00 18 lwz r10,24(r1) + 33bc: 81 21 00 48 lwz r9,72(r1) + 33c0: 7d 29 50 50 subf r9,r9,r10 + 33c4: 7d 23 4b 78 mr r3,r9 + 33c8: 80 01 00 64 lwz r0,100(r1) + 33cc: 7c 08 03 a6 mtlr r0 + 33d0: 38 21 00 60 addi r1,r1,96 + 33d4: 4e 80 00 20 blr + +000033d8 : + 33d8: 94 21 ff f0 stwu r1,-16(r1) + 33dc: 90 61 00 08 stw r3,8(r1) + 33e0: 3d 20 00 01 lis r9,1 + 33e4: 81 41 00 08 lwz r10,8(r1) + 33e8: 91 49 24 8c stw r10,9356(r9) + 33ec: 60 00 00 00 nop + 33f0: 38 21 00 10 addi r1,r1,16 + 33f4: 4e 80 00 20 blr + +000033f8 : + 33f8: 94 21 ff f0 stwu r1,-16(r1) + 33fc: 90 61 00 08 stw r3,8(r1) + 3400: 90 81 00 0c stw r4,12(r1) + 3404: 3d 20 00 01 lis r9,1 + 3408: 81 41 00 08 lwz r10,8(r1) + 340c: 91 49 24 90 stw r10,9360(r9) + 3410: 3d 20 00 01 lis r9,1 + 3414: 81 41 00 0c lwz r10,12(r1) + 3418: 91 49 24 94 stw r10,9364(r9) + 341c: 60 00 00 00 nop + 3420: 38 21 00 10 addi r1,r1,16 + 3424: 4e 80 00 20 blr + +00003428 : + 3428: 94 21 ff f0 stwu r1,-16(r1) + 342c: 7c 08 02 a6 mflr r0 + 3430: 90 01 00 14 stw r0,20(r1) + 3434: 90 61 00 08 stw r3,8(r1) + 3438: 3d 20 00 01 lis r9,1 + 343c: 81 29 24 8c lwz r9,9356(r9) + 3440: 2c 09 00 00 cmpwi r9,0 + 3444: 41 82 00 20 beq 3464 + 3448: 3d 20 00 01 lis r9,1 + 344c: 81 29 24 8c lwz r9,9356(r9) + 3450: 81 41 00 08 lwz r10,8(r1) + 3454: 55 4a 06 3e clrlwi r10,r10,24 + 3458: 7d 43 53 78 mr r3,r10 + 345c: 7d 29 03 a6 mtctr r9 + 3460: 4e 80 04 21 bctrl + 3464: 81 21 00 08 lwz r9,8(r1) + 3468: 7d 23 4b 78 mr r3,r9 + 346c: 80 01 00 14 lwz r0,20(r1) + 3470: 7c 08 03 a6 mtlr r0 + 3474: 38 21 00 10 addi r1,r1,16 + 3478: 4e 80 00 20 blr + +0000347c : + 347c: 94 21 ff f0 stwu r1,-16(r1) + 3480: 7c 08 02 a6 mflr r0 + 3484: 90 01 00 14 stw r0,20(r1) + 3488: 3d 20 00 01 lis r9,1 + 348c: 81 29 24 94 lwz r9,9364(r9) + 3490: 2c 09 00 00 cmpwi r9,0 + 3494: 41 82 ff f4 beq 3488 + 3498: 3d 20 00 01 lis r9,1 + 349c: 81 29 24 94 lwz r9,9364(r9) + 34a0: 7d 29 03 a6 mtctr r9 + 34a4: 4e 80 04 21 bctrl + 34a8: 7c 69 1b 78 mr r9,r3 + 34ac: 2c 09 00 00 cmpwi r9,0 + 34b0: 41 82 ff d8 beq 3488 + 34b4: 3d 20 00 01 lis r9,1 + 34b8: 81 29 24 90 lwz r9,9360(r9) + 34bc: 7d 29 03 a6 mtctr r9 + 34c0: 4e 80 04 21 bctrl + 34c4: 7c 69 1b 78 mr r9,r3 + 34c8: 7d 23 4b 78 mr r3,r9 + 34cc: 80 01 00 14 lwz r0,20(r1) + 34d0: 7c 08 03 a6 mtlr r0 + 34d4: 38 21 00 10 addi r1,r1,16 + 34d8: 4e 80 00 20 blr + +000034dc : + 34dc: 94 21 ff f0 stwu r1,-16(r1) + 34e0: 7c 08 02 a6 mflr r0 + 34e4: 90 01 00 14 stw r0,20(r1) + 34e8: 3d 20 00 01 lis r9,1 + 34ec: 81 29 24 94 lwz r9,9364(r9) + 34f0: 2c 09 00 00 cmpwi r9,0 + 34f4: 41 82 00 28 beq 351c + 34f8: 3d 20 00 01 lis r9,1 + 34fc: 81 29 24 94 lwz r9,9364(r9) + 3500: 7d 29 03 a6 mtctr r9 + 3504: 4e 80 04 21 bctrl + 3508: 7c 69 1b 78 mr r9,r3 + 350c: 2c 09 00 00 cmpwi r9,0 + 3510: 41 82 00 0c beq 351c + 3514: 39 20 00 01 li r9,1 + 3518: 48 00 00 08 b 3520 + 351c: 39 20 00 00 li r9,0 + 3520: 7d 23 4b 78 mr r3,r9 + 3524: 80 01 00 14 lwz r0,20(r1) + 3528: 7c 08 03 a6 mtlr r0 + 352c: 38 21 00 10 addi r1,r1,16 + 3530: 4e 80 00 20 blr + +00003534 : + 3534: 94 21 ff f0 stwu r1,-16(r1) + 3538: 7c 08 02 a6 mflr r0 + 353c: 90 01 00 14 stw r0,20(r1) + 3540: 90 61 00 08 stw r3,8(r1) + 3544: 80 61 00 08 lwz r3,8(r1) + 3548: 48 00 00 25 bl 356c + 354c: 38 60 00 0a li r3,10 + 3550: 4b ff fe d9 bl 3428 + 3554: 39 20 00 01 li r9,1 + 3558: 7d 23 4b 78 mr r3,r9 + 355c: 80 01 00 14 lwz r0,20(r1) + 3560: 7c 08 03 a6 mtlr r0 + 3564: 38 21 00 10 addi r1,r1,16 + 3568: 4e 80 00 20 blr + +0000356c : + 356c: 94 21 ff f0 stwu r1,-16(r1) + 3570: 7c 08 02 a6 mflr r0 + 3574: 90 01 00 14 stw r0,20(r1) + 3578: 90 61 00 08 stw r3,8(r1) + 357c: 48 00 00 20 b 359c + 3580: 81 21 00 08 lwz r9,8(r1) + 3584: 89 29 00 00 lbz r9,0(r9) + 3588: 7d 23 4b 78 mr r3,r9 + 358c: 4b ff fe 9d bl 3428 + 3590: 81 21 00 08 lwz r9,8(r1) + 3594: 39 29 00 01 addi r9,r9,1 + 3598: 91 21 00 08 stw r9,8(r1) + 359c: 81 21 00 08 lwz r9,8(r1) + 35a0: 89 29 00 00 lbz r9,0(r9) + 35a4: 2c 09 00 00 cmpwi r9,0 + 35a8: 40 82 ff d8 bne 3580 + 35ac: 60 00 00 00 nop + 35b0: 60 00 00 00 nop + 35b4: 80 01 00 14 lwz r0,20(r1) + 35b8: 7c 08 03 a6 mtlr r0 + 35bc: 38 21 00 10 addi r1,r1,16 + 35c0: 4e 80 00 20 blr + +000035c4 : + 35c4: 94 21 fe e0 stwu r1,-288(r1) + 35c8: 7c 08 02 a6 mflr r0 + 35cc: 90 01 01 24 stw r0,292(r1) + 35d0: 90 61 01 18 stw r3,280(r1) + 35d4: 90 81 01 1c stw r4,284(r1) + 35d8: 39 21 00 0c addi r9,r1,12 + 35dc: 80 c1 01 1c lwz r6,284(r1) + 35e0: 80 a1 01 18 lwz r5,280(r1) + 35e4: 38 80 01 00 li r4,256 + 35e8: 7d 23 4b 78 mr r3,r9 + 35ec: 4b ff eb f9 bl 21e4 + 35f0: 7c 69 1b 78 mr r9,r3 + 35f4: 91 21 00 08 stw r9,8(r1) + 35f8: 39 41 00 0c addi r10,r1,12 + 35fc: 81 21 00 08 lwz r9,8(r1) + 3600: 7d 2a 4a 14 add r9,r10,r9 + 3604: 39 40 00 00 li r10,0 + 3608: 99 49 00 00 stb r10,0(r9) + 360c: 39 21 00 0c addi r9,r1,12 + 3610: 7d 23 4b 78 mr r3,r9 + 3614: 4b ff ff 59 bl 356c + 3618: 81 21 00 08 lwz r9,8(r1) + 361c: 7d 23 4b 78 mr r3,r9 + 3620: 80 01 01 24 lwz r0,292(r1) + 3624: 7c 08 03 a6 mtlr r0 + 3628: 38 21 01 20 addi r1,r1,288 + 362c: 4e 80 00 20 blr + +00003630 : + 3630: 94 21 ff 80 stwu r1,-128(r1) + 3634: 7c 08 02 a6 mflr r0 + 3638: 90 01 00 84 stw r0,132(r1) + 363c: 90 61 00 18 stw r3,24(r1) + 3640: 90 81 00 24 stw r4,36(r1) + 3644: 90 a1 00 28 stw r5,40(r1) + 3648: 90 c1 00 2c stw r6,44(r1) + 364c: 90 e1 00 30 stw r7,48(r1) + 3650: 91 01 00 34 stw r8,52(r1) + 3654: 91 21 00 38 stw r9,56(r1) + 3658: 91 41 00 3c stw r10,60(r1) + 365c: 40 86 00 24 bne cr1,3680 + 3660: d8 21 00 40 stfd f1,64(r1) + 3664: d8 41 00 48 stfd f2,72(r1) + 3668: d8 61 00 50 stfd f3,80(r1) + 366c: d8 81 00 58 stfd f4,88(r1) + 3670: d8 a1 00 60 stfd f5,96(r1) + 3674: d8 c1 00 68 stfd f6,104(r1) + 3678: d8 e1 00 70 stfd f7,112(r1) + 367c: d9 01 00 78 stfd f8,120(r1) + 3680: 39 20 00 01 li r9,1 + 3684: 99 21 00 0c stb r9,12(r1) + 3688: 39 20 00 00 li r9,0 + 368c: 99 21 00 0d stb r9,13(r1) + 3690: 39 21 00 88 addi r9,r1,136 + 3694: 91 21 00 10 stw r9,16(r1) + 3698: 39 21 00 20 addi r9,r1,32 + 369c: 91 21 00 14 stw r9,20(r1) + 36a0: 39 21 00 0c addi r9,r1,12 + 36a4: 7d 24 4b 78 mr r4,r9 + 36a8: 80 61 00 18 lwz r3,24(r1) + 36ac: 4b ff ff 19 bl 35c4 + 36b0: 7c 69 1b 78 mr r9,r3 + 36b4: 91 21 00 08 stw r9,8(r1) + 36b8: 81 21 00 08 lwz r9,8(r1) + 36bc: 7d 23 4b 78 mr r3,r9 + 36c0: 80 01 00 84 lwz r0,132(r1) + 36c4: 7c 08 03 a6 mtlr r0 + 36c8: 38 21 00 80 addi r1,r1,128 + 36cc: 4e 80 00 20 blr + +Disassembly of section .data: + +00012000 : + 12000: 00 01 c0 00 00 00 00 00 ........ + +00012008 <_edata>: + ... + +00012020 : + 12020: 69 6e 66 6f xori r14,r11,26223 + 12024: 20 74 65 78 subfic r3,r20,25976 + 12028: Address 0x0000000000012028 is out of bounds. + + +0001202a : + 1202a: 68 65 61 64 xori r5,r3,24932 + 1202e: 65 72 20 74 oris r18,r11,8308 + 12032: 65 78 74 00 oris r24,r11,29696 + ... + +00012040 : + 12040: 00 00 00 00 .long 0x0 + +00012044 : + 12044: 58 22 c9 05 rlmi. r2,r1,r25,4,2 + +00012048 : + 12048: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001204c : + 1204c: 91 b6 d1 a3 stw r13,-11869(r22) + +00012050 : + 12050: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012054 : + 12054: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012058 : + 12058: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001205c : + 1205c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012060 : + 12060: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012064 : + 12064: 7e 11 ee 88 .long 0x7e11ee88 + +00012068 : + 12068: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001206c : + 1206c: 7f ff ff ff .long 0x7fffffff + +00012070 : + 12070: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012074 : + 12074: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012078 : + 12078: 8c 20 bd e6 .long 0x8c20bde6 + +0001207c : + 1207c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012080 : + 12080: 76 d0 da df andis. r16,r22,56031 + +00012084 : + 12084: 15 11 1f 42 .long 0x15111f42 + +00012088 : + 12088: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001208c : + 1208c: 36 10 8e 50 addic. r16,r16,-29104 + +00012090 : + 12090: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012094 : + 12094: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012098 : + 12098: 32 8a 0c ed addic r20,r10,3309 + +0001209c : + 1209c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120a0 : + 120a0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120a4 : + 120a4: af 22 4c 19 lhau r25,19481(r2) + +000120a8 : + 120a8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120ac : + 120ac: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120b0 : + 120b0: d6 24 b2 7a stfsu f17,-19846(r4) + +000120b4 : + 120b4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120b8 : + 120b8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120bc : + 120bc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120c0 : + 120c0: db fd 36 28 stfd f31,13864(r29) + +000120c4 : + 120c4: 89 f0 00 6e lbz r15,110(r16) + +000120c8 : + 120c8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120cc : + 120cc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120d0 : + 120d0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000120d4 : + 120d4: 00 00 11 04 .long 0x1104 + +000120d8 : + 120d8: 00 01 00 00 .long 0x10000 + +000120dc : + 120dc: 00 00 00 00 .long 0x0 + +000120e0 : + 120e0: 00 00 00 0d .long 0xd + +000120e4 : + 120e4: 7c 61 cc 14 addco r3,r1,r25 + 120e8: 7d 23 05 95 addzeo. r9,r3 + 120ec: 7a c3 73 92 rldcr r3,r22,r14,14 + 120f0: 7e 09 4c 11 subfco. r16,r9,r9 + 120f4: 7e 1c b1 15 adde. r16,r28,r22 + 120f8: 7a 33 88 86 rldicr r19,r17,49,2 + 120fc: 7c 60 04 d1 nego. r3,r0 + 12100: 7e 09 b0 38 and r9,r16,r22 + 12104: 7c 36 05 91 subfzeo. r1,r22 + 12108: 7e 2b 00 d1 neg. r17,r11 + 1210c: 60 00 00 00 nop + 12110: 60 00 00 00 nop + 12114: 60 00 00 00 nop + +00012118 : + 12118: 00 01 00 00 .long 0x10000 + 1211c: 00 01 00 04 .long 0x10004 + 12120: 00 01 00 08 .long 0x10008 + 12124: 00 01 00 0c .long 0x1000c + 12128: 00 01 00 10 .long 0x10010 + 1212c: 00 01 00 14 .long 0x10014 + 12130: 00 01 00 18 .long 0x10018 + 12134: 00 01 00 1c .long 0x1001c + 12138: 00 01 00 20 .long 0x10020 + 1213c: 00 01 00 24 .long 0x10024 + 12140: 00 01 00 28 .long 0x10028 + 12144: 00 01 00 2c .long 0x1002c + 12148: 00 01 00 30 .long 0x10030 + 1214c: 48 00 00 14 b 12160 + 12150: 60 00 00 00 nop + 12154: 60 00 00 00 nop + 12158: 60 00 00 00 nop + 1215c: 60 00 00 00 nop + +00012160 : + 12160: 90 23 00 9c stw r1,156(r3) + +00012164 : + 12164: 80 23 00 a0 lwz r1,160(r3) + 12168: 7c 29 03 a6 mtctr r1 + 1216c: 38 23 00 a4 addi r1,r3,164 + 12170: 38 43 00 d8 addi r2,r3,216 + +00012174 : + 12174: 80 81 00 00 lwz r4,0(r1) + 12178: 80 a2 00 00 lwz r5,0(r2) + 1217c: 90 85 00 00 stw r4,0(r5) + 12180: 38 21 00 04 addi r1,r1,4 + 12184: 38 42 00 04 addi r2,r2,4 + 12188: 42 00 ff ec bdnz 12174 + +0001218c : + 1218c: 3c 80 48 00 lis r4,18432 + 12190: 60 84 00 06 ori r4,r4,6 + 12194: 90 85 00 00 stw r4,0(r5) + 12198: 80 23 00 94 lwz r1,148(r3) + 1219c: 7c 3b 03 a6 mtsrr1 r1 + 121a0: 80 23 00 98 lwz r1,152(r3) + 121a4: 7c 3a 03 a6 mtsrr0 r1 + +000121a8 : + 121a8: 80 23 00 80 lwz r1,128(r3) + 121ac: 7c 2f f1 20 mtcr r1 + 121b0: 80 23 00 84 lwz r1,132(r3) + 121b4: 7c 21 03 a6 mtxer r1 + 121b8: 80 23 00 88 lwz r1,136(r3) + 121bc: 7c 29 03 a6 mtctr r1 + 121c0: 80 23 00 8c lwz r1,140(r3) + 121c4: 7c 28 03 a6 mtlr r1 + 121c8: 80 23 00 90 lwz r1,144(r3) + 121cc: 7c 2f cb a6 mtspr 815,r1 + 121d0: 80 03 00 00 lwz r0,0(r3) + 121d4: 80 23 00 04 lwz r1,4(r3) + 121d8: 80 43 00 08 lwz r2,8(r3) + 121dc: 80 83 00 10 lwz r4,16(r3) + 121e0: 80 a3 00 14 lwz r5,20(r3) + 121e4: 80 c3 00 18 lwz r6,24(r3) + 121e8: 80 e3 00 1c lwz r7,28(r3) + 121ec: 81 03 00 20 lwz r8,32(r3) + 121f0: 81 23 00 24 lwz r9,36(r3) + 121f4: 81 43 00 28 lwz r10,40(r3) + 121f8: 81 63 00 2c lwz r11,44(r3) + 121fc: 81 83 00 30 lwz r12,48(r3) + 12200: 81 a3 00 34 lwz r13,52(r3) + 12204: 81 c3 00 38 lwz r14,56(r3) + 12208: 81 e3 00 3c lwz r15,60(r3) + 1220c: 82 03 00 40 lwz r16,64(r3) + 12210: 82 23 00 44 lwz r17,68(r3) + 12214: 82 43 00 48 lwz r18,72(r3) + 12218: 82 63 00 4c lwz r19,76(r3) + 1221c: 82 83 00 50 lwz r20,80(r3) + 12220: 82 a3 00 54 lwz r21,84(r3) + 12224: 82 c3 00 58 lwz r22,88(r3) + 12228: 82 e3 00 5c lwz r23,92(r3) + 1222c: 83 03 00 60 lwz r24,96(r3) + 12230: 83 23 00 64 lwz r25,100(r3) + 12234: 83 43 00 68 lwz r26,104(r3) + 12238: 83 63 00 6c lwz r27,108(r3) + 1223c: 83 83 00 70 lwz r28,112(r3) + 12240: 83 a3 00 74 lwz r29,116(r3) + 12244: 83 c3 00 78 lwz r30,120(r3) + 12248: 83 e3 00 7c lwz r31,124(r3) + 1224c: 80 63 00 0c lwz r3,12(r3) + +00012250 : + 12250: 4c 00 00 64 rfi + +00012254 : + 12254: 48 00 00 0c b 12260 + 12258: 60 00 00 00 nop + 1225c: 60 00 00 00 nop + +00012260 : + 12260: 7c 2f cb a6 mtspr 815,r1 + 12264: 3c 20 00 01 lis r1,1 + 12268: 60 21 23 40 ori r1,r1,9024 + 1226c: 90 01 00 00 stw r0,0(r1) + 12270: 90 41 00 08 stw r2,8(r1) + 12274: 90 61 00 0c stw r3,12(r1) + 12278: 90 81 00 10 stw r4,16(r1) + 1227c: 90 a1 00 14 stw r5,20(r1) + 12280: 90 c1 00 18 stw r6,24(r1) + 12284: 90 e1 00 1c stw r7,28(r1) + 12288: 91 01 00 20 stw r8,32(r1) + 1228c: 91 21 00 24 stw r9,36(r1) + 12290: 91 41 00 28 stw r10,40(r1) + 12294: 91 61 00 2c stw r11,44(r1) + 12298: 91 81 00 30 stw r12,48(r1) + 1229c: 91 a1 00 34 stw r13,52(r1) + 122a0: 91 c1 00 38 stw r14,56(r1) + 122a4: 91 e1 00 3c stw r15,60(r1) + 122a8: 92 01 00 40 stw r16,64(r1) + 122ac: 92 21 00 44 stw r17,68(r1) + 122b0: 92 41 00 48 stw r18,72(r1) + 122b4: 92 61 00 4c stw r19,76(r1) + 122b8: 92 81 00 50 stw r20,80(r1) + 122bc: 92 a1 00 54 stw r21,84(r1) + 122c0: 92 c1 00 58 stw r22,88(r1) + 122c4: 92 e1 00 5c stw r23,92(r1) + 122c8: 93 01 00 60 stw r24,96(r1) + 122cc: 93 21 00 64 stw r25,100(r1) + 122d0: 93 41 00 68 stw r26,104(r1) + 122d4: 93 61 00 6c stw r27,108(r1) + 122d8: 93 81 00 70 stw r28,112(r1) + 122dc: 93 a1 00 74 stw r29,116(r1) + 122e0: 93 c1 00 78 stw r30,120(r1) + 122e4: 93 e1 00 7c stw r31,124(r1) + 122e8: 7c 4f ca a6 mfspr r2,815 + 122ec: 90 41 00 04 stw r2,4(r1) + 122f0: 7c 40 00 26 mfcr r2 + 122f4: 90 41 00 80 stw r2,128(r1) + 122f8: 7c 41 02 a6 mfxer r2 + 122fc: 90 41 00 84 stw r2,132(r1) + 12300: 7c 49 02 a6 mfctr r2 + 12304: 90 41 00 88 stw r2,136(r1) + 12308: 7c 48 02 a6 mflr r2 + 1230c: 90 41 00 8c stw r2,140(r1) + 12310: 7c 4f ca a6 mfspr r2,815 + 12314: 90 41 00 90 stw r2,144(r1) + +00012318 : + 12318: 3c 60 00 01 lis r3,1 + 1231c: 60 63 20 40 ori r3,r3,8256 + 12320: 80 23 00 9c lwz r1,156(r3) + 12324: 3c 60 08 67 lis r3,2151 + 12328: 60 63 53 09 ori r3,r3,21257 + 1232c: 48 00 0e 13 bla e10 + 12330: 60 00 00 00 nop + 12334: 60 00 00 00 nop + 12338: 60 00 00 00 nop + 1233c: 60 00 00 00 nop + +00012340 : + 12340: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012344 : + 12344: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012348 : + 12348: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001234c : + 1234c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012350 : + 12350: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012354 : + 12354: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012358 : + 12358: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001235c : + 1235c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012360 : + 12360: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012364 : + 12364: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012368 : + 12368: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001236c : + 1236c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012370 : + 12370: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012374 : + 12374: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012378 : + 12378: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001237c : + 1237c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012380 : + 12380: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012384 : + 12384: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012388 : + 12388: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001238c : + 1238c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012390 : + 12390: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012394 : + 12394: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012398 : + 12398: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001239c : + 1239c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123a0 : + 123a0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123a4 : + 123a4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123a8 : + 123a8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123ac : + 123ac: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123b0 : + 123b0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123b4 : + 123b4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123b8 : + 123b8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123bc : + 123bc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123c0 : + 123c0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123c4 : + 123c4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123c8 : + 123c8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123cc : + 123cc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123d0 : + 123d0: ff ff ff ff fnmadd. f31,f31,f31,f31 + 123d4: 60 00 00 00 nop + 123d8: 60 00 00 00 nop + 123dc: 60 00 00 00 nop + +000123e0 : + 123e0: 00 00 00 00 .long 0x0 + +000123e4 : + 123e4: cd 75 f3 13 lfdu f11,-3309(r21) + +000123e8 : + 123e8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123ec : + 123ec: 00 00 00 00 .long 0x0 + +000123f0 : + 123f0: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123f4 : + 123f4: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123f8 : + 123f8: ff ff ff ff fnmadd. f31,f31,f31,f31 + +000123fc : + 123fc: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012400 : + 12400: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012404 : + 12404: 00 8a 0c 68 .long 0x8a0c68 + +00012408 : + 12408: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001240c : + 1240c: 7f ff ff ff .long 0x7fffffff + +00012410 : + 12410: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012414 : + 12414: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012418 : + 12418: 8c 20 bd e6 .long 0x8c20bde6 + +0001241c : + 1241c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012420 : + 12420: 08 ae bf 68 tdlgei r14,-16536 + +00012424 : + 12424: 80 00 00 01 lwz r0,1(0) + +00012428 : + 12428: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001242c : + 1242c: 00 00 00 00 .long 0x0 + +00012430 : + 12430: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012434 : + 12434: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012438 : + 12438: 32 8a 0c ed addic r20,r10,3309 + +0001243c : + 1243c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012440 : + 12440: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012444 : + 12444: af 22 4c 19 lhau r25,19481(r2) + +00012448 : + 12448: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001244c : + 1244c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012450 : + 12450: d6 24 b2 7a stfsu f17,-19846(r4) + +00012454 : + 12454: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012458 : + 12458: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001245c : + 1245c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012460 : + 12460: 9b fd 36 28 stb r31,13864(r29) + +00012464 : + 12464: 98 f0 00 6e stb r7,110(r16) + +00012468 : + 12468: ff ff ff ff fnmadd. f31,f31,f31,f31 + +0001246c : + 1246c: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012470 : + 12470: ff ff ff ff fnmadd. f31,f31,f31,f31 + +00012474 : + 12474: 00 00 11 04 .long 0x1104 + +00012478 : + 12478: 00 01 00 38 .long 0x10038 diff --git a/dev/src/test3_soc/rom.init b/dev/src/test3_soc/rom.init new file mode 100644 index 0000000..deb17e7 --- /dev/null +++ b/dev/src/test3_soc/rom.init @@ -0,0 +1,3795 @@ +48000400 +44000002 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48001010 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48012134 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +7CBE6AA6 +2C250000 +408200E0 +3C608C00 +3800001F +38400015 +38800000 +3900023F +7C7CFBA6 +7C4011A6 +7C8009A6 +7D0001A6 +4C00012C +39400000 +654A0000 +614A003F +3800001E +38800000 +64840001 +60840000 +39000000 +65080001 +61080000 +6108023F +7D4011A6 +7C8009A6 +7D0001A6 +4C00012C +3C608800 +3800000F +3840003F +38800000 +3900023F +7C7CFBA6 +7C4011A6 +7C8009A6 +7D0001A6 +4C00012C +3800000D +38800000 +64840001 +60840000 +39000000 +65080001 +61080000 +6108023F +7D4011A6 +7C8009A6 +7D0001A6 +4C00012C +48000004 +39400000 +654A8002 +614AB000 +7D400124 +4C00012C +802008FA +48000020 +39400000 +654A8002 +614AB000 +7D400124 +4C00012C +802008FE +48000004 +3C600000 +60630C34 +7C6903A6 +7C7E6AA6 +4E800421 +480002E4 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +48000000 +00000000 +48000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +6D61696E +28256929 +0A000001 +FFF80000 +FFF80000 +08080808 +08080808 +08282828 +28280808 +08080808 +08080808 +08080808 +08080808 +A0101010 +10101010 +10101010 +10101010 +04040404 +04040404 +04041010 +10101010 +10414141 +41414101 +01010101 +01010101 +01010101 +01010101 +01010110 +10101010 +10424242 +42424202 +02020202 +02020202 +02020202 +02020202 +02020210 +10101008 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +A0101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010110 +01010101 +01010102 +02020202 +02020202 +02020202 +02020202 +02020202 +02020210 +02020202 +02020202 +41626F72 +7465642E +00000000 +30313233 +34353637 +38394142 +43444546 +4748494A +4B4C4D4E +4F505152 +53545556 +5758595A +00000000 +30313233 +34353637 +38396162 +63646566 +6768696A +6B6C6D6E +6F707172 +73747576 +7778797A +00000000 +3C4E554C +4C3E0000 +00001D18 +00001D48 +00001D48 +00001D28 +00001D48 +00001D48 +00001D48 +00001D48 +00001D48 +00001D48 +00001D48 +00001D08 +00001D48 +00001CF8 +00001D48 +00001D48 +00001D38 +00002480 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024B8 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +000024E0 +00001FBC +000024D0 +000024E0 +000024E0 +000024E0 +000024E0 +000024D0 +000024E0 +000024E0 +000024E0 +000024E0 +00002304 +000024AC +0000225C +000024E0 +000024E0 +000020D8 +000024E0 +00002558 +000024E0 +000024E0 +000024C4 +00000000 +9421FFF0 +7C691B78 +99210008 +3D200001 +81292000 +39090001 +3D400001 +910A2000 +89410008 +99490000 +60000000 +38210010 +4E800020 +9421FFC0 +7C0802A6 +90010044 +90610038 +3D200001 +39292000 +9121000C +3D200001 +39292040 +91210010 +81210038 +2C090000 +4182000C +3920FFFF +48000190 +3D200000 +392936D0 +91210008 +48000028 +8121000C +39490004 +9141000C +81410008 +814A0000 +91490000 +81210008 +39290004 +91210008 +81410008 +3D200000 +39293B4C +7C0A4840 +4180FFCC +3D200001 +3929247C +91210008 +48000024 +81210008 +39490004 +91410008 +39400000 +91490000 +81210008 +39290004 +91210008 +81410008 +3D200001 +39292498 +7C0A4840 +4180FFD0 +3D200000 +38690C00 +4CC63182 +480026D1 +38600077 +48002719 +38600074 +48002711 +38600066 +48002709 +3860000A +48002701 +80810038 +3D200000 +386908F0 +4CC63182 +480028F5 +3D200300 +91210034 +81210034 +7D334BA6 +60000000 +39200000 +91210030 +81210030 +7D3603A6 +60000000 +39200000 +9121002C +8121002C +7D3D43A6 +60000000 +39200000 +91210028 +81210028 +7D3C43A6 +60000000 +3D20FE00 +91210024 +81210024 +7D3053A6 +60000000 +7D36FAA6 +91210020 +81210020 +552905EA +9121001C +8121001C +7D36FBA6 +60000000 +39200000 +91210018 +81210018 +7D3053A6 +60000000 +39200000 +91210014 +81210014 +7D3453A6 +60000000 +81210010 +7D234B78 +4801136C +48000000 +7D234B78 +80010044 +7C0803A6 +38210040 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +9121000C +81410018 +3D200867 +61295309 +7C0A4800 +4182000C +3C608000 +4BFFF9B5 +39200000 +91210008 +4800008C +81210008 +552A103A +3D200001 +39292340 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200001 +392923E0 +7D2A4A14 +81290000 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF92D +81210008 +39290001 +91210008 +81210008 +2809001F +4081FF70 +39200021 +91210008 +81210008 +552A103A +3D200001 +39292340 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200001 +392923E0 +7D2A4A14 +81290000 +55290644 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF88D +39200022 +91210008 +4800008C +81210008 +552A103A +3D200001 +39292340 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200001 +392923E0 +7D2A4A14 +81290000 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF805 +81210008 +39290001 +91210008 +81210008 +28090023 +4081FF70 +4BFFF7E5 +48000000 +9421FFF0 +90610008 +9081000C +48011234 +60000000 +38210010 +4E800020 +48000000 +9421FFF0 +7C691B78 +99210008 +89210008 +3D400000 +394A0904 +7D2A48AE +552907BC +2C090000 +41820010 +89210008 +3929FFE0 +99210008 +89210008 +7D234B78 +38210010 +4E800020 +9421FFF0 +7C691B78 +B1210008 +A1210008 +5529402E +7D2A0734 +A1210008 +5529C23E +5529043E +7D290734 +7D494B78 +7D290734 +5529043E +7D234B78 +38210010 +4E800020 +9421FFF0 +90610008 +81210008 +552A463E +81210008 +5529C23E +5529042E +7D4A4B78 +81210008 +5529402E +5529021E +7D4A4B78 +81210008 +5529C00E +7D494B78 +7D234B78 +38210010 +4E800020 +9421FFF0 +90610008 +9081000C +48000028 +81210008 +89290000 +2C090000 +4082000C +39200000 +4800002C +81210008 +39290001 +91210008 +81210008 +89490000 +8121000C +5529063E +7C0A4840 +4082FFC8 +81210008 +7D234B78 +38210010 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000058 +8121001C +9121000C +48000030 +81210008 +89490000 +8121000C +89290000 +7C0A4840 +4082000C +81210008 +48000040 +8121000C +39290001 +9121000C +8121000C +89290000 +2C090000 +4082FFC8 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFA0 +39200000 +7D234B78 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +9081001C +80610018 +480003DD +7C6A1B78 +81210018 +7D295214 +91210008 +81210008 +89490000 +8121001C +5529063E +7C0A4840 +4082000C +81210008 +48000024 +81210008 +3929FFFF +91210008 +81410008 +81210018 +7C0A4840 +4080FFC8 +39200000 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +90610008 +9081000C +90A10010 +48000030 +81210008 +89490000 +81210010 +5529063E +7C0A4840 +4082000C +81210008 +48000038 +81210008 +39290001 +91210008 +8121000C +3949FFFF +9141000C +2C090000 +41820014 +81210008 +89290000 +2C090000 +4082FFB4 +39200000 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +60000000 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFD8 +81210008 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +48000048 +8121001C +89490000 +81210008 +99490000 +81210008 +89290000 +2C090000 +41820010 +8121001C +39290001 +9121001C +81210008 +39290001 +91210008 +81210020 +3929FFFF +91210020 +81210020 +2C090000 +4082FFB4 +81210018 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +89490000 +8121001C +39090001 +9101001C +89290000 +7D295050 +5529063E +99210008 +89210008 +7D290774 +2C090000 +40820020 +81210018 +39490001 +91410018 +89290000 +2C090000 +41820008 +4BFFFFB4 +89210008 +7D290774 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +39200000 +9121000C +39200000 +99210008 +4800005C +81210018 +89490000 +8121001C +39090001 +9101001C +89290000 +7D295050 +5529063E +99210008 +89210008 +7D290774 +2C090000 +40820038 +81210018 +39490001 +91410018 +89290000 +2C090000 +41820020 +8121000C +39290001 +9121000C +8141000C +81210020 +7C0A4840 +4180FF9C +89210008 +7D290774 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000010 +81210018 +39290001 +91210018 +81210018 +89290000 +2C090000 +4082FFE8 +60000000 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFD8 +81210008 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +81210020 +2C090000 +4182007C +48000010 +81210018 +39290001 +91210018 +81210018 +89290000 +2C090000 +4082FFE8 +4800002C +81210020 +3929FFFF +91210020 +81210020 +2C090000 +40820014 +81210018 +39400000 +99490000 +48000030 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFB0 +81210008 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +81210018 +91210008 +48000010 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFE8 +81410008 +81210018 +7D295050 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000010 +81210008 +39290001 +91210008 +8121001C +3949FFFF +9141001C +2C090000 +41820014 +81210008 +89290000 +2C090000 +4082FFD4 +81410008 +81210018 +7D295050 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +39200000 +91210010 +81210018 +91210008 +4800007C +8121001C +9121000C +48000028 +81210008 +89490000 +8121000C +89290000 +7C0A4840 +41820024 +8121000C +39290001 +9121000C +8121000C +89290000 +2C090000 +4082FFD0 +48000008 +60000000 +8121000C +89290000 +2C090000 +4082000C +81210010 +48000030 +81210010 +39290001 +91210010 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FF7C +81210010 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +39200000 +91210010 +81210018 +91210008 +8121001C +9121000C +48000050 +81210008 +89290000 +7D2A4B78 +8121000C +89290000 +7D295050 +91210010 +81210010 +2C090000 +40820038 +81210008 +39290001 +91210008 +8121000C +39290001 +9121000C +81210020 +3929FFFF +91210020 +81210020 +2C090000 +4082FFAC +48000008 +60000000 +81210010 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +4800001C +81210008 +39490001 +91410008 +8141001C +554A063E +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD8 +81210018 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +8121001C +9121000C +48000024 +8141000C +392A0001 +9121000C +81210008 +39090001 +91010008 +894A0000 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD0 +81210018 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81410018 +8121001C +7C0A4840 +41810050 +81210018 +91210008 +8121001C +9121000C +48000024 +8141000C +392A0001 +9121000C +81210008 +39090001 +91010008 +894A0000 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD0 +48000064 +81410018 +81210020 +7D2A4A14 +91210008 +8141001C +81210020 +7D2A4A14 +9121000C +4800002C +8121000C +3929FFFF +9121000C +81210008 +3929FFFF +91210008 +8121000C +89490000 +81210008 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFC8 +81210018 +7D234B78 +38210030 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +9081001C +8061001C +4BFFFC51 +7C691B78 +9121000C +8121000C +2C090000 +4082000C +81210018 +48000068 +80610018 +4BFFFC2D +7C691B78 +91210008 +48000040 +81210008 +3929FFFF +91210008 +80A1000C +8081001C +80610018 +4BFFFD65 +7C691B78 +2C090000 +4082000C +81210018 +48000024 +81210018 +39290001 +91210018 +81410008 +8121000C +7C0A4840 +4080FFB8 +39200000 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +48000030 +8121001C +552A063E +81210008 +39090001 +91010008 +89290000 +7C0A4840 +40820010 +81210008 +3929FFFF +4800001C +81210020 +3949FFFF +91410020 +2C090000 +4082FFC4 +39200000 +7D234B78 +38210030 +4E800020 +9421FFD0 +7C0802A6 +90010034 +90610018 +9081001C +90A10020 +39200000 +91210008 +81210020 +2C090000 +4082008C +3920000A +91210020 +81210018 +89290000 +28090030 +408200E4 +39200008 +91210020 +81210018 +39290001 +91210018 +81210018 +89290000 +7D234B78 +4BFFF541 +7C691B78 +28090058 +408200B4 +81210018 +39290001 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +71290044 +2C090000 +4182008C +81210018 +39290001 +91210018 +39200010 +91210020 +48000074 +81210020 +2C090010 +40820068 +81210018 +89290000 +28090030 +40820058 +81210018 +39290001 +89290000 +7D234B78 +4BFFF4C5 +7C691B78 +28090058 +40820038 +81210018 +39290002 +91210018 +48000028 +81410008 +81210020 +7D2A49D6 +8141000C +7D2A4A14 +91210008 +81210018 +39290001 +91210018 +81210018 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +71290044 +2C090000 +41820064 +81210018 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +41820014 +81210018 +89290000 +3929FFD0 +4800001C +81210018 +89290000 +7D234B78 +4BFFF41D +7C691B78 +3929FFC9 +9121000C +8141000C +81210020 +7C0A4840 +4180FF5C +8121001C +2C090000 +41820010 +8121001C +81410018 +91490000 +81210008 +7D234B78 +80010034 +7C0803A6 +38210030 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610008 +9081000C +90A10010 +81210008 +89290000 +2809002D +4082002C +81210008 +39290001 +81410010 +7D455378 +8081000C +7D234B78 +4BFFFDE9 +7C691B78 +7D2900D0 +4800001C +81210010 +7D254B78 +8081000C +80610008 +4BFFFDC9 +7C691B78 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +90610018 +39200000 +91210008 +48000030 +81210008 +1D49000A +81210018 +81290000 +38E90001 +81010018 +90E80000 +89290000 +7D2A4A14 +3929FFD0 +91210008 +81210018 +81290000 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4082FFB0 +81210008 +7D234B78 +38210020 +4E800020 +9421FF70 +90610068 +9081006C +90A10070 +90C10074 +90E10078 +9101007C +91210080 +81210080 +55290672 +2C090000 +41820010 +3D200000 +39290A10 +4800000C +3D200000 +39290A38 +91210010 +81210080 +552906F6 +2C090000 +41820010 +81210080 +5529003C +91210080 +81210074 +2C090001 +40810010 +81210074 +2C090024 +4081000C +39200000 +480003FC +81210080 +552907FE +2C090000 +4182000C +39200030 +48000008 +39200020 +99210014 +39200000 +99210008 +81210080 +552907BC +2C090000 +41820080 +81210070 +2C090000 +40800028 +3920002D +99210008 +81210070 +7D2900D0 +91210070 +81210078 +3929FFFF +91210078 +48000050 +81210080 +5529077A +2C090000 +4182001C +3920002B +99210008 +81210078 +3929FFFF +91210078 +48000028 +81210080 +55290738 +2C090000 +41820018 +39200020 +99210008 +81210078 +3929FFFF +91210078 +81210080 +552906B4 +2C090000 +41820038 +81210074 +2C090010 +40820014 +81210078 +3929FFFE +91210078 +4800001C +81210074 +2C090008 +40820010 +81210078 +3929FFFF +91210078 +39200000 +9121000C +81210070 +2C090000 +4082006C +8121000C +39490001 +9141000C +39410008 +7D2A4A14 +39400030 +99490010 +48000058 +81410074 +81210070 +7D095396 +7D4851D6 +7D2A4850 +81410010 +7D4A4A14 +8121000C +39090001 +9101000C +894A0000 +39010008 +7D284A14 +99490010 +81210074 +81410070 +7D2A4B96 +91210070 +81210070 +2C090000 +4082FFB0 +8141000C +8121007C +7C0A4800 +4081000C +8121000C +9121007C +81410078 +8121007C +7D295050 +91210078 +81210080 +71290011 +2C090000 +40820044 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400020 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +89210008 +2C090000 +4182002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +89410008 +99490000 +81210068 +39290001 +91210068 +81210080 +552906B4 +2C090000 +4182009C +81210074 +2C090008 +40820030 +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +48000064 +81210074 +2C090010 +40820058 +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +81410068 +8121006C +7C0A4840 +40800014 +81210010 +89490021 +81210068 +99490000 +81210068 +39290001 +91210068 +81210080 +552906F6 +2C090000 +40820070 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +89410014 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +8121007C +3949FFFF +9141007C +8141000C +7C0A4800 +4180FFC4 +48000038 +81410068 +8121006C +7C0A4840 +4080001C +39410018 +8121000C +7D2A4A14 +89490000 +81210068 +99490000 +81210068 +39290001 +91210068 +8121000C +3949FFFF +9141000C +2C090000 +4181FFBC +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400020 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +81210068 +7D234B78 +38210090 +4E800020 +9421FFD0 +7C0802A6 +90010034 +90610018 +9081001C +90A10020 +90C10024 +80C10024 +80A10020 +8081001C +80610018 +4800044D +7C691B78 +91210008 +81410008 +8121001C +7C0A4840 +41800010 +8121001C +3929FFFF +48000008 +81210008 +7D234B78 +80010034 +7C0803A6 +38210030 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200003 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D264B78 +80A10020 +8081001C +80610018 +48000389 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200003 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D264B78 +80A10020 +8081001C +80610018 +480002E1 +7C691B78 +91210008 +81410008 +8121001C +7C0A4840 +41800010 +8121001C +3929FFFF +48000008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610008 +9081000C +90A10010 +80C10010 +80A1000C +3D207FFF +6124FFFF +80610008 +48000275 +7C691B78 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C10024 +90E10028 +9101002C +91210030 +91410034 +40860024 +D8210038 +D8410040 +D8610048 +D8810050 +D8A10058 +D8C10060 +D8E10068 +D9010070 +39200002 +9921000C +39200000 +9921000D +39210088 +91210010 +39210018 +91210014 +3921000C +7D264B78 +80A1001C +3D207FFF +6124FFFF +80610018 +480001D1 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +3D200001 +81292488 +1D290081 +3D293619 +394962E9 +3D200001 +91492488 +3D200001 +81292488 +7D234B78 +4E800020 +9421FFF0 +90610008 +3D200001 +81410008 +91492488 +60000000 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200000 +38690A04 +4CC63182 +4800111D +48000000 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +91210008 +89210008 +2C090000 +41820014 +80610018 +4BFFEB75 +7C691B78 +48000008 +81210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +7C691B78 +B1210018 +39200001 +91210008 +89210008 +2C090000 +41820018 +A1210018 +7D234B78 +4BFFEAE1 +7C691B78 +48000008 +A1210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +91210008 +89210008 +2C090000 +41820014 +80610018 +4BFFEAD5 +7C691B78 +48000008 +81210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +7C691B78 +B1210018 +39200001 +91210008 +89210008 +2C090000 +41820018 +A1210018 +7D234B78 +4BFFEA41 +7C691B78 +48000008 +A1210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFA0 +7C0802A6 +90010064 +90610048 +9081004C +90A10050 +90C10054 +8121004C +2C090000 +4080000C +39200000 +48000D3C +81210048 +91210018 +81410048 +8121004C +7D2A4A14 +9121001C +8141001C +81210048 +7C0A4840 +40800CBC +3920FFFF +9121001C +8141001C +81210048 +7D295050 +9121004C +48000CA0 +81210050 +89290000 +28090025 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210050 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +48000C54 +39200000 +91210024 +81210050 +39290001 +91210050 +81210050 +89290000 +3929FFE0 +28090010 +4181007C +552A103A +3D200000 +39290A68 +7D2A4A14 +81490000 +3D200000 +39290A68 +7D2A4A14 +7D2903A6 +4E800420 +81210024 +61290010 +91210024 +4BFFFFAC +81210024 +61290004 +91210024 +4BFFFF9C +81210024 +61290008 +91210024 +4BFFFF8C +81210024 +61290020 +91210024 +4BFFFF7C +81210024 +61290001 +91210024 +4BFFFF6C +3920FFFF +91210028 +81210050 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4182001C +39210050 +7D234B78 +4BFFF501 +7C691B78 +91210028 +4800009C +81210050 +89290000 +2809002A +4082008C +81210050 +39290001 +91210050 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210028 +81210028 +2C090000 +4080001C +81210028 +7D2900D0 +91210028 +81210024 +61290010 +91210024 +3920FFFF +9121002C +81210050 +89290000 +2809002E +408200D4 +81210050 +39290001 +91210050 +81210050 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4182001C +39210050 +7D234B78 +4BFFF409 +7C691B78 +9121002C +48000078 +81210050 +89290000 +2809002A +40820068 +81210050 +39290001 +91210050 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121002C +8121002C +2C090000 +4080000C +39200000 +9121002C +3920FFFF +91210030 +81210050 +89290000 +28090068 +41820054 +81210050 +89290000 +2809006C +41820044 +81210050 +89290000 +2809004C +41820034 +81210050 +89290000 +2809005A +41820024 +81210050 +89290000 +2809007A +41820014 +81210050 +89290000 +28090074 +4082004C +81210050 +89290000 +91210030 +81210050 +39290001 +91210050 +81210030 +2C09006C +40820028 +81210050 +89290000 +2809006C +40820018 +3920004C +91210030 +81210050 +39290001 +91210050 +3920000A +91210014 +81210050 +89290000 +3929FFDB +28090053 +41810550 +552A103A +3D200000 +39290AAC +7D2A4A14 +81490000 +3D200000 +39290AAC +7D2A4A14 +7D2903A6 +4E800420 +81210024 +552906F6 +2C090000 +40820048 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3929FFFF +91210028 +81210028 +2C090000 +4181FFC4 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +99210044 +81410018 +8121001C +7C0A4840 +40800010 +81210018 +89410044 +99490000 +81210018 +39290001 +91210018 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3929FFFF +91210028 +81210028 +2C090000 +4181FFC4 +480007E0 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210020 +81210020 +2C090000 +40820010 +3D200000 +39290A60 +91210020 +8121002C +7D244B78 +80610020 +4BFFEA25 +7C691B78 +91210034 +81210024 +552906F6 +2C090000 +40820048 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3949FFFF +91410028 +81410034 +7C0A4800 +4180FFC4 +39200000 +91210010 +48000048 +81410018 +8121001C +7C0A4840 +40800014 +81210020 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +81210020 +39290001 +91210020 +81210010 +39290001 +91210010 +81410010 +81210034 +7C0A4800 +4180FFB0 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3949FFFF +91410028 +81410034 +7C0A4800 +4180FFC4 +4800065C +81410028 +3920FFFF +7C0A4800 +40820018 +39200008 +91210028 +81210024 +61290021 +91210024 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +7D2A4B78 +81210024 +8101002C +80E10028 +38C00010 +7D455378 +8081001C +80610018 +4BFFEFBD +7C691B78 +91210018 +480005B4 +81210030 +2C09006C +40820074 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210040 +81410018 +81210048 +7D495050 +81210040 +91490000 +48000538 +81210030 +2C09005A +41820010 +81210030 +2C09007A +4082007C +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121003C +81410018 +81210048 +7D295050 +7D2A4B78 +8121003C +91490000 +60000000 +480004A8 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210038 +81410018 +81210048 +7D495050 +81210038 +91490000 +48000438 +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400025 +99490000 +81210018 +39290001 +91210018 +4800040C +39200008 +91210014 +480000A8 +81210024 +61290040 +91210024 +39200010 +91210014 +48000090 +81210024 +61290002 +91210024 +4800007C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400025 +99490000 +81210018 +39290001 +91210018 +81210050 +89290000 +2C090000 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210050 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +48000370 +81210050 +3929FFFF +91210050 +48000360 +60000000 +81210030 +2C09004C +40820090 +81210054 +89290000 +81410054 +894A0000 +554A07FE +554A063E +7D4A4A14 +5548063E +81410054 +990A0000 +28090006 +41810030 +81210054 +81490008 +81210054 +89290000 +39090002 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000020 +81210054 +81290004 +39290007 +55290038 +39090008 +81410054 +910A0004 +81490000 +81690004 +91410008 +9161000C +48000298 +81210030 +2C09006C +40820088 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +4182021C +8121000C +9121000C +7D29FE70 +91210008 +48000208 +81210030 +2C09005A +41820010 +81210030 +2C09007A +40820068 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +4800018C +81210030 +2C090074 +40820068 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +7D29FE70 +91210008 +4800011C +81210030 +2C090068 +40820090 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +5529043E +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +4182009C +A121000E +7D290734 +9121000C +7D29FE70 +91210008 +48000084 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +41820014 +8121000C +9121000C +7D29FE70 +91210008 +8141000C +81210024 +8101002C +80E10028 +80C10014 +7D455378 +8081001C +80610018 +4BFFEA09 +7C691B78 +91210018 +81210050 +39290001 +91210050 +81210050 +89290000 +2C090000 +4082F358 +8121004C +2C090000 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210018 +39400000 +99490000 +48000014 +8121001C +3929FFFF +39400000 +99490000 +81410018 +81210048 +7D295050 +7D234B78 +80010064 +7C0803A6 +38210060 +4E800020 +9421FFF0 +90610008 +3D200001 +81410008 +9149248C +60000000 +38210010 +4E800020 +9421FFF0 +90610008 +9081000C +3D200001 +81410008 +91492490 +3D200001 +8141000C +91492494 +60000000 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +3D200001 +8129248C +2C090000 +41820020 +3D200001 +8129248C +81410008 +554A063E +7D435378 +7D2903A6 +4E800421 +81210008 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200001 +81292494 +2C090000 +4182FFF4 +3D200001 +81292494 +7D2903A6 +4E800421 +7C691B78 +2C090000 +4182FFD8 +3D200001 +81292490 +7D2903A6 +4E800421 +7C691B78 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200001 +81292494 +2C090000 +41820028 +3D200001 +81292494 +7D2903A6 +4E800421 +7C691B78 +2C090000 +4182000C +39200001 +48000008 +39200000 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +80610008 +48000025 +3860000A +4BFFFED9 +39200001 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +48000020 +81210008 +89290000 +7D234B78 +4BFFFE9D +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFD8 +60000000 +60000000 +80010014 +7C0803A6 +38210010 +4E800020 +9421FEE0 +7C0802A6 +90010124 +90610118 +9081011C +3921000C +80C1011C +80A10118 +38800100 +7D234B78 +4BFFEBF9 +7C691B78 +91210008 +3941000C +81210008 +7D2A4A14 +39400000 +99490000 +3921000C +7D234B78 +4BFFFF59 +81210008 +7D234B78 +80010124 +7C0803A6 +38210120 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +90810024 +90A10028 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200001 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D244B78 +80610018 +4BFFFF19 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +0001C000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +696E666F +20746578 +74006865 +61646572 +20746578 +74000000 +00000000 +00000000 +00000000 +5822C905 +FFFFFFFF +91B6D1A3 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +7E11EE88 +FFFFFFFF +7FFFFFFF +FFFFFFFF +FFFFFFFF +8C20BDE6 +FFFFFFFF +76D0DADF +15111F42 +FFFFFFFF +36108E50 +FFFFFFFF +FFFFFFFF +328A0CED +FFFFFFFF +FFFFFFFF +AF224C19 +FFFFFFFF +FFFFFFFF +D624B27A +FFFFFFFF +FFFFFFFF +FFFFFFFF +DBFD3628 +89F0006E +FFFFFFFF +FFFFFFFF +FFFFFFFF +00001104 +00010000 +00000000 +0000000D +7C61CC14 +7D230595 +7AC37392 +7E094C11 +7E1CB115 +7A338886 +7C6004D1 +7E09B038 +7C360591 +7E2B00D1 +60000000 +60000000 +60000000 +00010000 +00010004 +00010008 +0001000C +00010010 +00010014 +00010018 +0001001C +00010020 +00010024 +00010028 +0001002C +00010030 +48000014 +60000000 +60000000 +60000000 +60000000 +9023009C +802300A0 +7C2903A6 +382300A4 +384300D8 +80810000 +80A20000 +90850000 +38210004 +38420004 +4200FFEC +3C804800 +60840006 +90850000 +80230094 +7C3B03A6 +80230098 +7C3A03A6 +80230080 +7C2FF120 +80230084 +7C2103A6 +80230088 +7C2903A6 +8023008C +7C2803A6 +80230090 +7C2FCBA6 +80030000 +80230004 +80430008 +80830010 +80A30014 +80C30018 +80E3001C +81030020 +81230024 +81430028 +8163002C +81830030 +81A30034 +81C30038 +81E3003C +82030040 +82230044 +82430048 +8263004C +82830050 +82A30054 +82C30058 +82E3005C +83030060 +83230064 +83430068 +8363006C +83830070 +83A30074 +83C30078 +83E3007C +8063000C +4C000064 +4800000C +60000000 +60000000 +7C2FCBA6 +3C200001 +60212340 +90010000 +90410008 +9061000C +90810010 +90A10014 +90C10018 +90E1001C +91010020 +91210024 +91410028 +9161002C +91810030 +91A10034 +91C10038 +91E1003C +92010040 +92210044 +92410048 +9261004C +92810050 +92A10054 +92C10058 +92E1005C +93010060 +93210064 +93410068 +9361006C +93810070 +93A10074 +93C10078 +93E1007C +7C4FCAA6 +90410004 +7C400026 +90410080 +7C4102A6 +90410084 +7C4902A6 +90410088 +7C4802A6 +9041008C +7C4FCAA6 +90410090 +3C600001 +60632040 +8023009C +3C600867 +60635309 +48000E13 +60000000 +60000000 +60000000 +60000000 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +60000000 +60000000 +60000000 +00000000 +CD75F313 +FFFFFFFF +00000000 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +008A0C68 +FFFFFFFF +7FFFFFFF +FFFFFFFF +FFFFFFFF +8C20BDE6 +FFFFFFFF +08AEBF68 +80000001 +FFFFFFFF +00000000 +FFFFFFFF +FFFFFFFF +328A0CED +FFFFFFFF +FFFFFFFF +AF224C19 +FFFFFFFF +FFFFFFFF +D624B27A +FFFFFFFF +FFFFFFFF +FFFFFFFF +9BFD3628 +98F0006E +FFFFFFFF +FFFFFFFF +FFFFFFFF +00001104 +00010038 diff --git a/dev/src/test3_soc/rom.init.save b/dev/src/test3_soc/rom.init.save new file mode 100644 index 0000000..90c7718 --- /dev/null +++ b/dev/src/test3_soc/rom.init.save @@ -0,0 +1,3790 @@ +48000400 +44000002 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +4800100C +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48001154 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +7CBE6AA6 +2C250000 +408200E0 +3C608C00 +3800001F +38400015 +38800000 +3900023F +7C7CFBA6 +7C4011A6 +7C8009A6 +7D0001A6 +4C00012C +39400000 +654A0000 +614A003F +3800001E +38800000 +64840001 +60840000 +39000000 +65080001 +61080000 +6108023F +7D4011A6 +7C8009A6 +7D0001A6 +4C00012C +3C608800 +3800000F +3840003F +38800000 +3900023F +7C7CFBA6 +7C4011A6 +7C8009A6 +7D0001A6 +4C00012C +3800000D +38800000 +64840001 +60840000 +39000000 +65080001 +61080000 +6108023F +7D4011A6 +7C8009A6 +7D0001A6 +4C00012C +48000004 +39400000 +654A8002 +614AB000 +7D400124 +4C00012C +802008FA +48000020 +39400000 +654A8002 +614AB000 +7D400124 +4C00012C +802008FE +48000004 +3C600000 +60630C34 +7C6903A6 +7C7E6AA6 +4E800421 +480002E4 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +48000000 +00000000 +48000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +48000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +6D61696E +28256929 +0A000001 +FFF80000 +FFF80000 +08080808 +08080808 +08282828 +28280808 +08080808 +08080808 +08080808 +08080808 +A0101010 +10101010 +10101010 +10101010 +04040404 +04040404 +04041010 +10101010 +10414141 +41414101 +01010101 +01010101 +01010101 +01010101 +01010110 +10101010 +10424242 +42424202 +02020202 +02020202 +02020202 +02020202 +02020210 +10101008 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +A0101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010110 +01010101 +01010102 +02020202 +02020202 +02020202 +02020202 +02020202 +02020210 +02020202 +02020202 +41626F72 +7465642E +00000000 +30313233 +34353637 +38394142 +43444546 +4748494A +4B4C4D4E +4F505152 +53545556 +5758595A +00000000 +30313233 +34353637 +38396162 +63646566 +6768696A +6B6C6D6E +6F707172 +73747576 +7778797A +00000000 +3C4E554C +4C3E0000 +00002180 +000021B0 +000021B0 +00002190 +000021B0 +000021B0 +000021B0 +000021B0 +000021B0 +000021B0 +000021B0 +00002170 +000021B0 +00002160 +000021B0 +000021B0 +000021A0 +000028E8 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002920 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002948 +00002424 +00002938 +00002948 +00002948 +00002948 +00002948 +00002938 +00002948 +00002948 +00002948 +00002948 +0000276C +00002914 +000026C4 +00002948 +00002948 +00002540 +00002948 +000029C0 +00002948 +00002948 +0000292C +00000000 +9421FFF0 +7C691B78 +99210008 +3D200001 +81292000 +39090001 +3D400001 +910A2000 +89410008 +99490000 +60000000 +38210010 +4E800020 +9421FFC0 +7C0802A6 +90010044 +90610038 +3D200001 +39292000 +9121000C +3D200000 +39291060 +91210010 +81210038 +2C090000 +4182000C +3920FFFF +4800018C +3D200000 +39291030 +91210008 +48000028 +8121000C +39490004 +9141000C +81410008 +814A0000 +91490000 +81210008 +39290004 +91210008 +81410008 +3D200000 +39291038 +7C0A4840 +4180FFCC +3D200002 +3929E008 +91210008 +48000024 +81210008 +39490004 +91410008 +39400000 +91490000 +81210008 +39290004 +91210008 +81410008 +3D200002 +3929E028 +7C0A4840 +4180FFD0 +3D200000 +38690C00 +48002B3D +38600077 +48002B85 +38600074 +48002B7D +38600066 +48002B75 +3860000A +48002B6D +80810038 +3D200000 +386908F0 +4CC63182 +48002D61 +3D200300 +91210034 +81210034 +7D334BA6 +60000000 +39200000 +91210030 +81210030 +7D3603A6 +60000000 +39200000 +9121002C +8121002C +7D3D43A6 +60000000 +39200000 +91210028 +81210028 +7D3C43A6 +60000000 +3D20FE00 +91210024 +81210024 +7D3053A6 +60000000 +7D36FAA6 +91210020 +81210020 +552905EA +9121001C +8121001C +7D36FBA6 +60000000 +39200000 +91210018 +81210018 +7D3053A6 +60000000 +39200000 +91210014 +81210014 +7D3453A6 +60000000 +81210010 +7D234B78 +48000390 +48000000 +7D234B78 +80010044 +7C0803A6 +38210040 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +9121000C +81410018 +3D200867 +61295309 +7C0A4800 +4182000C +3C608000 +4BFFF9B9 +39200000 +91210008 +4800008C +81210008 +552A103A +3D200000 +39291360 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200000 +39291400 +7D2A4A14 +81290000 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF931 +81210008 +39290001 +91210008 +81210008 +2809001F +4081FF70 +39200021 +91210008 +81210008 +552A103A +3D200000 +39291360 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200000 +39291400 +7D2A4A14 +81290000 +55290644 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF891 +39200022 +91210008 +4800008C +81210008 +552A103A +3D200000 +39291360 +7D2A4A14 +81290000 +91210010 +81210008 +552A103A +3D200000 +39291400 +7D2A4A14 +81290000 +91210014 +8121000C +2C090000 +4182001C +81410010 +81210014 +7C0A4800 +4082000C +39200001 +48000008 +39200000 +9121000C +8121000C +2C090000 +40820010 +81210008 +7D234B78 +4BFFF809 +81210008 +39290001 +91210008 +81210008 +28090023 +4081FF70 +4BFFF7E9 +48000000 +9421FFF0 +90610008 +9081000C +48000258 +60000000 +38210010 +4E800020 +48000000 +0001C000 +00000000 +00000000 +00000000 +696E666F +20746578 +74006865 +61646572 +20746578 +74000000 +00000000 +00000000 +00000000 +5822C905 +FFFFFFFF +91B6D1A3 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +7E11EE88 +FFFFFFFF +7FFFFFFF +FFFFFFFF +FFFFFFFF +8C20BDE6 +FFFFFFFF +76D0DADF +15111F42 +FFFFFFFF +36108E50 +FFFFFFFF +FFFFFFFF +328A0CED +FFFFFFFF +FFFFFFFF +AF224C19 +FFFFFFFF +FFFFFFFF +D624B27A +FFFFFFFF +FFFFFFFF +FFFFFFFF +DBFD3628 +89F0006E +FFFFFFFF +FFFFFFFF +FFFFFFFF +00001104 +00010000 +00000000 +0000000D +7C61CC14 +7D230595 +7AC37392 +7E094C11 +7E1CB115 +7A338886 +7C6004D1 +7E09B038 +7C360591 +7E2B00D1 +60000000 +60000000 +60000000 +00010000 +00010004 +00010008 +0001000C +00010010 +00010014 +00010018 +0001001C +00010020 +00010024 +00010028 +0001002C +00010030 +48000014 +60000000 +60000000 +60000000 +60000000 +9023009C +802300A0 +7C2903A6 +382300A4 +384300D8 +80810000 +80A20000 +90850000 +38210004 +38420004 +4200FFEC +3C804800 +60840006 +90850000 +802010F4 +7C3B03A6 +80201138 +7C3A03A6 +80230080 +7C2FF120 +80230084 +7C2103A6 +80230088 +7C2903A6 +8023008C +7C2803A6 +80230090 +7C2FCBA6 +80030000 +80230004 +80430008 +80830010 +80A30014 +80C30018 +80E3001C +81030020 +81230024 +81430028 +8163002C +81830030 +81A30034 +81C30038 +81E3003C +82030040 +82230044 +82430048 +8263004C +82830050 +82A30054 +82C30058 +82E3005C +83030060 +83230064 +83430068 +8363006C +83830070 +83A30074 +83C30078 +83E3007C +8063000C +4C000064 +4800000C +60000000 +60000000 +7C2FCBA6 +3C200000 +60211360 +90010000 +90410008 +9061000C +90810010 +90A10014 +90C10018 +90E1001C +91010020 +91210024 +91410028 +9161002C +91810030 +91A10034 +91C10038 +91E1003C +92010040 +92210044 +92410048 +9261004C +92810050 +92A10054 +92C10058 +92E1005C +93010060 +93210064 +93410068 +9361006C +93810070 +93A10074 +93C10078 +93E1007C +7C4FCAA6 +90410004 +7C400026 +90410080 +7C4102A6 +90410084 +7C4902A6 +90410088 +7C4802A6 +9041008C +7C4FCAA6 +90410090 +3C600000 +60631060 +8023009C +3C600867 +60635309 +48000E0F +60000000 +60000000 +60000000 +60000000 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +60000000 +60000000 +60000000 +00000000 +CD75F313 +FFFFFFFF +00000000 +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +FFFFFFFF +008A0C68 +FFFFFFFF +7FFFFFFF +FFFFFFFF +FFFFFFFF +8C20BDE6 +FFFFFFFF +08AEBF68 +80000001 +FFFFFFFF +00000000 +FFFFFFFF +FFFFFFFF +328A0CED +FFFFFFFF +FFFFFFFF +AF224C19 +FFFFFFFF +FFFFFFFF +D624B27A +FFFFFFFF +FFFFFFFF +FFFFFFFF +9BFD3628 +98F0006E +FFFFFFFF +FFFFFFFF +FFFFFFFF +00001104 +00010038 +9421FFF0 +7C691B78 +99210008 +89210008 +3D400000 +394A0904 +7D2A48AE +552907BC +2C090000 +41820010 +89210008 +3929FFE0 +99210008 +89210008 +7D234B78 +38210010 +4E800020 +9421FFF0 +7C691B78 +B1210008 +A1210008 +5529402E +7D2A0734 +A1210008 +5529C23E +5529043E +7D290734 +7D494B78 +7D290734 +5529043E +7D234B78 +38210010 +4E800020 +9421FFF0 +90610008 +81210008 +552A463E +81210008 +5529C23E +5529042E +7D4A4B78 +81210008 +5529402E +5529021E +7D4A4B78 +81210008 +5529C00E +7D494B78 +7D234B78 +38210010 +4E800020 +9421FFF0 +90610008 +9081000C +48000028 +81210008 +89290000 +2C090000 +4082000C +39200000 +4800002C +81210008 +39290001 +91210008 +81210008 +89490000 +8121000C +5529063E +7C0A4840 +4082FFC8 +81210008 +7D234B78 +38210010 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000058 +8121001C +9121000C +48000030 +81210008 +89490000 +8121000C +89290000 +7C0A4840 +4082000C +81210008 +48000040 +8121000C +39290001 +9121000C +8121000C +89290000 +2C090000 +4082FFC8 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFA0 +39200000 +7D234B78 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +9081001C +80610018 +480003DD +7C6A1B78 +81210018 +7D295214 +91210008 +81210008 +89490000 +8121001C +5529063E +7C0A4840 +4082000C +81210008 +48000024 +81210008 +3929FFFF +91210008 +81410008 +81210018 +7C0A4840 +4080FFC8 +39200000 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +90610008 +9081000C +90A10010 +48000030 +81210008 +89490000 +81210010 +5529063E +7C0A4840 +4082000C +81210008 +48000038 +81210008 +39290001 +91210008 +8121000C +3949FFFF +9141000C +2C090000 +41820014 +81210008 +89290000 +2C090000 +4082FFB4 +39200000 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +60000000 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFD8 +81210008 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +48000048 +8121001C +89490000 +81210008 +99490000 +81210008 +89290000 +2C090000 +41820010 +8121001C +39290001 +9121001C +81210008 +39290001 +91210008 +81210020 +3929FFFF +91210020 +81210020 +2C090000 +4082FFB4 +81210018 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +89490000 +8121001C +39090001 +9101001C +89290000 +7D295050 +5529063E +99210008 +89210008 +7D290774 +2C090000 +40820020 +81210018 +39490001 +91410018 +89290000 +2C090000 +41820008 +4BFFFFB4 +89210008 +7D290774 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +39200000 +9121000C +39200000 +99210008 +4800005C +81210018 +89490000 +8121001C +39090001 +9101001C +89290000 +7D295050 +5529063E +99210008 +89210008 +7D290774 +2C090000 +40820038 +81210018 +39490001 +91410018 +89290000 +2C090000 +41820020 +8121000C +39290001 +9121000C +8141000C +81210020 +7C0A4840 +4180FF9C +89210008 +7D290774 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000010 +81210018 +39290001 +91210018 +81210018 +89290000 +2C090000 +4082FFE8 +60000000 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFD8 +81210008 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +81210020 +2C090000 +4182007C +48000010 +81210018 +39290001 +91210018 +81210018 +89290000 +2C090000 +4082FFE8 +4800002C +81210020 +3929FFFF +91210020 +81210020 +2C090000 +40820014 +81210018 +39400000 +99490000 +48000030 +8141001C +392A0001 +9121001C +81210018 +39090001 +91010018 +894A0000 +99490000 +89290000 +2C090000 +4082FFB0 +81210008 +7D234B78 +38210030 +4E800020 +9421FFE0 +90610018 +81210018 +91210008 +48000010 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFE8 +81410008 +81210018 +7D295050 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +81210018 +91210008 +48000010 +81210008 +39290001 +91210008 +8121001C +3949FFFF +9141001C +2C090000 +41820014 +81210008 +89290000 +2C090000 +4082FFD4 +81410008 +81210018 +7D295050 +7D234B78 +38210020 +4E800020 +9421FFE0 +90610018 +9081001C +39200000 +91210010 +81210018 +91210008 +4800007C +8121001C +9121000C +48000028 +81210008 +89490000 +8121000C +89290000 +7C0A4840 +41820024 +8121000C +39290001 +9121000C +8121000C +89290000 +2C090000 +4082FFD0 +48000008 +60000000 +8121000C +89290000 +2C090000 +4082000C +81210010 +48000030 +81210010 +39290001 +91210010 +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FF7C +81210010 +7D234B78 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +39200000 +91210010 +81210018 +91210008 +8121001C +9121000C +48000050 +81210008 +89290000 +7D2A4B78 +8121000C +89290000 +7D295050 +91210010 +81210010 +2C090000 +40820038 +81210008 +39290001 +91210008 +8121000C +39290001 +9121000C +81210020 +3929FFFF +91210020 +81210020 +2C090000 +4082FFAC +48000008 +60000000 +81210010 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +4800001C +81210008 +39490001 +91410008 +8141001C +554A063E +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD8 +81210018 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +8121001C +9121000C +48000024 +8141000C +392A0001 +9121000C +81210008 +39090001 +91010008 +894A0000 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD0 +81210018 +7D234B78 +38210030 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81410018 +8121001C +7C0A4840 +41810050 +81210018 +91210008 +8121001C +9121000C +48000024 +8141000C +392A0001 +9121000C +81210008 +39090001 +91010008 +894A0000 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFD0 +48000064 +81410018 +81210020 +7D2A4A14 +91210008 +8141001C +81210020 +7D2A4A14 +9121000C +4800002C +8121000C +3929FFFF +9121000C +81210008 +3929FFFF +91210008 +8121000C +89490000 +81210008 +99490000 +81210020 +3949FFFF +91410020 +2C090000 +4082FFC8 +81210018 +7D234B78 +38210030 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +9081001C +8061001C +4BFFFC51 +7C691B78 +9121000C +8121000C +2C090000 +4082000C +81210018 +48000068 +80610018 +4BFFFC2D +7C691B78 +91210008 +48000040 +81210008 +3929FFFF +91210008 +80A1000C +8081001C +80610018 +4BFFFD65 +7C691B78 +2C090000 +4082000C +81210018 +48000024 +81210018 +39290001 +91210018 +81410008 +8121000C +7C0A4840 +4080FFB8 +39200000 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFD0 +90610018 +9081001C +90A10020 +81210018 +91210008 +48000030 +8121001C +552A063E +81210008 +39090001 +91010008 +89290000 +7C0A4840 +40820010 +81210008 +3929FFFF +4800001C +81210020 +3949FFFF +91410020 +2C090000 +4082FFC4 +39200000 +7D234B78 +38210030 +4E800020 +9421FFD0 +7C0802A6 +90010034 +90610018 +9081001C +90A10020 +39200000 +91210008 +81210020 +2C090000 +4082008C +3920000A +91210020 +81210018 +89290000 +28090030 +408200E4 +39200008 +91210020 +81210018 +39290001 +91210018 +81210018 +89290000 +7D234B78 +4BFFF541 +7C691B78 +28090058 +408200B4 +81210018 +39290001 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +71290044 +2C090000 +4182008C +81210018 +39290001 +91210018 +39200010 +91210020 +48000074 +81210020 +2C090010 +40820068 +81210018 +89290000 +28090030 +40820058 +81210018 +39290001 +89290000 +7D234B78 +4BFFF4C5 +7C691B78 +28090058 +40820038 +81210018 +39290002 +91210018 +48000028 +81410008 +81210020 +7D2A49D6 +8141000C +7D2A4A14 +91210008 +81210018 +39290001 +91210018 +81210018 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +71290044 +2C090000 +41820064 +81210018 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +41820014 +81210018 +89290000 +3929FFD0 +4800001C +81210018 +89290000 +7D234B78 +4BFFF41D +7C691B78 +3929FFC9 +9121000C +8141000C +81210020 +7C0A4840 +4180FF5C +8121001C +2C090000 +41820010 +8121001C +81410018 +91490000 +81210008 +7D234B78 +80010034 +7C0803A6 +38210030 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610008 +9081000C +90A10010 +81210008 +89290000 +2809002D +4082002C +81210008 +39290001 +81410010 +7D455378 +8081000C +7D234B78 +4BFFFDE9 +7C691B78 +7D2900D0 +4800001C +81210010 +7D254B78 +8081000C +80610008 +4BFFFDC9 +7C691B78 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +90610018 +39200000 +91210008 +48000030 +81210008 +1D49000A +81210018 +81290000 +38E90001 +81010018 +90E80000 +89290000 +7D2A4A14 +3929FFD0 +91210008 +81210018 +81290000 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4082FFB0 +81210008 +7D234B78 +38210020 +4E800020 +9421FF70 +90610068 +9081006C +90A10070 +90C10074 +90E10078 +9101007C +91210080 +81210080 +55290672 +2C090000 +41820010 +3D200000 +39290A10 +4800000C +3D200000 +39290A38 +91210010 +81210080 +552906F6 +2C090000 +41820010 +81210080 +5529003C +91210080 +81210074 +2C090001 +40810010 +81210074 +2C090024 +4081000C +39200000 +480003FC +81210080 +552907FE +2C090000 +4182000C +39200030 +48000008 +39200020 +99210014 +39200000 +99210008 +81210080 +552907BC +2C090000 +41820080 +81210070 +2C090000 +40800028 +3920002D +99210008 +81210070 +7D2900D0 +91210070 +81210078 +3929FFFF +91210078 +48000050 +81210080 +5529077A +2C090000 +4182001C +3920002B +99210008 +81210078 +3929FFFF +91210078 +48000028 +81210080 +55290738 +2C090000 +41820018 +39200020 +99210008 +81210078 +3929FFFF +91210078 +81210080 +552906B4 +2C090000 +41820038 +81210074 +2C090010 +40820014 +81210078 +3929FFFE +91210078 +4800001C +81210074 +2C090008 +40820010 +81210078 +3929FFFF +91210078 +39200000 +9121000C +81210070 +2C090000 +4082006C +8121000C +39490001 +9141000C +39410008 +7D2A4A14 +39400030 +99490010 +48000058 +81410074 +81210070 +7D095396 +7D4851D6 +7D2A4850 +81410010 +7D4A4A14 +8121000C +39090001 +9101000C +894A0000 +39010008 +7D284A14 +99490010 +81210074 +81410070 +7D2A4B96 +91210070 +81210070 +2C090000 +4082FFB0 +8141000C +8121007C +7C0A4800 +4081000C +8121000C +9121007C +81410078 +8121007C +7D295050 +91210078 +81210080 +71290011 +2C090000 +40820044 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400020 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +89210008 +2C090000 +4182002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +89410008 +99490000 +81210068 +39290001 +91210068 +81210080 +552906B4 +2C090000 +4182009C +81210074 +2C090008 +40820030 +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +48000064 +81210074 +2C090010 +40820058 +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +81410068 +8121006C +7C0A4840 +40800014 +81210010 +89490021 +81210068 +99490000 +81210068 +39290001 +91210068 +81210080 +552906F6 +2C090000 +40820070 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +89410014 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400030 +99490000 +81210068 +39290001 +91210068 +8121007C +3949FFFF +9141007C +8141000C +7C0A4800 +4180FFC4 +48000038 +81410068 +8121006C +7C0A4840 +4080001C +39410018 +8121000C +7D2A4A14 +89490000 +81210068 +99490000 +81210068 +39290001 +91210068 +8121000C +3949FFFF +9141000C +2C090000 +4181FFBC +4800002C +81410068 +8121006C +7C0A4840 +40800010 +81210068 +39400020 +99490000 +81210068 +39290001 +91210068 +81210078 +3949FFFF +91410078 +2C090000 +4181FFC8 +81210068 +7D234B78 +38210090 +4E800020 +9421FFD0 +7C0802A6 +90010034 +90610018 +9081001C +90A10020 +90C10024 +80C10024 +80A10020 +8081001C +80610018 +4800044D +7C691B78 +91210008 +81410008 +8121001C +7C0A4840 +41800010 +8121001C +3929FFFF +48000008 +81210008 +7D234B78 +80010034 +7C0803A6 +38210030 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200003 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D264B78 +80A10020 +8081001C +80610018 +48000389 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200003 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D264B78 +80A10020 +8081001C +80610018 +480002E1 +7C691B78 +91210008 +81410008 +8121001C +7C0A4840 +41800010 +8121001C +3929FFFF +48000008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610008 +9081000C +90A10010 +80C10010 +80A1000C +3D207FFF +6124FFFF +80610008 +48000275 +7C691B78 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +9081001C +90A10020 +90C10024 +90E10028 +9101002C +91210030 +91410034 +40860024 +D8210038 +D8410040 +D8610048 +D8810050 +D8A10058 +D8C10060 +D8E10068 +D9010070 +39200002 +9921000C +39200000 +9921000D +39210088 +91210010 +39210018 +91210014 +3921000C +7D264B78 +80A1001C +3D207FFF +6124FFFF +80610018 +480001D1 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 +3D200002 +8129E014 +1D290081 +3D293619 +394962E9 +3D200002 +9149E014 +3D200002 +8129E014 +7D234B78 +4E800020 +9421FFF0 +90610008 +3D200002 +81410008 +9149E014 +60000000 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200000 +38690A04 +4CC63182 +4800111D +48000000 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +91210008 +89210008 +2C090000 +41820014 +80610018 +4BFFEB75 +7C691B78 +48000008 +81210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +7C691B78 +B1210018 +39200001 +91210008 +89210008 +2C090000 +41820018 +A1210018 +7D234B78 +4BFFEAE1 +7C691B78 +48000008 +A1210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +90610018 +39200001 +91210008 +89210008 +2C090000 +41820014 +80610018 +4BFFEAD5 +7C691B78 +48000008 +81210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFE0 +7C0802A6 +90010024 +7C691B78 +B1210018 +39200001 +91210008 +89210008 +2C090000 +41820018 +A1210018 +7D234B78 +4BFFEA41 +7C691B78 +48000008 +A1210018 +7D234B78 +80010024 +7C0803A6 +38210020 +4E800020 +9421FFA0 +7C0802A6 +90010064 +90610048 +9081004C +90A10050 +90C10054 +8121004C +2C090000 +4080000C +39200000 +48000D3C +81210048 +91210018 +81410048 +8121004C +7D2A4A14 +9121001C +8141001C +81210048 +7C0A4840 +40800CBC +3920FFFF +9121001C +8141001C +81210048 +7D295050 +9121004C +48000CA0 +81210050 +89290000 +28090025 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210050 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +48000C54 +39200000 +91210024 +81210050 +39290001 +91210050 +81210050 +89290000 +3929FFE0 +28090010 +4181007C +552A103A +3D200000 +39290A68 +7D2A4A14 +81490000 +3D200000 +39290A68 +7D2A4A14 +7D2903A6 +4E800420 +81210024 +61290010 +91210024 +4BFFFFAC +81210024 +61290004 +91210024 +4BFFFF9C +81210024 +61290008 +91210024 +4BFFFF8C +81210024 +61290020 +91210024 +4BFFFF7C +81210024 +61290001 +91210024 +4BFFFF6C +3920FFFF +91210028 +81210050 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4182001C +39210050 +7D234B78 +4BFFF501 +7C691B78 +91210028 +4800009C +81210050 +89290000 +2809002A +4082008C +81210050 +39290001 +91210050 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210028 +81210028 +2C090000 +4080001C +81210028 +7D2900D0 +91210028 +81210024 +61290010 +91210024 +3920FFFF +9121002C +81210050 +89290000 +2809002E +408200D4 +81210050 +39290001 +91210050 +81210050 +89290000 +7D2A4B78 +3D200000 +39290904 +7D2950AE +5529077A +2C090000 +4182001C +39210050 +7D234B78 +4BFFF409 +7C691B78 +9121002C +48000078 +81210050 +89290000 +2809002A +40820068 +81210050 +39290001 +91210050 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121002C +8121002C +2C090000 +4080000C +39200000 +9121002C +3920FFFF +91210030 +81210050 +89290000 +28090068 +41820054 +81210050 +89290000 +2809006C +41820044 +81210050 +89290000 +2809004C +41820034 +81210050 +89290000 +2809005A +41820024 +81210050 +89290000 +2809007A +41820014 +81210050 +89290000 +28090074 +4082004C +81210050 +89290000 +91210030 +81210050 +39290001 +91210050 +81210030 +2C09006C +40820028 +81210050 +89290000 +2809006C +40820018 +3920004C +91210030 +81210050 +39290001 +91210050 +3920000A +91210014 +81210050 +89290000 +3929FFDB +28090053 +41810550 +552A103A +3D200000 +39290AAC +7D2A4A14 +81490000 +3D200000 +39290AAC +7D2A4A14 +7D2903A6 +4E800420 +81210024 +552906F6 +2C090000 +40820048 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3929FFFF +91210028 +81210028 +2C090000 +4181FFC4 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +99210044 +81410018 +8121001C +7C0A4840 +40800010 +81210018 +89410044 +99490000 +81210018 +39290001 +91210018 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3929FFFF +91210028 +81210028 +2C090000 +4181FFC4 +480007E0 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210020 +81210020 +2C090000 +40820010 +3D200000 +39290A60 +91210020 +8121002C +7D244B78 +80610020 +4BFFEA25 +7C691B78 +91210034 +81210024 +552906F6 +2C090000 +40820048 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3949FFFF +91410028 +81410034 +7C0A4800 +4180FFC4 +39200000 +91210010 +48000048 +81410018 +8121001C +7C0A4840 +40800014 +81210020 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +81210020 +39290001 +91210020 +81210010 +39290001 +91210010 +81410010 +81210034 +7C0A4800 +4180FFB0 +4800002C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400020 +99490000 +81210018 +39290001 +91210018 +81210028 +3949FFFF +91410028 +81410034 +7C0A4800 +4180FFC4 +4800065C +81410028 +3920FFFF +7C0A4800 +40820018 +39200008 +91210028 +81210024 +61290021 +91210024 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +7D2A4B78 +81210024 +8101002C +80E10028 +38C00010 +7D455378 +8081001C +80610018 +4BFFEFBD +7C691B78 +91210018 +480005B4 +81210030 +2C09006C +40820074 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210040 +81410018 +81210048 +7D495050 +81210040 +91490000 +48000538 +81210030 +2C09005A +41820010 +81210030 +2C09007A +4082007C +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121003C +81410018 +81210048 +7D295050 +7D2A4B78 +8121003C +91490000 +60000000 +480004A8 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +91210038 +81410018 +81210048 +7D495050 +81210038 +91490000 +48000438 +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400025 +99490000 +81210018 +39290001 +91210018 +4800040C +39200008 +91210014 +480000A8 +81210024 +61290040 +91210024 +39200010 +91210014 +48000090 +81210024 +61290002 +91210024 +4800007C +81410018 +8121001C +7C0A4840 +40800010 +81210018 +39400025 +99490000 +81210018 +39290001 +91210018 +81210050 +89290000 +2C090000 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210050 +89490000 +81210018 +99490000 +81210018 +39290001 +91210018 +48000370 +81210050 +3929FFFF +91210050 +48000360 +60000000 +81210030 +2C09004C +40820090 +81210054 +89290000 +81410054 +894A0000 +554A07FE +554A063E +7D4A4A14 +5548063E +81410054 +990A0000 +28090006 +41810030 +81210054 +81490008 +81210054 +89290000 +39090002 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000020 +81210054 +81290004 +39290007 +55290038 +39090008 +81410054 +910A0004 +81490000 +81690004 +91410008 +9161000C +48000298 +81210030 +2C09006C +40820088 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +4182021C +8121000C +9121000C +7D29FE70 +91210008 +48000208 +81210030 +2C09005A +41820010 +81210030 +2C09007A +40820068 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +4800018C +81210030 +2C090074 +40820068 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +7D29FE70 +91210008 +4800011C +81210030 +2C090068 +40820090 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +5529043E +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +4182009C +A121000E +7D290734 +9121000C +7D29FE70 +91210008 +48000084 +81210054 +89290000 +28090007 +41810030 +81210054 +81490008 +81210054 +89290000 +39090001 +5507063E +81010054 +98E80000 +5529103A +7D2A4A14 +48000018 +81210054 +81290004 +39090004 +81410054 +910A0004 +81290000 +9121000C +39200000 +91210008 +81210024 +552907BC +2C090000 +41820014 +8121000C +9121000C +7D29FE70 +91210008 +8141000C +81210024 +8101002C +80E10028 +80C10014 +7D455378 +8081001C +80610018 +4BFFEA09 +7C691B78 +91210018 +81210050 +39290001 +91210050 +81210050 +89290000 +2C090000 +4082F358 +8121004C +2C090000 +41820034 +81410018 +8121001C +7C0A4840 +40800014 +81210018 +39400000 +99490000 +48000014 +8121001C +3929FFFF +39400000 +99490000 +81410018 +81210048 +7D295050 +7D234B78 +80010064 +7C0803A6 +38210060 +4E800020 +9421FFF0 +90610008 +3D200002 +81410008 +9149E018 +60000000 +38210010 +4E800020 +9421FFF0 +90610008 +9081000C +3D200002 +81410008 +9149E01C +3D200002 +8141000C +9149E020 +60000000 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +3D200002 +8129E018 +2C090000 +41820020 +3D200002 +8129E018 +81410008 +554A063E +7D435378 +7D2903A6 +4E800421 +81210008 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200002 +8129E020 +2C090000 +4182FFF4 +3D200002 +8129E020 +7D2903A6 +4E800421 +7C691B78 +2C090000 +4182FFD8 +3D200002 +8129E01C +7D2903A6 +4E800421 +7C691B78 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +3D200002 +8129E020 +2C090000 +41820028 +3D200002 +8129E020 +7D2903A6 +4E800421 +7C691B78 +2C090000 +4182000C +39200001 +48000008 +39200000 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +80610008 +48000025 +3860000A +4BFFFED9 +39200001 +7D234B78 +80010014 +7C0803A6 +38210010 +4E800020 +9421FFF0 +7C0802A6 +90010014 +90610008 +48000020 +81210008 +89290000 +7D234B78 +4BFFFE9D +81210008 +39290001 +91210008 +81210008 +89290000 +2C090000 +4082FFD8 +60000000 +60000000 +80010014 +7C0803A6 +38210010 +4E800020 +9421FEE0 +7C0802A6 +90010124 +90610118 +9081011C +3921000C +80C1011C +80A10118 +38800100 +7D234B78 +4BFFEBF9 +7C691B78 +91210008 +3941000C +81210008 +7D2A4A14 +39400000 +99490000 +3921000C +7D234B78 +4BFFFF59 +81210008 +7D234B78 +80010124 +7C0803A6 +38210120 +4E800020 +9421FF80 +7C0802A6 +90010084 +90610018 +90810024 +90A10028 +90C1002C +90E10030 +91010034 +91210038 +9141003C +40860024 +D8210040 +D8410048 +D8610050 +D8810058 +D8A10060 +D8C10068 +D8E10070 +D9010078 +39200001 +9921000C +39200000 +9921000D +39210088 +91210010 +39210020 +91210014 +3921000C +7D244B78 +80610018 +4BFFFF19 +7C691B78 +91210008 +81210008 +7D234B78 +80010084 +7C0803A6 +38210080 +4E800020 diff --git a/dev/src/test3_soc/rom.s b/dev/src/test3_soc/rom.s new file mode 100644 index 0000000..9e99d2e --- /dev/null +++ b/dev/src/test3_soc/rom.s @@ -0,0 +1,958 @@ + +rom: file format elf32-powerpc + +Contents of section .kernel: + 0000 48000400 44000002 00000000 00000000 H...D........... + 0010 00000000 00000000 00000000 00000000 ................ + 0020 48001010 00000000 00000000 00000000 H............... + 0030 00000000 00000000 00000000 00000000 ................ + 0040 48000000 00000000 00000000 00000000 H............... + 0050 00000000 00000000 00000000 00000000 ................ + 0060 48000000 00000000 00000000 00000000 H............... + 0070 00000000 00000000 00000000 00000000 ................ + 0080 48000000 00000000 00000000 00000000 H............... + 0090 00000000 00000000 00000000 00000000 ................ + 00a0 48000000 00000000 00000000 00000000 H............... + 00b0 00000000 00000000 00000000 00000000 ................ + 00c0 48000000 00000000 00000000 00000000 H............... + 00d0 00000000 00000000 00000000 00000000 ................ + 00e0 48000000 00000000 00000000 00000000 H............... + 00f0 00000000 00000000 00000000 00000000 ................ + 0100 48000000 00000000 00000000 00000000 H............... + 0110 00000000 00000000 00000000 00000000 ................ + 0120 48012134 00000000 00000000 00000000 H.!4............ + 0130 00000000 00000000 00000000 00000000 ................ + 0140 48000000 00000000 00000000 00000000 H............... + 0150 00000000 00000000 00000000 00000000 ................ + 0160 48000000 00000000 00000000 00000000 H............... + 0170 00000000 00000000 00000000 00000000 ................ + 0180 48000000 00000000 00000000 00000000 H............... + 0190 00000000 00000000 00000000 00000000 ................ + 01a0 48000000 00000000 00000000 00000000 H............... + 01b0 00000000 00000000 00000000 00000000 ................ + 01c0 48000000 00000000 00000000 00000000 H............... + 01d0 00000000 00000000 00000000 00000000 ................ + 01e0 48000000 00000000 00000000 00000000 H............... + 01f0 00000000 00000000 00000000 00000000 ................ + 0200 48000000 00000000 00000000 00000000 H............... + 0210 00000000 00000000 00000000 00000000 ................ + 0220 48000000 00000000 00000000 00000000 H............... + 0230 00000000 00000000 00000000 00000000 ................ + 0240 48000000 00000000 00000000 00000000 H............... + 0250 00000000 00000000 00000000 00000000 ................ + 0260 48000000 00000000 00000000 00000000 H............... + 0270 00000000 00000000 00000000 00000000 ................ + 0280 48000000 00000000 00000000 00000000 H............... + 0290 00000000 00000000 00000000 00000000 ................ + 02a0 48000000 00000000 00000000 00000000 H............... + 02b0 00000000 00000000 00000000 00000000 ................ + 02c0 48000000 00000000 00000000 00000000 H............... + 02d0 00000000 00000000 00000000 00000000 ................ + 02e0 48000000 00000000 00000000 00000000 H............... + 02f0 00000000 00000000 00000000 00000000 ................ + 0300 48000000 00000000 00000000 00000000 H............... + 0310 00000000 00000000 00000000 00000000 ................ + 0320 48000000 00000000 00000000 00000000 H............... + 0330 00000000 00000000 00000000 00000000 ................ + 0340 48000000 00000000 00000000 00000000 H............... + 0350 00000000 00000000 00000000 00000000 ................ + 0360 00000000 00000000 00000000 00000000 ................ + 0370 00000000 00000000 00000000 00000000 ................ + 0380 00000000 00000000 00000000 00000000 ................ + 0390 00000000 00000000 00000000 00000000 ................ + 03a0 00000000 00000000 00000000 00000000 ................ + 03b0 00000000 00000000 00000000 00000000 ................ + 03c0 00000000 00000000 00000000 00000000 ................ + 03d0 00000000 00000000 00000000 00000000 ................ + 03e0 00000000 00000000 00000000 00000000 ................ + 03f0 00000000 00000000 00000000 00000000 ................ + 0400 7cbe6aa6 2c250000 408200e0 3c608c00 |.j.,%..@...<`.. + 0410 3800001f 38400015 38800000 3900023f 8...8@..8...9..? + 0420 7c7cfba6 7c4011a6 7c8009a6 7d0001a6 ||..|@..|...}... + 0430 4c00012c 39400000 654a0000 614a003f L..,9@..eJ..aJ.? + 0440 3800001e 38800000 64840001 60840000 8...8...d...`... + 0450 39000000 65080001 61080000 6108023f 9...e...a...a..? + 0460 7d4011a6 7c8009a6 7d0001a6 4c00012c }@..|...}...L.., + 0470 3c608800 3800000f 3840003f 38800000 <`..8...8@.?8... + 0480 3900023f 7c7cfba6 7c4011a6 7c8009a6 9..?||..|@..|... + 0490 7d0001a6 4c00012c 3800000d 38800000 }...L..,8...8... + 04a0 64840001 60840000 39000000 65080001 d...`...9...e... + 04b0 61080000 6108023f 7d4011a6 7c8009a6 a...a..?}@..|... + 04c0 7d0001a6 4c00012c 48000004 39400000 }...L..,H...9@.. + 04d0 654a8002 614ab000 7d400124 4c00012c eJ..aJ..}@.$L.., + 04e0 802008fa 48000020 39400000 654a8002 . ..H.. 9@..eJ.. + 04f0 614ab000 7d400124 4c00012c 802008fe aJ..}@.$L..,. .. + 0500 48000004 3c600000 60630c34 7c6903a6 H...<`..`c.4|i.. + 0510 7c7e6aa6 4e800421 480002e4 00000000 |~j.N..!H....... + 0520 00000000 00000000 00000000 00000000 ................ + 0530 00000000 00000000 00000000 00000000 ................ + 0540 00000000 00000000 00000000 00000000 ................ + 0550 00000000 00000000 00000000 00000000 ................ + 0560 00000000 00000000 00000000 00000000 ................ + 0570 00000000 00000000 00000000 00000000 ................ + 0580 00000000 00000000 00000000 00000000 ................ + 0590 00000000 00000000 00000000 00000000 ................ + 05a0 00000000 00000000 00000000 00000000 ................ + 05b0 00000000 00000000 00000000 00000000 ................ + 05c0 00000000 00000000 00000000 00000000 ................ + 05d0 00000000 00000000 00000000 00000000 ................ + 05e0 00000000 00000000 00000000 00000000 ................ + 05f0 00000000 00000000 00000000 00000000 ................ + 0600 00000000 00000000 00000000 00000000 ................ + 0610 00000000 00000000 00000000 00000000 ................ + 0620 00000000 00000000 00000000 00000000 ................ + 0630 00000000 00000000 00000000 00000000 ................ + 0640 00000000 00000000 00000000 00000000 ................ + 0650 00000000 00000000 00000000 00000000 ................ + 0660 00000000 00000000 00000000 00000000 ................ + 0670 00000000 00000000 00000000 00000000 ................ + 0680 00000000 00000000 00000000 00000000 ................ + 0690 00000000 00000000 00000000 00000000 ................ + 06a0 00000000 00000000 00000000 00000000 ................ + 06b0 00000000 00000000 00000000 00000000 ................ + 06c0 00000000 00000000 00000000 00000000 ................ + 06d0 00000000 00000000 00000000 00000000 ................ + 06e0 00000000 00000000 00000000 00000000 ................ + 06f0 00000000 00000000 00000000 00000000 ................ + 0700 00000000 00000000 00000000 00000000 ................ + 0710 00000000 00000000 00000000 00000000 ................ + 0720 00000000 00000000 00000000 00000000 ................ + 0730 00000000 00000000 00000000 00000000 ................ + 0740 00000000 00000000 00000000 00000000 ................ + 0750 00000000 00000000 00000000 00000000 ................ + 0760 00000000 00000000 00000000 00000000 ................ + 0770 00000000 00000000 00000000 00000000 ................ + 0780 00000000 00000000 00000000 00000000 ................ + 0790 00000000 00000000 00000000 00000000 ................ + 07a0 00000000 00000000 00000000 00000000 ................ + 07b0 00000000 00000000 00000000 00000000 ................ + 07c0 00000000 00000000 00000000 00000000 ................ + 07d0 00000000 00000000 00000000 00000000 ................ + 07e0 00000000 00000000 00000000 00000000 ................ + 07f0 48000000 48000000 00000000 48000000 H...H.......H... + 0800 48000000 00000000 00000000 00000000 H............... + 0810 00000000 00000000 00000000 00000000 ................ + 0820 48000000 00000000 00000000 00000000 H............... + 0830 00000000 00000000 00000000 00000000 ................ + 0840 00000000 00000000 00000000 00000000 ................ + 0850 00000000 00000000 00000000 00000000 ................ + 0860 00000000 00000000 00000000 00000000 ................ + 0870 00000000 00000000 00000000 00000000 ................ + 0880 00000000 00000000 00000000 00000000 ................ + 0890 00000000 00000000 00000000 00000000 ................ + 08a0 00000000 00000000 00000000 00000000 ................ + 08b0 00000000 00000000 00000000 00000000 ................ + 08c0 00000000 00000000 00000000 00000000 ................ + 08d0 00000000 00000000 00000000 00000000 ................ + 08e0 00000000 00000000 00000000 00000000 ................ +Contents of section .rodata: + 08f0 6d61696e 28256929 0a000001 fff80000 main(%i)........ + 0900 fff80000 08080808 08080808 08282828 .............((( + 0910 28280808 08080808 08080808 08080808 ((.............. + 0920 08080808 a0101010 10101010 10101010 ................ + 0930 10101010 04040404 04040404 04041010 ................ + 0940 10101010 10414141 41414101 01010101 .....AAAAAA..... + 0950 01010101 01010101 01010101 01010110 ................ + 0960 10101010 10424242 42424202 02020202 .....BBBBBB..... + 0970 02020202 02020202 02020202 02020210 ................ + 0980 10101008 00000000 00000000 00000000 ................ + 0990 00000000 00000000 00000000 00000000 ................ + 09a0 00000000 a0101010 10101010 10101010 ................ + 09b0 10101010 10101010 10101010 10101010 ................ + 09c0 10101010 01010101 01010101 01010101 ................ + 09d0 01010101 01010101 01010110 01010101 ................ + 09e0 01010102 02020202 02020202 02020202 ................ + 09f0 02020202 02020202 02020210 02020202 ................ + 0a00 02020202 41626f72 7465642e 00000000 ....Aborted..... + 0a10 30313233 34353637 38394142 43444546 0123456789ABCDEF + 0a20 4748494a 4b4c4d4e 4f505152 53545556 GHIJKLMNOPQRSTUV + 0a30 5758595a 00000000 30313233 34353637 WXYZ....01234567 + 0a40 38396162 63646566 6768696a 6b6c6d6e 89abcdefghijklmn + 0a50 6f707172 73747576 7778797a 00000000 opqrstuvwxyz.... + 0a60 3c4e554c 4c3e0000 00001d18 00001d48 .........H + 0a70 00001d48 00001d28 00001d48 00001d48 ...H...(...H...H + 0a80 00001d48 00001d48 00001d48 00001d48 ...H...H...H...H + 0a90 00001d48 00001d08 00001d48 00001cf8 ...H.......H.... + 0aa0 00001d48 00001d48 00001d38 00002480 ...H...H...8..$. + 0ab0 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0ac0 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0ad0 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0ae0 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0af0 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b00 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b10 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b20 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b30 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b40 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b50 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b60 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b70 000024e0 000024e0 000024b8 000024e0 ..$...$...$...$. + 0b80 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0b90 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0ba0 000024e0 00001fbc 000024d0 000024e0 ..$.......$...$. + 0bb0 000024e0 000024e0 000024e0 000024d0 ..$...$...$...$. + 0bc0 000024e0 000024e0 000024e0 000024e0 ..$...$...$...$. + 0bd0 00002304 000024ac 0000225c 000024e0 ..#...$..."\..$. + 0be0 000024e0 000020d8 000024e0 00002558 ..$... ...$...%X + 0bf0 000024e0 000024e0 000024c4 00000000 ..$...$...$..... +Contents of section .bios: + 0c00 9421fff0 7c691b78 99210008 3d200001 .!..|i.x.!..= .. + 0c10 81292000 39090001 3d400001 910a2000 .) .9...=@.... . + 0c20 89410008 99490000 60000000 38210010 .A...I..`...8!.. + 0c30 4e800020 9421ffc0 7c0802a6 90010044 N.. .!..|......D + 0c40 90610038 3d200001 39292000 9121000c .a.8= ..9) ..!.. + 0c50 3d200001 39292040 91210010 81210038 = ..9) @.!...!.8 + 0c60 2c090000 4182000c 3920ffff 48000190 ,...A...9 ..H... + 0c70 3d200000 392936d0 91210008 48000028 = ..9)6..!..H..( + 0c80 8121000c 39490004 9141000c 81410008 .!..9I...A...A.. + 0c90 814a0000 91490000 81210008 39290004 .J...I...!..9).. + 0ca0 91210008 81410008 3d200000 39293b4c .!...A..= ..9);L + 0cb0 7c0a4840 4180ffcc 3d200001 3929247c |.H@A...= ..9)$| + 0cc0 91210008 48000024 81210008 39490004 .!..H..$.!..9I.. + 0cd0 91410008 39400000 91490000 81210008 .A..9@...I...!.. + 0ce0 39290004 91210008 81410008 3d200001 9)...!...A..= .. + 0cf0 39292498 7c0a4840 4180ffd0 3d200000 9)$.|.H@A...= .. + 0d00 38690c00 4cc63182 480026d1 38600077 8i..L.1.H.&.8`.w + 0d10 48002719 38600074 48002711 38600066 H.'.8`.tH.'.8`.f + 0d20 48002709 3860000a 48002701 80810038 H.'.8`..H.'....8 + 0d30 3d200000 386908f0 4cc63182 480028f5 = ..8i..L.1.H.(. + 0d40 3d200300 91210034 81210034 7d334ba6 = ...!.4.!.4}3K. + 0d50 60000000 39200000 91210030 81210030 `...9 ...!.0.!.0 + 0d60 7d3603a6 60000000 39200000 9121002c }6..`...9 ...!., + 0d70 8121002c 7d3d43a6 60000000 39200000 .!.,}=C.`...9 .. + 0d80 91210028 81210028 7d3c43a6 60000000 .!.(.!.(}U).>}).4}IKx + 10a4 7d290734 5529043e 7d234b78 38210010 }).4U).>}#Kx8!.. + 10b4 4e800020 9421fff0 90610008 81210008 N.. .!...a...!.. + 10c4 552a463e 81210008 5529c23e 5529042e U*F>.!..U).>U).. + 10d4 7d4a4b78 81210008 5529402e 5529021e }JKx.!..U)@.U).. + 10e4 7d4a4b78 81210008 5529c00e 7d494b78 }JKx.!..U)..}IKx + 10f4 7d234b78 38210010 4e800020 9421fff0 }#Kx8!..N.. .!.. + 1104 90610008 9081000c 48000028 81210008 .a......H..(.!.. + 1114 89290000 2c090000 4082000c 39200000 .)..,...@...9 .. + 1124 4800002c 81210008 39290001 91210008 H..,.!..9)...!.. + 1134 81210008 89490000 8121000c 5529063e .!...I...!..U).> + 1144 7c0a4840 4082ffc8 81210008 7d234b78 |.H@@....!..}#Kx + 1154 38210010 4e800020 9421ffe0 90610018 8!..N.. .!...a.. + 1164 9081001c 81210018 91210008 48000058 .....!...!..H..X + 1174 8121001c 9121000c 48000030 81210008 .!...!..H..0.!.. + 1184 89490000 8121000c 89290000 7c0a4840 .I...!...)..|.H@ + 1194 4082000c 81210008 48000040 8121000c @....!..H..@.!.. + 11a4 39290001 9121000c 8121000c 89290000 9)...!...!...).. + 11b4 2c090000 4082ffc8 81210008 39290001 ,...@....!..9).. + 11c4 91210008 81210008 89290000 2c090000 .!...!...)..,... + 11d4 4082ffa0 39200000 7d234b78 38210020 @...9 ..}#Kx8!. + 11e4 4e800020 9421ffe0 7c0802a6 90010024 N.. .!..|......$ + 11f4 90610018 9081001c 80610018 480003dd .a.......a..H... + 1204 7c6a1b78 81210018 7d295214 91210008 |j.x.!..})R..!.. + 1214 81210008 89490000 8121001c 5529063e .!...I...!..U).> + 1224 7c0a4840 4082000c 81210008 48000024 |.H@@....!..H..$ + 1234 81210008 3929ffff 91210008 81410008 .!..9)...!...A.. + 1244 81210018 7c0a4840 4080ffc8 39200000 .!..|.H@@...9 .. + 1254 7d234b78 80010024 7c0803a6 38210020 }#Kx...$|...8!. + 1264 4e800020 9421ffe0 90610008 9081000c N.. .!...a...... + 1274 90a10010 48000030 81210008 89490000 ....H..0.!...I.. + 1284 81210010 5529063e 7c0a4840 4082000c .!..U).>|.H@@... + 1294 81210008 48000038 81210008 39290001 .!..H..8.!..9).. + 12a4 91210008 8121000c 3949ffff 9141000c .!...!..9I...A.. + 12b4 2c090000 41820014 81210008 89290000 ,...A....!...).. + 12c4 2c090000 4082ffb4 39200000 7d234b78 ,...@...9 ..}#Kx + 12d4 38210020 4e800020 9421ffe0 90610018 8!. N.. .!...a.. + 12e4 9081001c 81210018 91210008 60000000 .....!...!..`... + 12f4 8141001c 392a0001 9121001c 81210018 .A..9*...!...!.. + 1304 39090001 91010018 894a0000 99490000 9........J...I.. + 1314 89290000 2c090000 4082ffd8 81210008 .)..,...@....!.. + 1324 7d234b78 38210020 4e800020 9421ffd0 }#Kx8!. N.. .!.. + 1334 90610018 9081001c 90a10020 81210018 .a......... .!.. + 1344 91210008 48000048 8121001c 89490000 .!..H..H.!...I.. + 1354 81210008 99490000 81210008 89290000 .!...I...!...).. + 1364 2c090000 41820010 8121001c 39290001 ,...A....!..9).. + 1374 9121001c 81210008 39290001 91210008 .!...!..9)...!.. + 1384 81210020 3929ffff 91210020 81210020 .!. 9)...!. .!. + 1394 2c090000 4082ffb4 81210018 7d234b78 ,...@....!..}#Kx + 13a4 38210030 4e800020 9421ffe0 90610018 8!.0N.. .!...a.. + 13b4 9081001c 81210018 89490000 8121001c .....!...I...!.. + 13c4 39090001 9101001c 89290000 7d295050 9........)..})PP + 13d4 5529063e 99210008 89210008 7d290774 U).>.!...!..}).t + 13e4 2c090000 40820020 81210018 39490001 ,...@.. .!..9I.. + 13f4 91410018 89290000 2c090000 41820008 .A...)..,...A... + 1404 4bffffb4 89210008 7d290774 7d234b78 K....!..}).t}#Kx + 1414 38210020 4e800020 9421ffd0 90610018 8!. N.. .!...a.. + 1424 9081001c 90a10020 39200000 9121000c ....... 9 ...!.. + 1434 39200000 99210008 4800005c 81210018 9 ...!..H..\.!.. + 1444 89490000 8121001c 39090001 9101001c .I...!..9....... + 1454 89290000 7d295050 5529063e 99210008 .)..})PPU).>.!.. + 1464 89210008 7d290774 2c090000 40820038 .!..}).t,...@..8 + 1474 81210018 39490001 91410018 89290000 .!..9I...A...).. + 1484 2c090000 41820020 8121000c 39290001 ,...A.. .!..9).. + 1494 9121000c 8141000c 81210020 7c0a4840 .!...A...!. |.H@ + 14a4 4180ff9c 89210008 7d290774 7d234b78 A....!..}).t}#Kx + 14b4 38210030 4e800020 9421ffe0 90610018 8!.0N.. .!...a.. + 14c4 9081001c 81210018 91210008 48000010 .....!...!..H... + 14d4 81210018 39290001 91210018 81210018 .!..9)...!...!.. + 14e4 89290000 2c090000 4082ffe8 60000000 .)..,...@...`... + 14f4 8141001c 392a0001 9121001c 81210018 .A..9*...!...!.. + 1504 39090001 91010018 894a0000 99490000 9........J...I.. + 1514 89290000 2c090000 4082ffd8 81210008 .)..,...@....!.. + 1524 7d234b78 38210020 4e800020 9421ffd0 }#Kx8!. N.. .!.. + 1534 90610018 9081001c 90a10020 81210018 .a......... .!.. + 1544 91210008 81210020 2c090000 4182007c .!...!. ,...A..| + 1554 48000010 81210018 39290001 91210018 H....!..9)...!.. + 1564 81210018 89290000 2c090000 4082ffe8 .!...)..,...@... + 1574 4800002c 81210020 3929ffff 91210020 H..,.!. 9)...!. + 1584 81210020 2c090000 40820014 81210018 .!. ,...@....!.. + 1594 39400000 99490000 48000030 8141001c 9@...I..H..0.A.. + 15a4 392a0001 9121001c 81210018 39090001 9*...!...!..9... + 15b4 91010018 894a0000 99490000 89290000 .....J...I...).. + 15c4 2c090000 4082ffb0 81210008 7d234b78 ,...@....!..}#Kx + 15d4 38210030 4e800020 9421ffe0 90610018 8!.0N.. .!...a.. + 15e4 81210018 91210008 48000010 81210008 .!...!..H....!.. + 15f4 39290001 91210008 81210008 89290000 9)...!...!...).. + 1604 2c090000 4082ffe8 81410008 81210018 ,...@....A...!.. + 1614 7d295050 7d234b78 38210020 4e800020 })PP}#Kx8!. N.. + 1624 9421ffe0 90610018 9081001c 81210018 .!...a.......!.. + 1634 91210008 48000010 81210008 39290001 .!..H....!..9).. + 1644 91210008 8121001c 3949ffff 9141001c .!...!..9I...A.. + 1654 2c090000 41820014 81210008 89290000 ,...A....!...).. + 1664 2c090000 4082ffd4 81410008 81210018 ,...@....A...!.. + 1674 7d295050 7d234b78 38210020 4e800020 })PP}#Kx8!. N.. + 1684 9421ffe0 90610018 9081001c 39200000 .!...a......9 .. + 1694 91210010 81210018 91210008 4800007c .!...!...!..H..| + 16a4 8121001c 9121000c 48000028 81210008 .!...!..H..(.!.. + 16b4 89490000 8121000c 89290000 7c0a4840 .I...!...)..|.H@ + 16c4 41820024 8121000c 39290001 9121000c A..$.!..9)...!.. + 16d4 8121000c 89290000 2c090000 4082ffd0 .!...)..,...@... + 16e4 48000008 60000000 8121000c 89290000 H...`....!...).. + 16f4 2c090000 4082000c 81210010 48000030 ,...@....!..H..0 + 1704 81210010 39290001 91210010 81210008 .!..9)...!...!.. + 1714 39290001 91210008 81210008 89290000 9)...!...!...).. + 1724 2c090000 4082ff7c 81210010 7d234b78 ,...@..|.!..}#Kx + 1734 38210020 4e800020 9421ffd0 90610018 8!. N.. .!...a.. + 1744 9081001c 90a10020 39200000 91210010 ....... 9 ...!.. + 1754 81210018 91210008 8121001c 9121000c .!...!...!...!.. + 1764 48000050 81210008 89290000 7d2a4b78 H..P.!...)..}*Kx + 1774 8121000c 89290000 7d295050 91210010 .!...)..})PP.!.. + 1784 81210010 2c090000 40820038 81210008 .!..,...@..8.!.. + 1794 39290001 91210008 8121000c 39290001 9)...!...!..9).. + 17a4 9121000c 81210020 3929ffff 91210020 .!...!. 9)...!. + 17b4 81210020 2c090000 4082ffac 48000008 .!. ,...@...H... + 17c4 60000000 81210010 7d234b78 38210030 `....!..}#Kx8!.0 + 17d4 4e800020 9421ffd0 90610018 9081001c N.. .!...a...... + 17e4 90a10020 81210018 91210008 4800001c ... .!...!..H... + 17f4 81210008 39490001 91410008 8141001c .!..9I...A...A.. + 1804 554a063e 99490000 81210020 3949ffff UJ.>.I...!. 9I.. + 1814 91410020 2c090000 4082ffd8 81210018 .A. ,...@....!.. + 1824 7d234b78 38210030 4e800020 9421ffd0 }#Kx8!.0N.. .!.. + 1834 90610018 9081001c 90a10020 81210018 .a......... .!.. + 1844 91210008 8121001c 9121000c 48000024 .!...!...!..H..$ + 1854 8141000c 392a0001 9121000c 81210008 .A..9*...!...!.. + 1864 39090001 91010008 894a0000 99490000 9........J...I.. + 1874 81210020 3949ffff 91410020 2c090000 .!. 9I...A. ,... + 1884 4082ffd0 81210018 7d234b78 38210030 @....!..}#Kx8!.0 + 1894 4e800020 9421ffd0 90610018 9081001c N.. .!...a...... + 18a4 90a10020 81410018 8121001c 7c0a4840 ... .A...!..|.H@ + 18b4 41810050 81210018 91210008 8121001c A..P.!...!...!.. + 18c4 9121000c 48000024 8141000c 392a0001 .!..H..$.A..9*.. + 18d4 9121000c 81210008 39090001 91010008 .!...!..9....... + 18e4 894a0000 99490000 81210020 3949ffff .J...I...!. 9I.. + 18f4 91410020 2c090000 4082ffd0 48000064 .A. ,...@...H..d + 1904 81410018 81210020 7d2a4a14 91210008 .A...!. }*J..!.. + 1914 8141001c 81210020 7d2a4a14 9121000c .A...!. }*J..!.. + 1924 4800002c 8121000c 3929ffff 9121000c H..,.!..9)...!.. + 1934 81210008 3929ffff 91210008 8121000c .!..9)...!...!.. + 1944 89490000 81210008 99490000 81210020 .I...!...I...!. + 1954 3949ffff 91410020 2c090000 4082ffc8 9I...A. ,...@... + 1964 81210018 7d234b78 38210030 4e800020 .!..}#Kx8!.0N.. + 1974 9421ffe0 7c0802a6 90010024 90610018 .!..|......$.a.. + 1984 9081001c 8061001c 4bfffc51 7c691b78 .....a..K..Q|i.x + 1994 9121000c 8121000c 2c090000 4082000c .!...!..,...@... + 19a4 81210018 48000068 80610018 4bfffc2d .!..H..h.a..K..- + 19b4 7c691b78 91210008 48000040 81210008 |i.x.!..H..@.!.. + 19c4 3929ffff 91210008 80a1000c 8081001c 9)...!.......... + 19d4 80610018 4bfffd65 7c691b78 2c090000 .a..K..e|i.x,... + 19e4 4082000c 81210018 48000024 81210018 @....!..H..$.!.. + 19f4 39290001 91210018 81410008 8121000c 9)...!...A...!.. + 1a04 7c0a4840 4080ffb8 39200000 7d234b78 |.H@@...9 ..}#Kx + 1a14 80010024 7c0803a6 38210020 4e800020 ...$|...8!. N.. + 1a24 9421ffd0 90610018 9081001c 90a10020 .!...a......... + 1a34 81210018 91210008 48000030 8121001c .!...!..H..0.!.. + 1a44 552a063e 81210008 39090001 91010008 U*.>.!..9....... + 1a54 89290000 7c0a4840 40820010 81210008 .)..|.H@@....!.. + 1a64 3929ffff 4800001c 81210020 3949ffff 9)..H....!. 9I.. + 1a74 91410020 2c090000 4082ffc4 39200000 .A. ,...@...9 .. + 1a84 7d234b78 38210030 4e800020 9421ffd0 }#Kx8!.0N.. .!.. + 1a94 7c0802a6 90010034 90610018 9081001c |......4.a...... + 1aa4 90a10020 39200000 91210008 81210020 ... 9 ...!...!. + 1ab4 2c090000 4082008c 3920000a 91210020 ,...@...9 ...!. + 1ac4 81210018 89290000 28090030 408200e4 .!...)..(..0@... + 1ad4 39200008 91210020 81210018 39290001 9 ...!. .!..9).. + 1ae4 91210018 81210018 89290000 7d234b78 .!...!...)..}#Kx + 1af4 4bfff541 7c691b78 28090058 408200b4 K..A|i.x(..X@... + 1b04 81210018 39290001 89290000 7d2a4b78 .!..9)...)..}*Kx + 1b14 3d200000 39290904 7d2950ae 71290044 = ..9)..})P.q).D + 1b24 2c090000 4182008c 81210018 39290001 ,...A....!..9).. + 1b34 91210018 39200010 91210020 48000074 .!..9 ...!. H..t + 1b44 81210020 2c090010 40820068 81210018 .!. ,...@..h.!.. + 1b54 89290000 28090030 40820058 81210018 .)..(..0@..X.!.. + 1b64 39290001 89290000 7d234b78 4bfff4c5 9)...)..}#KxK... + 1b74 7c691b78 28090058 40820038 81210018 |i.x(..X@..8.!.. + 1b84 39290002 91210018 48000028 81410008 9)...!..H..(.A.. + 1b94 81210020 7d2a49d6 8141000c 7d2a4a14 .!. }*I..A..}*J. + 1ba4 91210008 81210018 39290001 91210018 .!...!..9)...!.. + 1bb4 81210018 89290000 7d2a4b78 3d200000 .!...)..}*Kx= .. + 1bc4 39290904 7d2950ae 71290044 2c090000 9)..})P.q).D,... + 1bd4 41820064 81210018 89290000 7d2a4b78 A..d.!...)..}*Kx + 1be4 3d200000 39290904 7d2950ae 5529077a = ..9)..})P.U).z + 1bf4 2c090000 41820014 81210018 89290000 ,...A....!...).. + 1c04 3929ffd0 4800001c 81210018 89290000 9)..H....!...).. + 1c14 7d234b78 4bfff41d 7c691b78 3929ffc9 }#KxK...|i.x9).. + 1c24 9121000c 8141000c 81210020 7c0a4840 .!...A...!. |.H@ + 1c34 4180ff5c 8121001c 2c090000 41820010 A..\.!..,...A... + 1c44 8121001c 81410018 91490000 81210008 .!...A...I...!.. + 1c54 7d234b78 80010034 7c0803a6 38210030 }#Kx...4|...8!.0 + 1c64 4e800020 9421ffe0 7c0802a6 90010024 N.. .!..|......$ + 1c74 90610008 9081000c 90a10010 81210008 .a...........!.. + 1c84 89290000 2809002d 4082002c 81210008 .)..(..-@..,.!.. + 1c94 39290001 81410010 7d455378 8081000c 9)...A..}ESx.... + 1ca4 7d234b78 4bfffde9 7c691b78 7d2900d0 }#KxK...|i.x}).. + 1cb4 4800001c 81210010 7d254b78 8081000c H....!..}%Kx.... + 1cc4 80610008 4bfffdc9 7c691b78 7d234b78 .a..K...|i.x}#Kx + 1cd4 80010024 7c0803a6 38210020 4e800020 ...$|...8!. N.. + 1ce4 9421ffe0 90610018 39200000 91210008 .!...a..9 ...!.. + 1cf4 48000030 81210008 1d49000a 81210018 H..0.!...I...!.. + 1d04 81290000 38e90001 81010018 90e80000 .)..8........... + 1d14 89290000 7d2a4a14 3929ffd0 91210008 .)..}*J.9)...!.. + 1d24 81210018 81290000 89290000 7d2a4b78 .!...)...)..}*Kx + 1d34 3d200000 39290904 7d2950ae 5529077a = ..9)..})P.U).z + 1d44 2c090000 4082ffb0 81210008 7d234b78 ,...@....!..}#Kx + 1d54 38210020 4e800020 9421ff70 90610068 8!. N.. .!.p.a.h + 1d64 9081006c 90a10070 90c10074 90e10078 ...l...p...t...x + 1d74 9101007c 91210080 81210080 55290672 ...|.!...!..U).r + 1d84 2c090000 41820010 3d200000 39290a10 ,...A...= ..9).. + 1d94 4800000c 3d200000 39290a38 91210010 H...= ..9).8.!.. + 1da4 81210080 552906f6 2c090000 41820010 .!..U)..,...A... + 1db4 81210080 5529003c 91210080 81210074 .!..U).<.!...!.t + 1dc4 2c090001 40810010 81210074 2c090024 ,...@....!.t,..$ + 1dd4 4081000c 39200000 480003fc 81210080 @...9 ..H....!.. + 1de4 552907fe 2c090000 4182000c 39200030 U)..,...A...9 .0 + 1df4 48000008 39200020 99210014 39200000 H...9 . .!..9 .. + 1e04 99210008 81210080 552907bc 2c090000 .!...!..U)..,... + 1e14 41820080 81210070 2c090000 40800028 A....!.p,...@..( + 1e24 3920002d 99210008 81210070 7d2900d0 9 .-.!...!.p}).. + 1e34 91210070 81210078 3929ffff 91210078 .!.p.!.x9)...!.x + 1e44 48000050 81210080 5529077a 2c090000 H..P.!..U).z,... + 1e54 4182001c 3920002b 99210008 81210078 A...9 .+.!...!.x + 1e64 3929ffff 91210078 48000028 81210080 9)...!.xH..(.!.. + 1e74 55290738 2c090000 41820018 39200020 U).8,...A...9 . + 1e84 99210008 81210078 3929ffff 91210078 .!...!.x9)...!.x + 1e94 81210080 552906b4 2c090000 41820038 .!..U)..,...A..8 + 1ea4 81210074 2c090010 40820014 81210078 .!.t,...@....!.x + 1eb4 3929fffe 91210078 4800001c 81210074 9)...!.xH....!.t + 1ec4 2c090008 40820010 81210078 3929ffff ,...@....!.x9).. + 1ed4 91210078 39200000 9121000c 81210070 .!.x9 ...!...!.p + 1ee4 2c090000 4082006c 8121000c 39490001 ,...@..l.!..9I.. + 1ef4 9141000c 39410008 7d2a4a14 39400030 .A..9A..}*J.9@.0 + 1f04 99490010 48000058 81410074 81210070 .I..H..X.A.t.!.p + 1f14 7d095396 7d4851d6 7d2a4850 81410010 }.S.}HQ.}*HP.A.. + 1f24 7d4a4a14 8121000c 39090001 9101000c }JJ..!..9....... + 1f34 894a0000 39010008 7d284a14 99490010 .J..9...}(J..I.. + 1f44 81210074 81410070 7d2a4b96 91210070 .!.t.A.p}*K..!.p + 1f54 81210070 2c090000 4082ffb0 8141000c .!.p,...@....A.. + 1f64 8121007c 7c0a4800 4081000c 8121000c .!.||.H.@....!.. + 1f74 9121007c 81410078 8121007c 7d295050 .!.|.A.x.!.|})PP + 1f84 91210078 81210080 71290011 2c090000 .!.x.!..q)..,... + 1f94 40820044 4800002c 81410068 8121006c @..DH..,.A.h.!.l + 1fa4 7c0a4840 40800010 81210068 39400020 |.H@@....!.h9@. + 1fb4 99490000 81210068 39290001 91210068 .I...!.h9)...!.h + 1fc4 81210078 3949ffff 91410078 2c090000 .!.x9I...A.x,... + 1fd4 4181ffc8 89210008 2c090000 4182002c A....!..,...A.., + 1fe4 81410068 8121006c 7c0a4840 40800010 .A.h.!.l|.H@@... + 1ff4 81210068 89410008 99490000 81210068 .!.h.A...I...!.h + 2004 39290001 91210068 81210080 552906b4 9)...!.h.!..U).. + 2014 2c090000 4182009c 81210074 2c090008 ,...A....!.t,... + 2024 40820030 81410068 8121006c 7c0a4840 @..0.A.h.!.l|.H@ + 2034 40800010 81210068 39400030 99490000 @....!.h9@.0.I.. + 2044 81210068 39290001 91210068 48000064 .!.h9)...!.hH..d + 2054 81210074 2c090010 40820058 81410068 .!.t,...@..X.A.h + 2064 8121006c 7c0a4840 40800010 81210068 .!.l|.H@@....!.h + 2074 39400030 99490000 81210068 39290001 9@.0.I...!.h9).. + 2084 91210068 81410068 8121006c 7c0a4840 .!.h.A.h.!.l|.H@ + 2094 40800014 81210010 89490021 81210068 @....!...I.!.!.h + 20a4 99490000 81210068 39290001 91210068 .I...!.h9)...!.h + 20b4 81210080 552906f6 2c090000 40820070 .!..U)..,...@..p + 20c4 4800002c 81410068 8121006c 7c0a4840 H..,.A.h.!.l|.H@ + 20d4 40800010 81210068 89410014 99490000 @....!.h.A...I.. + 20e4 81210068 39290001 91210068 81210078 .!.h9)...!.h.!.x + 20f4 3949ffff 91410078 2c090000 4181ffc8 9I...A.x,...A... + 2104 4800002c 81410068 8121006c 7c0a4840 H..,.A.h.!.l|.H@ + 2114 40800010 81210068 39400030 99490000 @....!.h9@.0.I.. + 2124 81210068 39290001 91210068 8121007c .!.h9)...!.h.!.| + 2134 3949ffff 9141007c 8141000c 7c0a4800 9I...A.|.A..|.H. + 2144 4180ffc4 48000038 81410068 8121006c A...H..8.A.h.!.l + 2154 7c0a4840 4080001c 39410018 8121000c |.H@@...9A...!.. + 2164 7d2a4a14 89490000 81210068 99490000 }*J..I...!.h.I.. + 2174 81210068 39290001 91210068 8121000c .!.h9)...!.h.!.. + 2184 3949ffff 9141000c 2c090000 4181ffbc 9I...A..,...A... + 2194 4800002c 81410068 8121006c 7c0a4840 H..,.A.h.!.l|.H@ + 21a4 40800010 81210068 39400020 99490000 @....!.h9@. .I.. + 21b4 81210068 39290001 91210068 81210078 .!.h9)...!.h.!.x + 21c4 3949ffff 91410078 2c090000 4181ffc8 9I...A.x,...A... + 21d4 81210068 7d234b78 38210090 4e800020 .!.h}#Kx8!..N.. + 21e4 9421ffd0 7c0802a6 90010034 90610018 .!..|......4.a.. + 21f4 9081001c 90a10020 90c10024 80c10024 ....... ...$...$ + 2204 80a10020 8081001c 80610018 4800044d ... .....a..H..M + 2214 7c691b78 91210008 81410008 8121001c |i.x.!...A...!.. + 2224 7c0a4840 41800010 8121001c 3929ffff |.H@A....!..9).. + 2234 48000008 81210008 7d234b78 80010034 H....!..}#Kx...4 + 2244 7c0803a6 38210030 4e800020 9421ff80 |...8!.0N.. .!.. + 2254 7c0802a6 90010084 90610018 9081001c |........a...... + 2264 90a10020 90c1002c 90e10030 91010034 ... ...,...0...4 + 2274 91210038 9141003c 40860024 d8210040 .!.8.A.<@..$.!.@ + 2284 d8410048 d8610050 d8810058 d8a10060 .A.H.a.P...X...` + 2294 d8c10068 d8e10070 d9010078 39200003 ...h...p...x9 .. + 22a4 9921000c 39200000 9921000d 39210088 .!..9 ...!..9!.. + 22b4 91210010 39210020 91210014 3921000c .!..9!. .!..9!.. + 22c4 7d264b78 80a10020 8081001c 80610018 }&Kx... .....a.. + 22d4 48000389 7c691b78 91210008 81210008 H...|i.x.!...!.. + 22e4 7d234b78 80010084 7c0803a6 38210080 }#Kx....|...8!.. + 22f4 4e800020 9421ff80 7c0802a6 90010084 N.. .!..|....... + 2304 90610018 9081001c 90a10020 90c1002c .a......... ..., + 2314 90e10030 91010034 91210038 9141003c ...0...4.!.8.A.< + 2324 40860024 d8210040 d8410048 d8610050 @..$.!.@.A.H.a.P + 2334 d8810058 d8a10060 d8c10068 d8e10070 ...X...`...h...p + 2344 d9010078 39200003 9921000c 39200000 ...x9 ...!..9 .. + 2354 9921000d 39210088 91210010 39210020 .!..9!...!..9!. + 2364 91210014 3921000c 7d264b78 80a10020 .!..9!..}&Kx... + 2374 8081001c 80610018 480002e1 7c691b78 .....a..H...|i.x + 2384 91210008 81410008 8121001c 7c0a4840 .!...A...!..|.H@ + 2394 41800010 8121001c 3929ffff 48000008 A....!..9)..H... + 23a4 81210008 7d234b78 80010084 7c0803a6 .!..}#Kx....|... + 23b4 38210080 4e800020 9421ffe0 7c0802a6 8!..N.. .!..|... + 23c4 90010024 90610008 9081000c 90a10010 ...$.a.......... + 23d4 80c10010 80a1000c 3d207fff 6124ffff ........= ..a$.. + 23e4 80610008 48000275 7c691b78 7d234b78 .a..H..u|i.x}#Kx + 23f4 80010024 7c0803a6 38210020 4e800020 ...$|...8!. N.. + 2404 9421ff80 7c0802a6 90010084 90610018 .!..|........a.. + 2414 9081001c 90a10020 90c10024 90e10028 ....... ...$...( + 2424 9101002c 91210030 91410034 40860024 ...,.!.0.A.4@..$ + 2434 d8210038 d8410040 d8610048 d8810050 .!.8.A.@.a.H...P + 2444 d8a10058 d8c10060 d8e10068 d9010070 ...X...`...h...p + 2454 39200002 9921000c 39200000 9921000d 9 ...!..9 ...!.. + 2464 39210088 91210010 39210018 91210014 9!...!..9!...!.. + 2474 3921000c 7d264b78 80a1001c 3d207fff 9!..}&Kx....= .. + 2484 6124ffff 80610018 480001d1 7c691b78 a$...a..H...|i.x + 2494 91210008 81210008 7d234b78 80010084 .!...!..}#Kx.... + 24a4 7c0803a6 38210080 4e800020 3d200001 |...8!..N.. = .. + 24b4 81292488 1d290081 3d293619 394962e9 .)$..)..=)6.9Ib. + 24c4 3d200001 91492488 3d200001 81292488 = ...I$.= ...)$. + 24d4 7d234b78 4e800020 9421fff0 90610008 }#KxN.. .!...a.. + 24e4 3d200001 81410008 91492488 60000000 = ...A...I$.`... + 24f4 38210010 4e800020 9421fff0 7c0802a6 8!..N.. .!..|... + 2504 90010014 3d200000 38690a04 4cc63182 ....= ..8i..L.1. + 2514 4800111d 48000000 9421ffe0 7c0802a6 H...H....!..|... + 2524 90010024 90610018 39200001 91210008 ...$.a..9 ...!.. + 2534 89210008 2c090000 41820014 80610018 .!..,...A....a.. + 2544 4bffeb75 7c691b78 48000008 81210018 K..u|i.xH....!.. + 2554 7d234b78 80010024 7c0803a6 38210020 }#Kx...$|...8!. + 2564 4e800020 9421ffe0 7c0802a6 90010024 N.. .!..|......$ + 2574 7c691b78 b1210018 39200001 91210008 |i.x.!..9 ...!.. + 2584 89210008 2c090000 41820018 a1210018 .!..,...A....!.. + 2594 7d234b78 4bffeae1 7c691b78 48000008 }#KxK...|i.xH... + 25a4 a1210018 7d234b78 80010024 7c0803a6 .!..}#Kx...$|... + 25b4 38210020 4e800020 9421ffe0 7c0802a6 8!. N.. .!..|... + 25c4 90010024 90610018 39200001 91210008 ...$.a..9 ...!.. + 25d4 89210008 2c090000 41820014 80610018 .!..,...A....a.. + 25e4 4bffead5 7c691b78 48000008 81210018 K...|i.xH....!.. + 25f4 7d234b78 80010024 7c0803a6 38210020 }#Kx...$|...8!. + 2604 4e800020 9421ffe0 7c0802a6 90010024 N.. .!..|......$ + 2614 7c691b78 b1210018 39200001 91210008 |i.x.!..9 ...!.. + 2624 89210008 2c090000 41820018 a1210018 .!..,...A....!.. + 2634 7d234b78 4bffea41 7c691b78 48000008 }#KxK..A|i.xH... + 2644 a1210018 7d234b78 80010024 7c0803a6 .!..}#Kx...$|... + 2654 38210020 4e800020 9421ffa0 7c0802a6 8!. N.. .!..|... + 2664 90010064 90610048 9081004c 90a10050 ...d.a.H...L...P + 2674 90c10054 8121004c 2c090000 4080000c ...T.!.L,...@... + 2684 39200000 48000d3c 81210048 91210018 9 ..H..<.!.H.!.. + 2694 81410048 8121004c 7d2a4a14 9121001c .A.H.!.L}*J..!.. + 26a4 8141001c 81210048 7c0a4840 40800cbc .A...!.H|.H@@... + 26b4 3920ffff 9121001c 8141001c 81210048 9 ...!...A...!.H + 26c4 7d295050 9121004c 48000ca0 81210050 })PP.!.LH....!.P + 26d4 89290000 28090025 41820034 81410018 .)..(..%A..4.A.. + 26e4 8121001c 7c0a4840 40800014 81210050 .!..|.H@@....!.P + 26f4 89490000 81210018 99490000 81210018 .I...!...I...!.. + 2704 39290001 91210018 48000c54 39200000 9)...!..H..T9 .. + 2714 91210024 81210050 39290001 91210050 .!.$.!.P9)...!.P + 2724 81210050 89290000 3929ffe0 28090010 .!.P.)..9)..(... + 2734 4181007c 552a103a 3d200000 39290a68 A..|U*.:= ..9).h + 2744 7d2a4a14 81490000 3d200000 39290a68 }*J..I..= ..9).h + 2754 7d2a4a14 7d2903a6 4e800420 81210024 }*J.})..N.. .!.$ + 2764 61290010 91210024 4bffffac 81210024 a)...!.$K....!.$ + 2774 61290004 91210024 4bffff9c 81210024 a)...!.$K....!.$ + 2784 61290008 91210024 4bffff8c 81210024 a)...!.$K....!.$ + 2794 61290020 91210024 4bffff7c 81210024 a). .!.$K..|.!.$ + 27a4 61290001 91210024 4bffff6c 3920ffff a)...!.$K..l9 .. + 27b4 91210028 81210050 89290000 7d2a4b78 .!.(.!.P.)..}*Kx + 27c4 3d200000 39290904 7d2950ae 5529077a = ..9)..})P.U).z + 27d4 2c090000 4182001c 39210050 7d234b78 ,...A...9!.P}#Kx + 27e4 4bfff501 7c691b78 91210028 4800009c K...|i.x.!.(H... + 27f4 81210050 89290000 2809002a 4082008c .!.P.)..(..*@... + 2804 81210050 39290001 91210050 81210054 .!.P9)...!.P.!.T + 2814 89290000 28090007 41810030 81210054 .)..(...A..0.!.T + 2824 81490008 81210054 89290000 39090001 .I...!.T.)..9... + 2834 5507063e 81010054 98e80000 5529103a U..>...T....U).: + 2844 7d2a4a14 48000018 81210054 81290004 }*J.H....!.T.).. + 2854 39090004 81410054 910a0004 81290000 9....A.T.....).. + 2864 91210028 81210028 2c090000 4080001c .!.(.!.(,...@... + 2874 81210028 7d2900d0 91210028 81210024 .!.(})...!.(.!.$ + 2884 61290010 91210024 3920ffff 9121002c a)...!.$9 ...!., + 2894 81210050 89290000 2809002e 408200d4 .!.P.)..(...@... + 28a4 81210050 39290001 91210050 81210050 .!.P9)...!.P.!.P + 28b4 89290000 7d2a4b78 3d200000 39290904 .)..}*Kx= ..9).. + 28c4 7d2950ae 5529077a 2c090000 4182001c })P.U).z,...A... + 28d4 39210050 7d234b78 4bfff409 7c691b78 9!.P}#KxK...|i.x + 28e4 9121002c 48000078 81210050 89290000 .!.,H..x.!.P.).. + 28f4 2809002a 40820068 81210050 39290001 (..*@..h.!.P9).. + 2904 91210050 81210054 89290000 28090007 .!.P.!.T.)..(... + 2914 41810030 81210054 81490008 81210054 A..0.!.T.I...!.T + 2924 89290000 39090001 5507063e 81010054 .)..9...U..>...T + 2934 98e80000 5529103a 7d2a4a14 48000018 ....U).:}*J.H... + 2944 81210054 81290004 39090004 81410054 .!.T.)..9....A.T + 2954 910a0004 81290000 9121002c 8121002c .....)...!.,.!., + 2964 2c090000 4080000c 39200000 9121002c ,...@...9 ...!., + 2974 3920ffff 91210030 81210050 89290000 9 ...!.0.!.P.).. + 2984 28090068 41820054 81210050 89290000 (..hA..T.!.P.).. + 2994 2809006c 41820044 81210050 89290000 (..lA..D.!.P.).. + 29a4 2809004c 41820034 81210050 89290000 (..LA..4.!.P.).. + 29b4 2809005a 41820024 81210050 89290000 (..ZA..$.!.P.).. + 29c4 2809007a 41820014 81210050 89290000 (..zA....!.P.).. + 29d4 28090074 4082004c 81210050 89290000 (..t@..L.!.P.).. + 29e4 91210030 81210050 39290001 91210050 .!.0.!.P9)...!.P + 29f4 81210030 2c09006c 40820028 81210050 .!.0,..l@..(.!.P + 2a04 89290000 2809006c 40820018 3920004c .)..(..l@...9 .L + 2a14 91210030 81210050 39290001 91210050 .!.0.!.P9)...!.P + 2a24 3920000a 91210014 81210050 89290000 9 ...!...!.P.).. + 2a34 3929ffdb 28090053 41810550 552a103a 9)..(..SA..PU*.: + 2a44 3d200000 39290aac 7d2a4a14 81490000 = ..9)..}*J..I.. + 2a54 3d200000 39290aac 7d2a4a14 7d2903a6 = ..9)..}*J.}).. + 2a64 4e800420 81210024 552906f6 2c090000 N.. .!.$U)..,... + 2a74 40820048 4800002c 81410018 8121001c @..HH..,.A...!.. + 2a84 7c0a4840 40800010 81210018 39400020 |.H@@....!..9@. + 2a94 99490000 81210018 39290001 91210018 .I...!..9)...!.. + 2aa4 81210028 3929ffff 91210028 81210028 .!.(9)...!.(.!.( + 2ab4 2c090000 4181ffc4 81210054 89290000 ,...A....!.T.).. + 2ac4 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 2ad4 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 2ae4 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 2af4 48000018 81210054 81290004 39090004 H....!.T.)..9... + 2b04 81410054 910a0004 81290000 99210044 .A.T.....)...!.D + 2b14 81410018 8121001c 7c0a4840 40800010 .A...!..|.H@@... + 2b24 81210018 89410044 99490000 81210018 .!...A.D.I...!.. + 2b34 39290001 91210018 4800002c 81410018 9)...!..H..,.A.. + 2b44 8121001c 7c0a4840 40800010 81210018 .!..|.H@@....!.. + 2b54 39400020 99490000 81210018 39290001 9@. .I...!..9).. + 2b64 91210018 81210028 3929ffff 91210028 .!...!.(9)...!.( + 2b74 81210028 2c090000 4181ffc4 480007e0 .!.(,...A...H... + 2b84 81210054 89290000 28090007 41810030 .!.T.)..(...A..0 + 2b94 81210054 81490008 81210054 89290000 .!.T.I...!.T.).. + 2ba4 39090001 5507063e 81010054 98e80000 9...U..>...T.... + 2bb4 5529103a 7d2a4a14 48000018 81210054 U).:}*J.H....!.T + 2bc4 81290004 39090004 81410054 910a0004 .)..9....A.T.... + 2bd4 81290000 91210020 81210020 2c090000 .)...!. .!. ,... + 2be4 40820010 3d200000 39290a60 91210020 @...= ..9).`.!. + 2bf4 8121002c 7d244b78 80610020 4bffea25 .!.,}$Kx.a. K..% + 2c04 7c691b78 91210034 81210024 552906f6 |i.x.!.4.!.$U).. + 2c14 2c090000 40820048 4800002c 81410018 ,...@..HH..,.A.. + 2c24 8121001c 7c0a4840 40800010 81210018 .!..|.H@@....!.. + 2c34 39400020 99490000 81210018 39290001 9@. .I...!..9).. + 2c44 91210018 81210028 3949ffff 91410028 .!...!.(9I...A.( + 2c54 81410034 7c0a4800 4180ffc4 39200000 .A.4|.H.A...9 .. + 2c64 91210010 48000048 81410018 8121001c .!..H..H.A...!.. + 2c74 7c0a4840 40800014 81210020 89490000 |.H@@....!. .I.. + 2c84 81210018 99490000 81210018 39290001 .!...I...!..9).. + 2c94 91210018 81210020 39290001 91210020 .!...!. 9)...!. + 2ca4 81210010 39290001 91210010 81410010 .!..9)...!...A.. + 2cb4 81210034 7c0a4800 4180ffb0 4800002c .!.4|.H.A...H.., + 2cc4 81410018 8121001c 7c0a4840 40800010 .A...!..|.H@@... + 2cd4 81210018 39400020 99490000 81210018 .!..9@. .I...!.. + 2ce4 39290001 91210018 81210028 3949ffff 9)...!...!.(9I.. + 2cf4 91410028 81410034 7c0a4800 4180ffc4 .A.(.A.4|.H.A... + 2d04 4800065c 81410028 3920ffff 7c0a4800 H..\.A.(9 ..|.H. + 2d14 40820018 39200008 91210028 81210024 @...9 ...!.(.!.$ + 2d24 61290021 91210024 81210054 89290000 a).!.!.$.!.T.).. + 2d34 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 2d44 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 2d54 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 2d64 48000018 81210054 81290004 39090004 H....!.T.)..9... + 2d74 81410054 910a0004 81290000 7d2a4b78 .A.T.....)..}*Kx + 2d84 81210024 8101002c 80e10028 38c00010 .!.$...,...(8... + 2d94 7d455378 8081001c 80610018 4bffefbd }ESx.....a..K... + 2da4 7c691b78 91210018 480005b4 81210030 |i.x.!..H....!.0 + 2db4 2c09006c 40820074 81210054 89290000 ,..l@..t.!.T.).. + 2dc4 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 2dd4 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 2de4 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 2df4 48000018 81210054 81290004 39090004 H....!.T.)..9... + 2e04 81410054 910a0004 81290000 91210040 .A.T.....)...!.@ + 2e14 81410018 81210048 7d495050 81210040 .A...!.H}IPP.!.@ + 2e24 91490000 48000538 81210030 2c09005a .I..H..8.!.0,..Z + 2e34 41820010 81210030 2c09007a 4082007c A....!.0,..z@..| + 2e44 81210054 89290000 28090007 41810030 .!.T.)..(...A..0 + 2e54 81210054 81490008 81210054 89290000 .!.T.I...!.T.).. + 2e64 39090001 5507063e 81010054 98e80000 9...U..>...T.... + 2e74 5529103a 7d2a4a14 48000018 81210054 U).:}*J.H....!.T + 2e84 81290004 39090004 81410054 910a0004 .)..9....A.T.... + 2e94 81290000 9121003c 81410018 81210048 .)...!.<.A...!.H + 2ea4 7d295050 7d2a4b78 8121003c 91490000 })PP}*Kx.!.<.I.. + 2eb4 60000000 480004a8 81210054 89290000 `...H....!.T.).. + 2ec4 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 2ed4 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 2ee4 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 2ef4 48000018 81210054 81290004 39090004 H....!.T.)..9... + 2f04 81410054 910a0004 81290000 91210038 .A.T.....)...!.8 + 2f14 81410018 81210048 7d495050 81210038 .A...!.H}IPP.!.8 + 2f24 91490000 48000438 81410018 8121001c .I..H..8.A...!.. + 2f34 7c0a4840 40800010 81210018 39400025 |.H@@....!..9@.% + 2f44 99490000 81210018 39290001 91210018 .I...!..9)...!.. + 2f54 4800040c 39200008 91210014 480000a8 H...9 ...!..H... + 2f64 81210024 61290040 91210024 39200010 .!.$a).@.!.$9 .. + 2f74 91210014 48000090 81210024 61290002 .!..H....!.$a).. + 2f84 91210024 4800007c 81410018 8121001c .!.$H..|.A...!.. + 2f94 7c0a4840 40800010 81210018 39400025 |.H@@....!..9@.% + 2fa4 99490000 81210018 39290001 91210018 .I...!..9)...!.. + 2fb4 81210050 89290000 2c090000 41820034 .!.P.)..,...A..4 + 2fc4 81410018 8121001c 7c0a4840 40800014 .A...!..|.H@@... + 2fd4 81210050 89490000 81210018 99490000 .!.P.I...!...I.. + 2fe4 81210018 39290001 91210018 48000370 .!..9)...!..H..p + 2ff4 81210050 3929ffff 91210050 48000360 .!.P9)...!.PH..` + 3004 60000000 81210030 2c09004c 40820090 `....!.0,..L@... + 3014 81210054 89290000 81410054 894a0000 .!.T.)...A.T.J.. + 3024 554a07fe 554a063e 7d4a4a14 5548063e UJ..UJ.>}JJ.UH.> + 3034 81410054 990a0000 28090006 41810030 .A.T....(...A..0 + 3044 81210054 81490008 81210054 89290000 .!.T.I...!.T.).. + 3054 39090002 5507063e 81010054 98e80000 9...U..>...T.... + 3064 5529103a 7d2a4a14 48000020 81210054 U).:}*J.H.. .!.T + 3074 81290004 39290007 55290038 39090008 .)..9)..U).89... + 3084 81410054 910a0004 81490000 81690004 .A.T.....I...i.. + 3094 91410008 9161000c 48000298 81210030 .A...a..H....!.0 + 30a4 2c09006c 40820088 81210054 89290000 ,..l@....!.T.).. + 30b4 28090007 41810030 81210054 81490008 (...A..0.!.T.I.. + 30c4 81210054 89290000 39090001 5507063e .!.T.)..9...U..> + 30d4 81010054 98e80000 5529103a 7d2a4a14 ...T....U).:}*J. + 30e4 48000018 81210054 81290004 39090004 H....!.T.)..9... + 30f4 81410054 910a0004 81290000 9121000c .A.T.....)...!.. + 3104 39200000 91210008 81210024 552907bc 9 ...!...!.$U).. + 3114 2c090000 4182021c 8121000c 9121000c ,...A....!...!.. + 3124 7d29fe70 91210008 48000208 81210030 }).p.!..H....!.0 + 3134 2c09005a 41820010 81210030 2c09007a ,..ZA....!.0,..z + 3144 40820068 81210054 89290000 28090007 @..h.!.T.)..(... + 3154 41810030 81210054 81490008 81210054 A..0.!.T.I...!.T + 3164 89290000 39090001 5507063e 81010054 .)..9...U..>...T + 3174 98e80000 5529103a 7d2a4a14 48000018 ....U).:}*J.H... + 3184 81210054 81290004 39090004 81410054 .!.T.)..9....A.T + 3194 910a0004 81290000 9121000c 39200000 .....)...!..9 .. + 31a4 91210008 4800018c 81210030 2c090074 .!..H....!.0,..t + 31b4 40820068 81210054 89290000 28090007 @..h.!.T.)..(... + 31c4 41810030 81210054 81490008 81210054 A..0.!.T.I...!.T + 31d4 89290000 39090001 5507063e 81010054 .)..9...U..>...T + 31e4 98e80000 5529103a 7d2a4a14 48000018 ....U).:}*J.H... + 31f4 81210054 81290004 39090004 81410054 .!.T.)..9....A.T + 3204 910a0004 81290000 9121000c 7d29fe70 .....)...!..}).p + 3214 91210008 4800011c 81210030 2c090068 .!..H....!.0,..h + 3224 40820090 81210054 89290000 28090007 @....!.T.)..(... + 3234 41810030 81210054 81490008 81210054 A..0.!.T.I...!.T + 3244 89290000 39090001 5507063e 81010054 .)..9...U..>...T + 3254 98e80000 5529103a 7d2a4a14 48000018 ....U).:}*J.H... + 3264 81210054 81290004 39090004 81410054 .!.T.)..9....A.T + 3274 910a0004 81290000 5529043e 9121000c .....)..U).>.!.. + 3284 39200000 91210008 81210024 552907bc 9 ...!...!.$U).. + 3294 2c090000 4182009c a121000e 7d290734 ,...A....!..}).4 + 32a4 9121000c 7d29fe70 91210008 48000084 .!..}).p.!..H... + 32b4 81210054 89290000 28090007 41810030 .!.T.)..(...A..0 + 32c4 81210054 81490008 81210054 89290000 .!.T.I...!.T.).. + 32d4 39090001 5507063e 81010054 98e80000 9...U..>...T.... + 32e4 5529103a 7d2a4a14 48000018 81210054 U).:}*J.H....!.T + 32f4 81290004 39090004 81410054 910a0004 .)..9....A.T.... + 3304 81290000 9121000c 39200000 91210008 .)...!..9 ...!.. + 3314 81210024 552907bc 2c090000 41820014 .!.$U)..,...A... + 3324 8121000c 9121000c 7d29fe70 91210008 .!...!..}).p.!.. + 3334 8141000c 81210024 8101002c 80e10028 .A...!.$...,...( + 3344 80c10014 7d455378 8081001c 80610018 ....}ESx.....a.. + 3354 4bffea09 7c691b78 91210018 81210050 K...|i.x.!...!.P + 3364 39290001 91210050 81210050 89290000 9)...!.P.!.P.).. + 3374 2c090000 4082f358 8121004c 2c090000 ,...@..X.!.L,... + 3384 41820034 81410018 8121001c 7c0a4840 A..4.A...!..|.H@ + 3394 40800014 81210018 39400000 99490000 @....!..9@...I.. + 33a4 48000014 8121001c 3929ffff 39400000 H....!..9)..9@.. + 33b4 99490000 81410018 81210048 7d295050 .I...A...!.H})PP + 33c4 7d234b78 80010064 7c0803a6 38210060 }#Kx...d|...8!.` + 33d4 4e800020 9421fff0 90610008 3d200001 N.. .!...a..= .. + 33e4 81410008 9149248c 60000000 38210010 .A...I$.`...8!.. + 33f4 4e800020 9421fff0 90610008 9081000c N.. .!...a...... + 3404 3d200001 81410008 91492490 3d200001 = ...A...I$.= .. + 3414 8141000c 91492494 60000000 38210010 .A...I$.`...8!.. + 3424 4e800020 9421fff0 7c0802a6 90010014 N.. .!..|....... + 3434 90610008 3d200001 8129248c 2c090000 .a..= ...)$.,... + 3444 41820020 3d200001 8129248c 81410008 A.. = ...)$..A.. + 3454 554a063e 7d435378 7d2903a6 4e800421 UJ.>}CSx})..N..! + 3464 81210008 7d234b78 80010014 7c0803a6 .!..}#Kx....|... + 3474 38210010 4e800020 9421fff0 7c0802a6 8!..N.. .!..|... + 3484 90010014 3d200001 81292494 2c090000 ....= ...)$.,... + 3494 4182fff4 3d200001 81292494 7d2903a6 A...= ...)$.}).. + 34a4 4e800421 7c691b78 2c090000 4182ffd8 N..!|i.x,...A... + 34b4 3d200001 81292490 7d2903a6 4e800421 = ...)$.})..N..! + 34c4 7c691b78 7d234b78 80010014 7c0803a6 |i.x}#Kx....|... + 34d4 38210010 4e800020 9421fff0 7c0802a6 8!..N.. .!..|... + 34e4 90010014 3d200001 81292494 2c090000 ....= ...)$.,... + 34f4 41820028 3d200001 81292494 7d2903a6 A..(= ...)$.}).. + 3504 4e800421 7c691b78 2c090000 4182000c N..!|i.x,...A... + 3514 39200001 48000008 39200000 7d234b78 9 ..H...9 ..}#Kx + 3524 80010014 7c0803a6 38210010 4e800020 ....|...8!..N.. + 3534 9421fff0 7c0802a6 90010014 90610008 .!..|........a.. + 3544 80610008 48000025 3860000a 4bfffed9 .a..H..%8`..K... + 3554 39200001 7d234b78 80010014 7c0803a6 9 ..}#Kx....|... + 3564 38210010 4e800020 9421fff0 7c0802a6 8!..N.. .!..|... + 3574 90010014 90610008 48000020 81210008 .....a..H.. .!.. + 3584 89290000 7d234b78 4bfffe9d 81210008 .)..}#KxK....!.. + 3594 39290001 91210008 81210008 89290000 9)...!...!...).. + 35a4 2c090000 4082ffd8 60000000 60000000 ,...@...`...`... + 35b4 80010014 7c0803a6 38210010 4e800020 ....|...8!..N.. + 35c4 9421fee0 7c0802a6 90010124 90610118 .!..|......$.a.. + 35d4 9081011c 3921000c 80c1011c 80a10118 ....9!.......... + 35e4 38800100 7d234b78 4bffebf9 7c691b78 8...}#KxK...|i.x + 35f4 91210008 3941000c 81210008 7d2a4a14 .!..9A...!..}*J. + 3604 39400000 99490000 3921000c 7d234b78 9@...I..9!..}#Kx + 3614 4bffff59 81210008 7d234b78 80010124 K..Y.!..}#Kx...$ + 3624 7c0803a6 38210120 4e800020 9421ff80 |...8!. N.. .!.. + 3634 7c0802a6 90010084 90610018 90810024 |........a.....$ + 3644 90a10028 90c1002c 90e10030 91010034 ...(...,...0...4 + 3654 91210038 9141003c 40860024 d8210040 .!.8.A.<@..$.!.@ + 3664 d8410048 d8610050 d8810058 d8a10060 .A.H.a.P...X...` + 3674 d8c10068 d8e10070 d9010078 39200001 ...h...p...x9 .. + 3684 9921000c 39200000 9921000d 39210088 .!..9 ...!..9!.. + 3694 91210010 39210020 91210014 3921000c .!..9!. .!..9!.. + 36a4 7d244b78 80610018 4bffff19 7c691b78 }$Kx.a..K...|i.x + 36b4 91210008 81210008 7d234b78 80010084 .!...!..}#Kx.... + 36c4 7c0803a6 38210080 4e800020 |...8!..N.. +Contents of section .data: + 12000 0001c000 00000000 00000000 00000000 ................ + 12010 00000000 00000000 00000000 00000000 ................ + 12020 696e666f 20746578 74006865 61646572 info text.header + 12030 20746578 74000000 00000000 00000000 text........... + 12040 00000000 5822c905 ffffffff 91b6d1a3 ....X".......... + 12050 ffffffff ffffffff ffffffff ffffffff ................ + 12060 ffffffff 7e11ee88 ffffffff 7fffffff ....~........... + 12070 ffffffff ffffffff 8c20bde6 ffffffff ......... ...... + 12080 76d0dadf 15111f42 ffffffff 36108e50 v......B....6..P + 12090 ffffffff ffffffff 328a0ced ffffffff ........2....... + 120a0 ffffffff af224c19 ffffffff ffffffff ....."L......... + 120b0 d624b27a ffffffff ffffffff ffffffff .$.z............ + 120c0 dbfd3628 89f0006e ffffffff ffffffff ..6(...n........ + 120d0 ffffffff 00001104 00010000 00000000 ................ + 120e0 0000000d 7c61cc14 7d230595 7ac37392 ....|a..}#..z.s. + 120f0 7e094c11 7e1cb115 7a338886 7c6004d1 ~.L.~...z3..|`.. + 12100 7e09b038 7c360591 7e2b00d1 60000000 ~..8|6..~+..`... + 12110 60000000 60000000 00010000 00010004 `...`........... + 12120 00010008 0001000c 00010010 00010014 ................ + 12130 00010018 0001001c 00010020 00010024 ........... ...$ + 12140 00010028 0001002c 00010030 48000014 ...(...,...0H... + 12150 60000000 60000000 60000000 60000000 `...`...`...`... + 12160 9023009c 802300a0 7c2903a6 382300a4 .#...#..|)..8#.. + 12170 384300d8 80810000 80a20000 90850000 8C.............. + 12180 38210004 38420004 4200ffec 3c804800 8!..8B..B...<.H. + 12190 60840006 90850000 80230094 7c3b03a6 `........#..|;.. + 121a0 80230098 7c3a03a6 80230080 7c2ff120 .#..|:...#..|/. + 121b0 80230084 7c2103a6 80230088 7c2903a6 .#..|!...#..|).. + 121c0 8023008c 7c2803a6 80230090 7c2fcba6 .#..|(...#..|/.. + 121d0 80030000 80230004 80430008 80830010 .....#...C...... + 121e0 80a30014 80c30018 80e3001c 81030020 ............... + 121f0 81230024 81430028 8163002c 81830030 .#.$.C.(.c.,...0 + 12200 81a30034 81c30038 81e3003c 82030040 ...4...8...<...@ + 12210 82230044 82430048 8263004c 82830050 .#.D.C.H.c.L...P + 12220 82a30054 82c30058 82e3005c 83030060 ...T...X...\...` + 12230 83230064 83430068 8363006c 83830070 .#.d.C.h.c.l...p + 12240 83a30074 83c30078 83e3007c 8063000c ...t...x...|.c.. + 12250 4c000064 4800000c 60000000 60000000 L..dH...`...`... + 12260 7c2fcba6 3c200001 60212340 90010000 |/..< ..`!#@.... + 12270 90410008 9061000c 90810010 90a10014 .A...a.......... + 12280 90c10018 90e1001c 91010020 91210024 ........... .!.$ + 12290 91410028 9161002c 91810030 91a10034 .A.(.a.,...0...4 + 122a0 91c10038 91e1003c 92010040 92210044 ...8...<...@.!.D + 122b0 92410048 9261004c 92810050 92a10054 .A.H.a.L...P...T + 122c0 92c10058 92e1005c 93010060 93210064 ...X...\...`.!.d + 122d0 93410068 9361006c 93810070 93a10074 .A.h.a.l...p...t + 122e0 93c10078 93e1007c 7c4fcaa6 90410004 ...x...||O...A.. + 122f0 7c400026 90410080 7c4102a6 90410084 |@.&.A..|A...A.. + 12300 7c4902a6 90410088 7c4802a6 9041008c |I...A..|H...A.. + 12310 7c4fcaa6 90410090 3c600001 60632040 |O...A..<`..`c @ + 12320 8023009c 3c600867 60635309 48000e13 .#..<`.g`cS.H... + 12330 60000000 60000000 60000000 60000000 `...`...`...`... + 12340 ffffffff ffffffff ffffffff ffffffff ................ + 12350 ffffffff ffffffff ffffffff ffffffff ................ + 12360 ffffffff ffffffff ffffffff ffffffff ................ + 12370 ffffffff ffffffff ffffffff ffffffff ................ + 12380 ffffffff ffffffff ffffffff ffffffff ................ + 12390 ffffffff ffffffff ffffffff ffffffff ................ + 123a0 ffffffff ffffffff ffffffff ffffffff ................ + 123b0 ffffffff ffffffff ffffffff ffffffff ................ + 123c0 ffffffff ffffffff ffffffff ffffffff ................ + 123d0 ffffffff 60000000 60000000 60000000 ....`...`...`... + 123e0 00000000 cd75f313 ffffffff 00000000 .....u.......... + 123f0 ffffffff ffffffff ffffffff ffffffff ................ + 12400 ffffffff 008a0c68 ffffffff 7fffffff .......h........ + 12410 ffffffff ffffffff 8c20bde6 ffffffff ......... ...... + 12420 08aebf68 80000001 ffffffff 00000000 ...h............ + 12430 ffffffff ffffffff 328a0ced ffffffff ........2....... + 12440 ffffffff af224c19 ffffffff ffffffff ....."L......... + 12450 d624b27a ffffffff ffffffff ffffffff .$.z............ + 12460 9bfd3628 98f0006e ffffffff ffffffff ..6(...n........ + 12470 ffffffff 00001104 00010038 ...........8 diff --git a/dev/src/test3_soc/test3 b/dev/src/test3_soc/test3 new file mode 120000 index 0000000..451e7de --- /dev/null +++ b/dev/src/test3_soc/test3 @@ -0,0 +1 @@ +../../sim/mem/test3 \ No newline at end of file