aboutsummaryrefslogtreecommitdiff
path: root/VexRiscv/src/test/cpp/raw
diff options
context:
space:
mode:
Diffstat (limited to 'VexRiscv/src/test/cpp/raw')
-rw-r--r--VexRiscv/src/test/cpp/raw/amo/.gitignore4
-rw-r--r--VexRiscv/src/test/cpp/raw/amo/build/amo.asm247
-rw-r--r--VexRiscv/src/test/cpp/raw/amo/build/amo.hex45
-rw-r--r--VexRiscv/src/test/cpp/raw/amo/makefile5
-rw-r--r--VexRiscv/src/test/cpp/raw/amo/src/crt.S174
-rw-r--r--VexRiscv/src/test/cpp/raw/amo/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/common/asm.mk89
-rw-r--r--VexRiscv/src/test/cpp/raw/dcache/.gitignore4
-rw-r--r--VexRiscv/src/test/cpp/raw/dcache/build/dcache.asm78
-rw-r--r--VexRiscv/src/test/cpp/raw/dcache/build/dcache.hex17
-rw-r--r--VexRiscv/src/test/cpp/raw/dcache/makefile3
-rw-r--r--VexRiscv/src/test/cpp/raw/dcache/src/crt.S75
-rw-r--r--VexRiscv/src/test/cpp/raw/dcache/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/deleg/.gitignore4
-rw-r--r--VexRiscv/src/test/cpp/raw/deleg/build/deleg.asm749
-rw-r--r--VexRiscv/src/test/cpp/raw/deleg/build/deleg.hex174
-rw-r--r--VexRiscv/src/test/cpp/raw/deleg/makefile3
-rw-r--r--VexRiscv/src/test/cpp/raw/deleg/src/crt.S399
-rw-r--r--VexRiscv/src/test/cpp/raw/deleg/src/encoding.h1471
-rw-r--r--VexRiscv/src/test/cpp/raw/deleg/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/fpu/.gitignore4
-rw-r--r--VexRiscv/src/test/cpp/raw/fpu/build/amo.asm247
-rw-r--r--VexRiscv/src/test/cpp/raw/fpu/build/amo.hex45
-rw-r--r--VexRiscv/src/test/cpp/raw/fpu/build/fpu.asm276
-rw-r--r--VexRiscv/src/test/cpp/raw/fpu/build/fpu.hex62
-rw-r--r--VexRiscv/src/test/cpp/raw/fpu/makefile5
-rw-r--r--VexRiscv/src/test/cpp/raw/fpu/src/crt.S193
-rw-r--r--VexRiscv/src/test/cpp/raw/fpu/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/icache/.gitignore4
-rw-r--r--VexRiscv/src/test/cpp/raw/icache/build/icache.asm51
-rw-r--r--VexRiscv/src/test/cpp/raw/icache/build/icache.hex11
-rw-r--r--VexRiscv/src/test/cpp/raw/icache/makefile3
-rw-r--r--VexRiscv/src/test/cpp/raw/icache/src/crt.S49
-rw-r--r--VexRiscv/src/test/cpp/raw/icache/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/lrsc/.gitignore4
-rw-r--r--VexRiscv/src/test/cpp/raw/lrsc/build/lrsc.asm180
-rw-r--r--VexRiscv/src/test/cpp/raw/lrsc/build/lrsc.hex40
-rw-r--r--VexRiscv/src/test/cpp/raw/lrsc/makefile5
-rw-r--r--VexRiscv/src/test/cpp/raw/lrsc/src/crt.S213
-rw-r--r--VexRiscv/src/test/cpp/raw/lrsc/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/machineCsr/.gitignore4
-rw-r--r--VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsr.asm155
-rw-r--r--VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsr.hex37
-rw-r--r--VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsrCompressed.asm155
-rw-r--r--VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsrCompressed.hex37
-rw-r--r--VexRiscv/src/test/cpp/raw/machineCsr/makefile11
-rw-r--r--VexRiscv/src/test/cpp/raw/machineCsr/src/crt.S157
-rw-r--r--VexRiscv/src/test/cpp/raw/machineCsr/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/mmu/.gitignore4
-rw-r--r--VexRiscv/src/test/cpp/raw/mmu/build/mmu.asm12430
-rw-r--r--VexRiscv/src/test/cpp/raw/mmu/build/mmu.hex3233
-rw-r--r--VexRiscv/src/test/cpp/raw/mmu/makefile3
-rw-r--r--VexRiscv/src/test/cpp/raw/mmu/src/crt.S526
-rw-r--r--VexRiscv/src/test/cpp/raw/mmu/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/pmp/build/pmp.asm258
-rwxr-xr-xVexRiscv/src/test/cpp/raw/pmp/build/pmp.elfbin0 -> 5776 bytes
-rw-r--r--VexRiscv/src/test/cpp/raw/pmp/build/pmp.hex58
-rw-r--r--VexRiscv/src/test/cpp/raw/pmp/build/pmp.map35
-rw-r--r--VexRiscv/src/test/cpp/raw/pmp/makefile3
-rw-r--r--VexRiscv/src/test/cpp/raw/pmp/src/crt.S269
-rw-r--r--VexRiscv/src/test/cpp/raw/pmp/src/ld16
-rw-r--r--VexRiscv/src/test/cpp/raw/smp/.gitignore6
-rw-r--r--VexRiscv/src/test/cpp/raw/smp/build/smp.asm441
-rwxr-xr-xVexRiscv/src/test/cpp/raw/smp/build/smp.binbin0 -> 1388 bytes
-rw-r--r--VexRiscv/src/test/cpp/raw/smp/makefile5
-rw-r--r--VexRiscv/src/test/cpp/raw/smp/src/crt.S287
-rw-r--r--VexRiscv/src/test/cpp/raw/smp/src/ld16
67 files changed, 23207 insertions, 0 deletions
diff --git a/VexRiscv/src/test/cpp/raw/amo/.gitignore b/VexRiscv/src/test/cpp/raw/amo/.gitignore
new file mode 100644
index 0000000..c12cb2c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/amo/.gitignore
@@ -0,0 +1,4 @@
+*.map
+*.v
+*.elf
+*.o \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/amo/build/amo.asm b/VexRiscv/src/test/cpp/raw/amo/build/amo.asm
new file mode 100644
index 0000000..d86b61c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/amo/build/amo.asm
@@ -0,0 +1,247 @@
+
+build/amo.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: 00100e13 li t3,1
+80000004: 00000097 auipc ra,0x0
+80000008: 27408093 addi ra,ra,628 # 80000278 <test1_data>
+8000000c: 02d00113 li sp,45
+80000010: 0820a1af amoswap.w gp,sp,(ra)
+80000014: 0000a203 lw tp,0(ra)
+80000018: 02d00a13 li s4,45
+8000001c: 224a1663 bne s4,tp,80000248 <fail>
+80000020: 00b00a13 li s4,11
+80000024: 223a1263 bne s4,gp,80000248 <fail>
+
+80000028 <test2>:
+80000028: 00200e13 li t3,2
+8000002c: 00000097 auipc ra,0x0
+80000030: 25008093 addi ra,ra,592 # 8000027c <test2_data>
+80000034: 03700113 li sp,55
+80000038: 0820a1af amoswap.w gp,sp,(ra)
+8000003c: 0000a203 lw tp,0(ra)
+80000040: 03700a13 li s4,55
+80000044: 204a1263 bne s4,tp,80000248 <fail>
+80000048: 01600a13 li s4,22
+8000004c: 1e3a1e63 bne s4,gp,80000248 <fail>
+
+80000050 <test3>:
+80000050: 00300e13 li t3,3
+80000054: 00000097 auipc ra,0x0
+80000058: 22c08093 addi ra,ra,556 # 80000280 <test3_data>
+8000005c: 04200113 li sp,66
+80000060: 0020a1af amoadd.w gp,sp,(ra)
+80000064: 0000a203 lw tp,0(ra)
+80000068: 08b00a13 li s4,139
+8000006c: 1c4a1e63 bne s4,tp,80000248 <fail>
+80000070: 04900a13 li s4,73
+80000074: 1c3a1a63 bne s4,gp,80000248 <fail>
+
+80000078 <test4>:
+80000078: 00400e13 li t3,4
+8000007c: 00000097 auipc ra,0x0
+80000080: 20808093 addi ra,ra,520 # 80000284 <test4_data>
+80000084: 05700113 li sp,87
+80000088: 2020a1af amoxor.w gp,sp,(ra)
+8000008c: 0000a203 lw tp,0(ra)
+80000090: 06d00a13 li s4,109
+80000094: 1a4a1a63 bne s4,tp,80000248 <fail>
+80000098: 03a00a13 li s4,58
+8000009c: 1a3a1663 bne s4,gp,80000248 <fail>
+
+800000a0 <test5>:
+800000a0: 00500e13 li t3,5
+800000a4: 00000097 auipc ra,0x0
+800000a8: 1e408093 addi ra,ra,484 # 80000288 <test5_data>
+800000ac: 02c00113 li sp,44
+800000b0: 6020a1af amoand.w gp,sp,(ra)
+800000b4: 0000a203 lw tp,0(ra)
+800000b8: 02800a13 li s4,40
+800000bc: 184a1663 bne s4,tp,80000248 <fail>
+800000c0: 03800a13 li s4,56
+800000c4: 183a1263 bne s4,gp,80000248 <fail>
+
+800000c8 <test6>:
+800000c8: 00600e13 li t3,6
+800000cc: 00000097 auipc ra,0x0
+800000d0: 1c008093 addi ra,ra,448 # 8000028c <test6_data>
+800000d4: 01800113 li sp,24
+800000d8: 4020a1af amoor.w gp,sp,(ra)
+800000dc: 0000a203 lw tp,0(ra)
+800000e0: 05b00a13 li s4,91
+800000e4: 164a1263 bne s4,tp,80000248 <fail>
+800000e8: 04b00a13 li s4,75
+800000ec: 143a1e63 bne s4,gp,80000248 <fail>
+
+800000f0 <test7>:
+800000f0: 00700e13 li t3,7
+800000f4: 00000097 auipc ra,0x0
+800000f8: 19c08093 addi ra,ra,412 # 80000290 <test7_data>
+800000fc: 01800113 li sp,24
+80000100: 8020a1af amomin.w gp,sp,(ra)
+80000104: 0000a203 lw tp,0(ra)
+80000108: 01800a13 li s4,24
+8000010c: 124a1e63 bne s4,tp,80000248 <fail>
+80000110: 03800a13 li s4,56
+80000114: 123a1a63 bne s4,gp,80000248 <fail>
+
+80000118 <test8>:
+80000118: 00800e13 li t3,8
+8000011c: 00000097 auipc ra,0x0
+80000120: 17808093 addi ra,ra,376 # 80000294 <test8_data>
+80000124: 05800113 li sp,88
+80000128: 8020a1af amomin.w gp,sp,(ra)
+8000012c: 0000a203 lw tp,0(ra)
+80000130: 05300a13 li s4,83
+80000134: 104a1a63 bne s4,tp,80000248 <fail>
+80000138: 05300a13 li s4,83
+8000013c: 103a1663 bne s4,gp,80000248 <fail>
+
+80000140 <test9>:
+80000140: 00900e13 li t3,9
+80000144: 00000097 auipc ra,0x0
+80000148: 15408093 addi ra,ra,340 # 80000298 <test9_data>
+8000014c: fca00113 li sp,-54
+80000150: 8020a1af amomin.w gp,sp,(ra)
+80000154: 0000a203 lw tp,0(ra)
+80000158: fca00a13 li s4,-54
+8000015c: 0e4a1663 bne s4,tp,80000248 <fail>
+80000160: 02100a13 li s4,33
+80000164: 0e3a1263 bne s4,gp,80000248 <fail>
+
+80000168 <test10>:
+80000168: 00a00e13 li t3,10
+8000016c: 00000097 auipc ra,0x0
+80000170: 13008093 addi ra,ra,304 # 8000029c <test10_data>
+80000174: 03400113 li sp,52
+80000178: 8020a1af amomin.w gp,sp,(ra)
+8000017c: 0000a203 lw tp,0(ra)
+80000180: fbf00a13 li s4,-65
+80000184: 0c4a1263 bne s4,tp,80000248 <fail>
+80000188: fbf00a13 li s4,-65
+8000018c: 0a3a1e63 bne s4,gp,80000248 <fail>
+
+80000190 <test11>:
+80000190: 00b00e13 li t3,11
+80000194: 00000097 auipc ra,0x0
+80000198: 10c08093 addi ra,ra,268 # 800002a0 <test11_data>
+8000019c: fcc00113 li sp,-52
+800001a0: a020a1af amomax.w gp,sp,(ra)
+800001a4: 0000a203 lw tp,0(ra)
+800001a8: fcc00a13 li s4,-52
+800001ac: 084a1e63 bne s4,tp,80000248 <fail>
+800001b0: fa900a13 li s4,-87
+800001b4: 083a1a63 bne s4,gp,80000248 <fail>
+
+800001b8 <test12>:
+800001b8: 00c00e13 li t3,12
+800001bc: 00000097 auipc ra,0x0
+800001c0: 0e808093 addi ra,ra,232 # 800002a4 <test12_data>
+800001c4: 03400113 li sp,52
+800001c8: a020a1af amomax.w gp,sp,(ra)
+800001cc: 0000a203 lw tp,0(ra)
+800001d0: 03400a13 li s4,52
+800001d4: 064a1a63 bne s4,tp,80000248 <fail>
+800001d8: fc900a13 li s4,-55
+800001dc: 063a1663 bne s4,gp,80000248 <fail>
+
+800001e0 <test13>:
+800001e0: 00d00e13 li t3,13
+800001e4: 00000097 auipc ra,0x0
+800001e8: 0c408093 addi ra,ra,196 # 800002a8 <test13_data>
+800001ec: ffff0137 lui sp,0xffff0
+800001f0: c020a1af amominu.w gp,sp,(ra)
+800001f4: 0000a203 lw tp,0(ra)
+800001f8: ffff0a37 lui s4,0xffff0
+800001fc: 044a1663 bne s4,tp,80000248 <fail>
+80000200: ffff0a37 lui s4,0xffff0
+80000204: 004a0a13 addi s4,s4,4 # ffff0004 <test14_data+0x7ffefd58>
+80000208: 043a1063 bne s4,gp,80000248 <fail>
+8000020c: 0480006f j 80000254 <pass>
+
+80000210 <test14>:
+80000210: 00e00e13 li t3,14
+80000214: 00000097 auipc ra,0x0
+80000218: 09808093 addi ra,ra,152 # 800002ac <test14_data>
+8000021c: ffff0137 lui sp,0xffff0
+80000220: 00c10113 addi sp,sp,12 # ffff000c <test14_data+0x7ffefd60>
+80000224: e020a1af amomaxu.w gp,sp,(ra)
+80000228: 0000a203 lw tp,0(ra)
+8000022c: ffff0a37 lui s4,0xffff0
+80000230: 00ca0a13 addi s4,s4,12 # ffff000c <test14_data+0x7ffefd60>
+80000234: 004a1a63 bne s4,tp,80000248 <fail>
+80000238: ffff0a37 lui s4,0xffff0
+8000023c: 005a0a13 addi s4,s4,5 # ffff0005 <test14_data+0x7ffefd59>
+80000240: 003a1463 bne s4,gp,80000248 <fail>
+80000244: 0100006f j 80000254 <pass>
+
+80000248 <fail>:
+80000248: f0100137 lui sp,0xf0100
+8000024c: f2410113 addi sp,sp,-220 # f00fff24 <test14_data+0x700ffc78>
+80000250: 01c12023 sw t3,0(sp)
+
+80000254 <pass>:
+80000254: f0100137 lui sp,0xf0100
+80000258: f2010113 addi sp,sp,-224 # f00fff20 <test14_data+0x700ffc74>
+8000025c: 00012023 sw zero,0(sp)
+80000260: 00000013 nop
+80000264: 00000013 nop
+80000268: 00000013 nop
+8000026c: 00000013 nop
+80000270: 00000013 nop
+80000274: 00000013 nop
+
+80000278 <test1_data>:
+80000278: 0000000b 0xb
+
+8000027c <test2_data>:
+8000027c: 0016 c.slli zero,0x5
+ ...
+
+80000280 <test3_data>:
+80000280: 0049 c.nop 18
+ ...
+
+80000284 <test4_data>:
+80000284: 003a c.slli zero,0xe
+ ...
+
+80000288 <test5_data>:
+80000288: 0038 addi a4,sp,8
+ ...
+
+8000028c <test6_data>:
+8000028c: 0000004b fnmsub.s ft0,ft0,ft0,ft0,rne
+
+80000290 <test7_data>:
+80000290: 0038 addi a4,sp,8
+ ...
+
+80000294 <test8_data>:
+80000294: 00000053 fadd.s ft0,ft0,ft0,rne
+
+80000298 <test9_data>:
+80000298: 0021 c.nop 8
+ ...
+
+8000029c <test10_data>:
+8000029c: ffffffbf 0xffffffbf
+
+800002a0 <test11_data>:
+800002a0: ffa9 bnez a5,800001fa <test13+0x1a>
+800002a2: ffff 0xffff
+
+800002a4 <test12_data>:
+800002a4: ffc9 bnez a5,8000023e <test14+0x2e>
+800002a6: ffff 0xffff
+
+800002a8 <test13_data>:
+800002a8: 0004 0x4
+800002aa: ffff 0xffff
+
+800002ac <test14_data>:
+800002ac: 0005 c.nop 1
+800002ae: ffff 0xffff
diff --git a/VexRiscv/src/test/cpp/raw/amo/build/amo.hex b/VexRiscv/src/test/cpp/raw/amo/build/amo.hex
new file mode 100644
index 0000000..74d3567
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/amo/build/amo.hex
@@ -0,0 +1,45 @@
+:0200000480007A
+:10000000130E100097000000938040271301D002C8
+:10001000AFA1200803A20000130AD00263164A22EF
+:10002000130AB00063123A22130E2000970000005A
+:100030009380002513017003AFA1200803A20000E4
+:10004000130A700363124A20130A6001631E3A1EEA
+:10005000130E3000970000009380C022130120048B
+:10006000AFA1200003A20000130AB008631E4A1CBF
+:10007000130A9004631A3A1C130E40009700000004
+:100080009380802013017005AFA1202003A20000FF
+:10009000130AD006631A4A1A130AA00363163A1AFF
+:1000A000130E5000970000009380401E1301C00201
+:1000B000AFA1206003A20000130A800263164A1851
+:1000C000130A800363123A18130E600097000000B1
+:1000D0009380001C13018001AFA1204003A2000007
+:1000E000130AB00563124A16130AB004631E3A14C9
+:1000F000130E7000970000009380C0191301800157
+:10010000AFA1208003A20000130A8001631E4A12DF
+:10011000130A8003631A3A12130E8000970000003E
+:100120009380801713018005AFA1208003A20000F7
+:10013000130A3005631A4A10130A300563163A1081
+:10014000130E900097000000938040151301A0FC4F
+:10015000AFA1208003A20000130AA0FC63164A0E80
+:10016000130A100263123A0E130EA000970000004B
+:100170009380001313014003AFA1208003A200006D
+:10018000130AF0FB63124A0C130AF0FB631E3A0ACF
+:10019000130EB000970000009380C0101301C0FC44
+:1001A000AFA120A003A20000130AC0FC631E4A08EE
+:1001B000130A90FA631A3A08130EC0009700000061
+:1001C0009380800E13014003AFA120A003A2000082
+:1001D000130A4003631A4A06130A90FC63163A0690
+:1001E000130ED000970000009380400C3701FFFFF2
+:1001F000AFA120C003A20000370AFFFF63164A0424
+:10020000370AFFFF130A4A0063103A046F008004A4
+:10021000130EE00097000000938080093701FFFF74
+:100220001301C100AFA120E003A20000370AFFFFC5
+:10023000130ACA00631A4A00370AFFFF130A5A005A
+:1002400063143A006F000001370110F0130141F20E
+:100250002320C101370110F0130101F22320010016
+:100260001300000013000000130000001300000042
+:1002700013000000130000000B0000001600000037
+:10028000490000003A000000380000004B00000068
+:10029000380000005300000021000000BFFFFFFFF6
+:1002A000A9FFFFFFC9FFFFFF0400FFFF0500FFFFDD
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/amo/makefile b/VexRiscv/src/test/cpp/raw/amo/makefile
new file mode 100644
index 0000000..6e9afc5
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/amo/makefile
@@ -0,0 +1,5 @@
+PROJ_NAME=amo
+
+ATOMIC=yes
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/amo/src/crt.S b/VexRiscv/src/test/cpp/raw/amo/src/crt.S
new file mode 100644
index 0000000..5696f1d
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/amo/src/crt.S
@@ -0,0 +1,174 @@
+.globl _star
+#define TEST_ID x28
+
+_start:
+
+#define assert(reg, value) \
+ li x20, value; \
+ bne x20, reg, fail;
+
+test1:
+ li TEST_ID, 1
+ la x1, test1_data
+ li x2, 45
+ amoswap.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 45)
+ assert(x3, 11)
+
+test2:
+ li TEST_ID, 2
+ la x1, test2_data
+ li x2, 55
+ amoswap.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 55)
+ assert(x3, 22)
+
+
+test3:
+ li TEST_ID,3
+ la x1, test3_data
+ li x2, 66
+ amoadd.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 66+73)
+ assert(x3, 73)
+
+test4:
+ li TEST_ID,4
+ la x1, test4_data
+ li x2, 87
+ amoxor.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 87^58)
+ assert(x3, 58)
+
+test5:
+ li TEST_ID,5
+ la x1, test5_data
+ li x2, 44
+ amoand.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 44 & 56)
+ assert(x3, 56)
+
+test6:
+ li TEST_ID,6
+ la x1, test6_data
+ li x2, 24
+ amoor.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 24 | 75)
+ assert(x3, 75)
+
+test7:
+ li TEST_ID,7
+ la x1, test7_data
+ li x2, 24
+ amomin.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 24)
+ assert(x3, 56)
+
+
+test8:
+ li TEST_ID,8
+ la x1, test8_data
+ li x2, 88
+ amomin.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 83)
+ assert(x3, 83)
+
+test9:
+ li TEST_ID,9
+ la x1, test9_data
+ li x2, -54
+ amomin.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, -54)
+ assert(x3, 33)
+
+test10:
+ li TEST_ID,10
+ la x1, test10_data
+ li x2, 52
+ amomin.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, -65)
+ assert(x3, -65)
+
+test11:
+ li TEST_ID,11
+ la x1, test11_data
+ li x2, -52
+ amomax.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, -52)
+ assert(x3, -87)
+
+test12:
+ li TEST_ID,12
+ la x1, test12_data
+ li x2, 52
+ amomax.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 52)
+ assert(x3, -55)
+
+
+test13:
+ li TEST_ID,13
+ la x1, test13_data
+ li x2, 0xFFFF0000
+ amominu.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 0xFFFF0000)
+ assert(x3, 0xFFFF0004)
+
+ j pass
+
+
+test14:
+ li TEST_ID,14
+ la x1, test14_data
+ li x2, 0xFFFF000C
+ amomaxu.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 0xFFFF000C)
+ assert(x3, 0xFFFF0005)
+
+ j pass
+
+
+fail:
+ li x2, 0xF00FFF24
+ sw TEST_ID, 0(x2)
+
+pass:
+ li x2, 0xF00FFF20
+ sw x0, 0(x2)
+
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+
+
+test1_data: .word 11
+test2_data: .word 22
+test3_data: .word 73
+test4_data: .word 58
+test5_data: .word 56
+test6_data: .word 75
+test7_data: .word 56
+test8_data: .word 83
+test9_data: .word 33
+test10_data: .word -65
+test11_data: .word -87
+test12_data: .word -55
+test13_data: .word 0xFFFF0004
+test14_data: .word 0xFFFF0005 \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/amo/src/ld b/VexRiscv/src/test/cpp/raw/amo/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/amo/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/common/asm.mk b/VexRiscv/src/test/cpp/raw/common/asm.mk
new file mode 100644
index 0000000..92b51ce
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/common/asm.mk
@@ -0,0 +1,89 @@
+
+RISCV_PATH?=/opt/riscv/
+RISCV_NAME = riscv64-unknown-elf
+RISCV_OBJCOPY = $(RISCV_PATH)/bin/$(RISCV_NAME)-objcopy
+RISCV_OBJDUMP = $(RISCV_PATH)/bin/$(RISCV_NAME)-objdump
+RISCV_CLIB=$(RISCV_PATH)$(RISCV_NAME)/lib/
+RISCV_CC=$(RISCV_PATH)/bin/$(RISCV_NAME)-gcc
+LDSCRIPT=src/ld
+
+MABI=ilp32
+MARCH := rv32i
+ifeq ($(MULDIV),yes)
+ MARCH := $(MARCH)m
+endif
+ifeq ($(ATOMIC),yes)
+ MARCH := $(MARCH)a
+endif
+ifeq ($(COMPRESSED),yes)
+ MARCH := $(MARCH)c
+endif
+ifeq ($(FLOATING),yes)
+ MARCH := $(MARCH)fd
+endif
+
+CFLAGS += -march=$(MARCH) -mabi=$(MABI)
+LDFLAGS += -march=$(MARCH) -mabi=$(MABI)
+
+
+
+SRCS = $(wildcard src/*.c) \
+ $(wildcard src/*.cpp) \
+ $(wildcard src/*.S)
+
+
+CFLAGS += -static
+LDFLAGS += -e_start -T $(LDSCRIPT) -nostartfiles -Wl,-Map,$(OBJDIR)/$(PROJ_NAME).map -Wl,--print-memory-usage
+OBJDIR = build
+OBJS := $(SRCS)
+OBJS := $(OBJS:.c=.o)
+OBJS := $(OBJS:.cpp=.o)
+OBJS := $(OBJS:.S=.o)
+OBJS := $(addprefix $(OBJDIR)/,$(OBJS))
+
+
+
+all: $(OBJDIR)/$(PROJ_NAME).elf $(OBJDIR)/$(PROJ_NAME).hex $(OBJDIR)/$(PROJ_NAME).asm $(OBJDIR)/$(PROJ_NAME).bin
+ @echo "done"
+
+$(OBJDIR)/%.elf: $(OBJS) | $(OBJDIR)
+ $(RISCV_CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS)
+
+%.hex: %.elf
+ $(RISCV_OBJCOPY) -O ihex $^ $@
+
+%.bin: %.elf
+ $(RISCV_OBJCOPY) -O binary $^ $@
+
+%.v: %.elf
+ $(RISCV_OBJCOPY) -O verilog $^ $@
+
+%.asm: %.elf
+ $(RISCV_OBJDUMP) -S -d $^ > $@
+
+$(OBJDIR)/%.o: %.c
+ mkdir -p $(dir $@)
+ $(RISCV_CC) -c $(CFLAGS) $(INC) -o $@ $^
+
+$(OBJDIR)/%.o: %.cpp
+ mkdir -p $(dir $@)
+ $(RISCV_CC) -c $(CFLAGS) $(INC) -o $@ $^
+
+$(OBJDIR)/%.o: %.S
+ mkdir -p $(dir $@)
+ $(RISCV_CC) -c $(CFLAGS) -o $@ $^ -D__ASSEMBLY__=1
+
+$(OBJDIR):
+ mkdir -p $@
+
+clean:
+ rm -f $(OBJDIR)/$(PROJ_NAME).elf
+ rm -f $(OBJDIR)/$(PROJ_NAME).hex
+ rm -f $(OBJDIR)/$(PROJ_NAME).map
+ rm -f $(OBJDIR)/$(PROJ_NAME).v
+ rm -f $(OBJDIR)/$(PROJ_NAME).asm
+ find $(OBJDIR) -type f -name '*.o' -print0 | xargs -0 -r rm
+
+.SECONDARY: $(OBJS)
+
+
diff --git a/VexRiscv/src/test/cpp/raw/dcache/.gitignore b/VexRiscv/src/test/cpp/raw/dcache/.gitignore
new file mode 100644
index 0000000..c12cb2c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/dcache/.gitignore
@@ -0,0 +1,4 @@
+*.map
+*.v
+*.elf
+*.o \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/dcache/build/dcache.asm b/VexRiscv/src/test/cpp/raw/dcache/build/dcache.asm
new file mode 100644
index 0000000..202a1e6
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/dcache/build/dcache.asm
@@ -0,0 +1,78 @@
+
+build/dcache.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: 00000097 auipc ra,0x0
+80000004: 0b408093 addi ra,ra,180 # 800000b4 <fail>
+
+80000008 <test1>:
+80000008: 00100e13 li t3,1
+8000000c: 00100093 li ra,1
+80000010: 00300113 li sp,3
+80000014: 00208093 addi ra,ra,2
+80000018: 08209e63 bne ra,sp,800000b4 <fail>
+
+8000001c <test2>:
+8000001c: 00200e13 li t3,2
+80000020: f56700b7 lui ra,0xf5670
+80000024: 900ff137 lui sp,0x900ff
+80000028: 40000313 li t1,1024
+
+8000002c <test2_repeat>:
+8000002c: 00100193 li gp,1
+80000030: 00200293 li t0,2
+80000034: 006303b3 add t2,t1,t1
+80000038: 007181b3 add gp,gp,t2
+8000003c: 007282b3 add t0,t0,t2
+80000040: 00312023 sw gp,0(sp) # 900ff000 <pass+0x100fef40>
+80000044: 0000a023 sw zero,0(ra) # f5670000 <pass+0x7566ff40>
+80000048: 00012203 lw tp,0(sp)
+8000004c: 06429463 bne t0,tp,800000b4 <fail>
+80000050: ffc30313 addi t1,t1,-4
+80000054: 01008093 addi ra,ra,16
+80000058: 01010113 addi sp,sp,16
+8000005c: 0000500f 0x500f
+80000060: fc0316e3 bnez t1,8000002c <test2_repeat>
+
+80000064 <test3>:
+80000064: 00300e13 li t3,3
+80000068: f56700b7 lui ra,0xf5670
+8000006c: 900ff137 lui sp,0x900ff
+80000070: 40000313 li t1,1024
+
+80000074 <test3_repeat>:
+80000074: 00200193 li gp,2
+80000078: 00300293 li t0,3
+8000007c: 006303b3 add t2,t1,t1
+80000080: 007181b3 add gp,gp,t2
+80000084: 007282b3 add t0,t0,t2
+80000088: 00012203 lw tp,0(sp) # 900ff000 <pass+0x100fef40>
+8000008c: 00312023 sw gp,0(sp)
+80000090: 0000a023 sw zero,0(ra) # f5670000 <pass+0x7566ff40>
+80000094: 0000500f 0x500f
+80000098: 00012203 lw tp,0(sp)
+8000009c: 00429c63 bne t0,tp,800000b4 <fail>
+800000a0: ffc30313 addi t1,t1,-4
+800000a4: 01008093 addi ra,ra,16
+800000a8: 01010113 addi sp,sp,16
+800000ac: fc0314e3 bnez t1,80000074 <test3_repeat>
+800000b0: 0100006f j 800000c0 <pass>
+
+800000b4 <fail>:
+800000b4: f0100137 lui sp,0xf0100
+800000b8: f2410113 addi sp,sp,-220 # f00fff24 <pass+0x700ffe64>
+800000bc: 01c12023 sw t3,0(sp)
+
+800000c0 <pass>:
+800000c0: f0100137 lui sp,0xf0100
+800000c4: f2010113 addi sp,sp,-224 # f00fff20 <pass+0x700ffe60>
+800000c8: 00012023 sw zero,0(sp)
+800000cc: 00000013 nop
+800000d0: 00000013 nop
+800000d4: 00000013 nop
+800000d8: 00000013 nop
+800000dc: 00000013 nop
+800000e0: 00000013 nop
diff --git a/VexRiscv/src/test/cpp/raw/dcache/build/dcache.hex b/VexRiscv/src/test/cpp/raw/dcache/build/dcache.hex
new file mode 100644
index 0000000..2bc8fe9
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/dcache/build/dcache.hex
@@ -0,0 +1,17 @@
+:0200000480007A
+:10000000970000009380400B130E10009300100027
+:100010001301300093802000639E2008130E2000FF
+:10002000B70067F537F10F901303004093011000FC
+:1000300093022000B3036300B3817100B3827200A6
+:100040002320310023A00000032201006394420614
+:100050001303C3FF93800001130101010F5000003F
+:10006000E31603FC130E3000B70067F537F10F906D
+:10007000130300409301200093023000B303630098
+:10008000B3817100B382720003220100232031008A
+:1000900023A000000F50000003220100639C4200D7
+:1000A0001303C3FF9380000113010101E31403FC58
+:1000B0006F000001370110F0130141F22320C1014C
+:1000C000370110F0130101F223200100130000009A
+:1000D00013000000130000001300000013000000D4
+:0400E0001300000009
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/dcache/makefile b/VexRiscv/src/test/cpp/raw/dcache/makefile
new file mode 100644
index 0000000..5ebb942
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/dcache/makefile
@@ -0,0 +1,3 @@
+PROJ_NAME=dcache
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/dcache/src/crt.S b/VexRiscv/src/test/cpp/raw/dcache/src/crt.S
new file mode 100644
index 0000000..054b1dd
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/dcache/src/crt.S
@@ -0,0 +1,75 @@
+.globl _star
+#define TEST_ID x28
+
+_start:
+ la x1, fail
+ //csrw mtvec, x1
+
+test1: //Dummy test
+ li TEST_ID, 1
+ li x1, 1
+ li x2, 3
+ addi x1, x1, 2
+ bne x1, x2, fail
+
+test2: //No invalidate, without load => new one
+ li TEST_ID, 2
+ li x1, 0xF5670000
+ li x2, 0x900FF000
+ li x6, 4096/4
+test2_repeat:
+ la x3, 1
+ la x5, 2
+ add x7, x6, x6
+ add x3, x3, x7
+ add x5, x5, x7
+ sw x3, 0(x2)
+ sw x0, 0(x1)
+ lw x4, 0(x2)
+ bne x5,x4, fail
+ addi x6, x6, -4
+ addi x1, x1, 16
+ addi x2, x2, 16
+.word 0x000500F // dcache flush
+ bnez x6, test2_repeat
+
+test3: //with invalidate, with preload
+ li TEST_ID, 3
+ li x1, 0xF5670000
+ li x2, 0x900FF000
+ li x6, 4096/4
+test3_repeat:
+ la x3, 2
+ la x5, 3
+ add x7, x6, x6
+ add x3, x3, x7
+ add x5, x5, x7
+ lw x4, 0(x2)
+ sw x3, 0(x2)
+ sw x0, 0(x1)
+.word 0x000500F // dcache flush
+ lw x4, 0(x2)
+ bne x5,x4, fail
+ addi x6, x6, -4
+ addi x1, x1, 16
+ addi x2, x2, 16
+ bnez x6, test3_repeat
+
+
+
+ j pass
+
+fail:
+ li x2, 0xF00FFF24
+ sw TEST_ID, 0(x2)
+
+pass:
+ li x2, 0xF00FFF20
+ sw x0, 0(x2)
+
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
diff --git a/VexRiscv/src/test/cpp/raw/dcache/src/ld b/VexRiscv/src/test/cpp/raw/dcache/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/dcache/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/deleg/.gitignore b/VexRiscv/src/test/cpp/raw/deleg/.gitignore
new file mode 100644
index 0000000..c12cb2c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/deleg/.gitignore
@@ -0,0 +1,4 @@
+*.map
+*.v
+*.elf
+*.o \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/deleg/build/deleg.asm b/VexRiscv/src/test/cpp/raw/deleg/build/deleg.asm
new file mode 100644
index 0000000..e64c374
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/deleg/build/deleg.asm
@@ -0,0 +1,749 @@
+
+build/deleg.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: 00100e93 li t4,1
+80000004: 00001097 auipc ra,0x1
+80000008: a3c08093 addi ra,ra,-1476 # 80000a40 <mtrap>
+8000000c: 30509073 csrw mtvec,ra
+80000010: 00001097 auipc ra,0x1
+80000014: a6808093 addi ra,ra,-1432 # 80000a78 <strap>
+80000018: 10509073 csrw stvec,ra
+8000001c: f00110b7 lui ra,0xf0011
+80000020: 00000113 li sp,0
+80000024: 0020a023 sw sp,0(ra) # f0011000 <strap+0x70010588>
+80000028: 00000013 nop
+8000002c: 00000013 nop
+80000030: 00000013 nop
+80000034: 00000013 nop
+80000038: 00000013 nop
+8000003c: 00000013 nop
+80000040: 00000013 nop
+80000044: 00000013 nop
+
+80000048 <test1>:
+80000048: 00100e13 li t3,1
+8000004c: 00000f17 auipc t5,0x0
+80000050: 00cf0f13 addi t5,t5,12 # 80000058 <test2>
+80000054: 00000073 ecall
+
+80000058 <test2>:
+80000058: 00200e13 li t3,2
+8000005c: 000020b7 lui ra,0x2
+80000060: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000064: 00000113 li sp,0
+80000068: 3000b073 csrc mstatus,ra
+8000006c: 30012073 csrs mstatus,sp
+80000070: 00000097 auipc ra,0x0
+80000074: 01408093 addi ra,ra,20 # 80000084 <test2+0x2c>
+80000078: 34109073 csrw mepc,ra
+8000007c: 30200073 mret
+80000080: 1a90006f j 80000a28 <fail>
+80000084: 00000f17 auipc t5,0x0
+80000088: 024f0f13 addi t5,t5,36 # 800000a8 <test4>
+8000008c: 00000073 ecall
+80000090: 1990006f j 80000a28 <fail>
+
+80000094 <test3>:
+80000094: 00300e13 li t3,3
+80000098: 00000f17 auipc t5,0x0
+8000009c: 010f0f13 addi t5,t5,16 # 800000a8 <test4>
+800000a0: 00102083 lw ra,1(zero) # 1 <_start-0x7fffffff>
+800000a4: 1850006f j 80000a28 <fail>
+
+800000a8 <test4>:
+800000a8: 00400e13 li t3,4
+800000ac: 000020b7 lui ra,0x2
+800000b0: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+800000b4: 00001137 lui sp,0x1
+800000b8: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800>
+800000bc: 3000b073 csrc mstatus,ra
+800000c0: 30012073 csrs mstatus,sp
+800000c4: 00000097 auipc ra,0x0
+800000c8: 01408093 addi ra,ra,20 # 800000d8 <test4+0x30>
+800000cc: 34109073 csrw mepc,ra
+800000d0: 30200073 mret
+800000d4: 1550006f j 80000a28 <fail>
+800000d8: 00000f17 auipc t5,0x0
+800000dc: 010f0f13 addi t5,t5,16 # 800000e8 <test5>
+800000e0: 00102083 lw ra,1(zero) # 1 <_start-0x7fffffff>
+800000e4: 1450006f j 80000a28 <fail>
+
+800000e8 <test5>:
+800000e8: 00500e13 li t3,5
+800000ec: 000020b7 lui ra,0x2
+800000f0: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+800000f4: 00000113 li sp,0
+800000f8: 3000b073 csrc mstatus,ra
+800000fc: 30012073 csrs mstatus,sp
+80000100: 00000097 auipc ra,0x0
+80000104: 01408093 addi ra,ra,20 # 80000114 <test5+0x2c>
+80000108: 34109073 csrw mepc,ra
+8000010c: 30200073 mret
+80000110: 1190006f j 80000a28 <fail>
+80000114: 00000f17 auipc t5,0x0
+80000118: 010f0f13 addi t5,t5,16 # 80000124 <test6>
+8000011c: 00102083 lw ra,1(zero) # 1 <_start-0x7fffffff>
+80000120: 1090006f j 80000a28 <fail>
+
+80000124 <test6>:
+80000124: 00600e13 li t3,6
+80000128: 01000093 li ra,16
+8000012c: 30209073 csrw medeleg,ra
+
+80000130 <test7>:
+80000130: 00700e13 li t3,7
+80000134: 00000f17 auipc t5,0x0
+80000138: 010f0f13 addi t5,t5,16 # 80000144 <test8>
+8000013c: 00102083 lw ra,1(zero) # 1 <_start-0x7fffffff>
+80000140: 0e90006f j 80000a28 <fail>
+
+80000144 <test8>:
+80000144: 00800e13 li t3,8
+80000148: 00000f17 auipc t5,0x0
+8000014c: 03cf0f13 addi t5,t5,60 # 80000184 <test9>
+80000150: 000020b7 lui ra,0x2
+80000154: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000158: 00001137 lui sp,0x1
+8000015c: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800>
+80000160: 3000b073 csrc mstatus,ra
+80000164: 30012073 csrs mstatus,sp
+80000168: 00000097 auipc ra,0x0
+8000016c: 01408093 addi ra,ra,20 # 8000017c <test8+0x38>
+80000170: 34109073 csrw mepc,ra
+80000174: 30200073 mret
+80000178: 0b10006f j 80000a28 <fail>
+8000017c: 00102083 lw ra,1(zero) # 1 <_start-0x7fffffff>
+80000180: 0a90006f j 80000a28 <fail>
+
+80000184 <test9>:
+80000184: 00900e13 li t3,9
+80000188: 00000f17 auipc t5,0x0
+8000018c: 038f0f13 addi t5,t5,56 # 800001c0 <test10>
+80000190: 000020b7 lui ra,0x2
+80000194: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000198: 00000113 li sp,0
+8000019c: 3000b073 csrc mstatus,ra
+800001a0: 30012073 csrs mstatus,sp
+800001a4: 00000097 auipc ra,0x0
+800001a8: 01408093 addi ra,ra,20 # 800001b8 <test9+0x34>
+800001ac: 34109073 csrw mepc,ra
+800001b0: 30200073 mret
+800001b4: 0750006f j 80000a28 <fail>
+800001b8: 00102083 lw ra,1(zero) # 1 <_start-0x7fffffff>
+800001bc: 06d0006f j 80000a28 <fail>
+
+800001c0 <test10>:
+800001c0: 00a00e13 li t3,10
+800001c4: 00000f17 auipc t5,0x0
+800001c8: 07cf0f13 addi t5,t5,124 # 80000240 <test11>
+800001cc: f00110b7 lui ra,0xf0011
+800001d0: 00000113 li sp,0
+800001d4: 0020a023 sw sp,0(ra) # f0011000 <strap+0x70010588>
+800001d8: 00000013 nop
+800001dc: 00000013 nop
+800001e0: 00000013 nop
+800001e4: 00000013 nop
+800001e8: 00000013 nop
+800001ec: 00000013 nop
+800001f0: 00000013 nop
+800001f4: 00000013 nop
+800001f8: 00800093 li ra,8
+800001fc: 30009073 csrw mstatus,ra
+80000200: 000010b7 lui ra,0x1
+80000204: 80008093 addi ra,ra,-2048 # 800 <_start-0x7ffff800>
+80000208: 30409073 csrw mie,ra
+8000020c: f00110b7 lui ra,0xf0011
+80000210: 00100113 li sp,1
+80000214: 0020a023 sw sp,0(ra) # f0011000 <strap+0x70010588>
+80000218: 00000013 nop
+8000021c: 00000013 nop
+80000220: 00000013 nop
+80000224: 00000013 nop
+80000228: 00000013 nop
+8000022c: 00000013 nop
+80000230: 00000013 nop
+80000234: 00000013 nop
+80000238: 10500073 wfi
+8000023c: 7ec0006f j 80000a28 <fail>
+
+80000240 <test11>:
+80000240: 00b00e13 li t3,11
+80000244: 00000f17 auipc t5,0x0
+80000248: 0a8f0f13 addi t5,t5,168 # 800002ec <test12>
+8000024c: f00110b7 lui ra,0xf0011
+80000250: 00000113 li sp,0
+80000254: 0020a023 sw sp,0(ra) # f0011000 <strap+0x70010588>
+80000258: 00000013 nop
+8000025c: 00000013 nop
+80000260: 00000013 nop
+80000264: 00000013 nop
+80000268: 00000013 nop
+8000026c: 00000013 nop
+80000270: 00000013 nop
+80000274: 00000013 nop
+80000278: 00800093 li ra,8
+8000027c: 30009073 csrw mstatus,ra
+80000280: 000010b7 lui ra,0x1
+80000284: 80008093 addi ra,ra,-2048 # 800 <_start-0x7ffff800>
+80000288: 30409073 csrw mie,ra
+8000028c: 000020b7 lui ra,0x2
+80000290: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000294: 00001137 lui sp,0x1
+80000298: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800>
+8000029c: 3000b073 csrc mstatus,ra
+800002a0: 30012073 csrs mstatus,sp
+800002a4: 00000097 auipc ra,0x0
+800002a8: 01408093 addi ra,ra,20 # 800002b8 <test11+0x78>
+800002ac: 34109073 csrw mepc,ra
+800002b0: 30200073 mret
+800002b4: 7740006f j 80000a28 <fail>
+800002b8: f00110b7 lui ra,0xf0011
+800002bc: 00100113 li sp,1
+800002c0: 0020a023 sw sp,0(ra) # f0011000 <strap+0x70010588>
+800002c4: 00000013 nop
+800002c8: 00000013 nop
+800002cc: 00000013 nop
+800002d0: 00000013 nop
+800002d4: 00000013 nop
+800002d8: 00000013 nop
+800002dc: 00000013 nop
+800002e0: 00000013 nop
+800002e4: 10500073 wfi
+800002e8: 7400006f j 80000a28 <fail>
+
+800002ec <test12>:
+800002ec: 00c00e13 li t3,12
+800002f0: 00000f17 auipc t5,0x0
+800002f4: 0a4f0f13 addi t5,t5,164 # 80000394 <test14>
+800002f8: f00110b7 lui ra,0xf0011
+800002fc: 00000113 li sp,0
+80000300: 0020a023 sw sp,0(ra) # f0011000 <strap+0x70010588>
+80000304: 00000013 nop
+80000308: 00000013 nop
+8000030c: 00000013 nop
+80000310: 00000013 nop
+80000314: 00000013 nop
+80000318: 00000013 nop
+8000031c: 00000013 nop
+80000320: 00000013 nop
+80000324: 00800093 li ra,8
+80000328: 30009073 csrw mstatus,ra
+8000032c: 000010b7 lui ra,0x1
+80000330: 80008093 addi ra,ra,-2048 # 800 <_start-0x7ffff800>
+80000334: 30409073 csrw mie,ra
+80000338: 000020b7 lui ra,0x2
+8000033c: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000340: 00000113 li sp,0
+80000344: 3000b073 csrc mstatus,ra
+80000348: 30012073 csrs mstatus,sp
+8000034c: 00000097 auipc ra,0x0
+80000350: 01408093 addi ra,ra,20 # 80000360 <test12+0x74>
+80000354: 34109073 csrw mepc,ra
+80000358: 30200073 mret
+8000035c: 6cc0006f j 80000a28 <fail>
+80000360: f00110b7 lui ra,0xf0011
+80000364: 00100113 li sp,1
+80000368: 0020a023 sw sp,0(ra) # f0011000 <strap+0x70010588>
+8000036c: 00000013 nop
+80000370: 00000013 nop
+80000374: 00000013 nop
+80000378: 00000013 nop
+8000037c: 00000013 nop
+80000380: 00000013 nop
+80000384: 00000013 nop
+80000388: 00000013 nop
+8000038c: 10500073 wfi
+80000390: 6980006f j 80000a28 <fail>
+
+80000394 <test14>:
+80000394: 00200093 li ra,2
+80000398: 10009073 csrw sstatus,ra
+8000039c: 00e00e13 li t3,14
+800003a0: 00000f17 auipc t5,0x0
+800003a4: 080f0f13 addi t5,t5,128 # 80000420 <test15>
+800003a8: f00120b7 lui ra,0xf0012
+800003ac: 00000113 li sp,0
+800003b0: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+800003b4: 00000013 nop
+800003b8: 00000013 nop
+800003bc: 00000013 nop
+800003c0: 00000013 nop
+800003c4: 00000013 nop
+800003c8: 00000013 nop
+800003cc: 00000013 nop
+800003d0: 00000013 nop
+800003d4: 00200093 li ra,2
+800003d8: 30009073 csrw mstatus,ra
+800003dc: 20000093 li ra,512
+800003e0: 30409073 csrw mie,ra
+800003e4: 00000e93 li t4,0
+800003e8: f00120b7 lui ra,0xf0012
+800003ec: 00100113 li sp,1
+800003f0: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+800003f4: 00000013 nop
+800003f8: 00000013 nop
+800003fc: 00000013 nop
+80000400: 00000013 nop
+80000404: 00000013 nop
+80000408: 00000013 nop
+8000040c: 00000013 nop
+80000410: 00000013 nop
+80000414: 06400093 li ra,100
+80000418: fff08093 addi ra,ra,-1
+8000041c: fe104ee3 bgtz ra,80000418 <test14+0x84>
+
+80000420 <test15>:
+80000420: 00f00e13 li t3,15
+80000424: 00000f17 auipc t5,0x0
+80000428: 0a8f0f13 addi t5,t5,168 # 800004cc <test16>
+8000042c: f00120b7 lui ra,0xf0012
+80000430: 00000113 li sp,0
+80000434: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000438: 00000013 nop
+8000043c: 00000013 nop
+80000440: 00000013 nop
+80000444: 00000013 nop
+80000448: 00000013 nop
+8000044c: 00000013 nop
+80000450: 00000013 nop
+80000454: 00000013 nop
+80000458: 00200093 li ra,2
+8000045c: 30009073 csrw mstatus,ra
+80000460: 20000093 li ra,512
+80000464: 30409073 csrw mie,ra
+80000468: 000020b7 lui ra,0x2
+8000046c: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000470: 00001137 lui sp,0x1
+80000474: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800>
+80000478: 3000b073 csrc mstatus,ra
+8000047c: 30012073 csrs mstatus,sp
+80000480: 00000097 auipc ra,0x0
+80000484: 01408093 addi ra,ra,20 # 80000494 <test15+0x74>
+80000488: 34109073 csrw mepc,ra
+8000048c: 30200073 mret
+80000490: 5980006f j 80000a28 <fail>
+80000494: 00100e93 li t4,1
+80000498: f00120b7 lui ra,0xf0012
+8000049c: 00100113 li sp,1
+800004a0: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+800004a4: 00000013 nop
+800004a8: 00000013 nop
+800004ac: 00000013 nop
+800004b0: 00000013 nop
+800004b4: 00000013 nop
+800004b8: 00000013 nop
+800004bc: 00000013 nop
+800004c0: 00000013 nop
+800004c4: 10500073 wfi
+800004c8: 5600006f j 80000a28 <fail>
+
+800004cc <test16>:
+800004cc: 01000e13 li t3,16
+800004d0: 00000f17 auipc t5,0x0
+800004d4: 0a0f0f13 addi t5,t5,160 # 80000570 <test17>
+800004d8: f00120b7 lui ra,0xf0012
+800004dc: 00000113 li sp,0
+800004e0: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+800004e4: 00000013 nop
+800004e8: 00000013 nop
+800004ec: 00000013 nop
+800004f0: 00000013 nop
+800004f4: 00000013 nop
+800004f8: 00000013 nop
+800004fc: 00000013 nop
+80000500: 00000013 nop
+80000504: 00200093 li ra,2
+80000508: 30009073 csrw mstatus,ra
+8000050c: 20000093 li ra,512
+80000510: 30409073 csrw mie,ra
+80000514: 000020b7 lui ra,0x2
+80000518: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+8000051c: 00000113 li sp,0
+80000520: 3000b073 csrc mstatus,ra
+80000524: 30012073 csrs mstatus,sp
+80000528: 00000097 auipc ra,0x0
+8000052c: 01408093 addi ra,ra,20 # 8000053c <test16+0x70>
+80000530: 34109073 csrw mepc,ra
+80000534: 30200073 mret
+80000538: 4f00006f j 80000a28 <fail>
+8000053c: f00120b7 lui ra,0xf0012
+80000540: 00100113 li sp,1
+80000544: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000548: 00000013 nop
+8000054c: 00000013 nop
+80000550: 00000013 nop
+80000554: 00000013 nop
+80000558: 00000013 nop
+8000055c: 00000013 nop
+80000560: 00000013 nop
+80000564: 00000013 nop
+80000568: 10500073 wfi
+8000056c: 4bc0006f j 80000a28 <fail>
+
+80000570 <test17>:
+80000570: 01100e13 li t3,17
+80000574: 20000093 li ra,512
+80000578: 30309073 csrw mideleg,ra
+8000057c: 00000f17 auipc t5,0x0
+80000580: 080f0f13 addi t5,t5,128 # 800005fc <test18>
+80000584: f00120b7 lui ra,0xf0012
+80000588: 00000113 li sp,0
+8000058c: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000590: 00000013 nop
+80000594: 00000013 nop
+80000598: 00000013 nop
+8000059c: 00000013 nop
+800005a0: 00000013 nop
+800005a4: 00000013 nop
+800005a8: 00000013 nop
+800005ac: 00000013 nop
+800005b0: 00200093 li ra,2
+800005b4: 30009073 csrw mstatus,ra
+800005b8: 20000093 li ra,512
+800005bc: 30409073 csrw mie,ra
+800005c0: 00000e93 li t4,0
+800005c4: f00120b7 lui ra,0xf0012
+800005c8: 00100113 li sp,1
+800005cc: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+800005d0: 00000013 nop
+800005d4: 00000013 nop
+800005d8: 00000013 nop
+800005dc: 00000013 nop
+800005e0: 00000013 nop
+800005e4: 00000013 nop
+800005e8: 00000013 nop
+800005ec: 00000013 nop
+800005f0: 06400093 li ra,100
+800005f4: fff08093 addi ra,ra,-1
+800005f8: fe104ee3 bgtz ra,800005f4 <test17+0x84>
+
+800005fc <test18>:
+800005fc: 01200e13 li t3,18
+80000600: 00000f17 auipc t5,0x0
+80000604: 0a8f0f13 addi t5,t5,168 # 800006a8 <test19>
+80000608: f00120b7 lui ra,0xf0012
+8000060c: 00000113 li sp,0
+80000610: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000614: 00000013 nop
+80000618: 00000013 nop
+8000061c: 00000013 nop
+80000620: 00000013 nop
+80000624: 00000013 nop
+80000628: 00000013 nop
+8000062c: 00000013 nop
+80000630: 00000013 nop
+80000634: 00200093 li ra,2
+80000638: 30009073 csrw mstatus,ra
+8000063c: 20000093 li ra,512
+80000640: 30409073 csrw mie,ra
+80000644: 000020b7 lui ra,0x2
+80000648: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+8000064c: 00001137 lui sp,0x1
+80000650: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800>
+80000654: 3000b073 csrc mstatus,ra
+80000658: 30012073 csrs mstatus,sp
+8000065c: 00000097 auipc ra,0x0
+80000660: 01408093 addi ra,ra,20 # 80000670 <test18+0x74>
+80000664: 34109073 csrw mepc,ra
+80000668: 30200073 mret
+8000066c: 3bc0006f j 80000a28 <fail>
+80000670: 00100e93 li t4,1
+80000674: f00120b7 lui ra,0xf0012
+80000678: 00100113 li sp,1
+8000067c: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000680: 00000013 nop
+80000684: 00000013 nop
+80000688: 00000013 nop
+8000068c: 00000013 nop
+80000690: 00000013 nop
+80000694: 00000013 nop
+80000698: 00000013 nop
+8000069c: 00000013 nop
+800006a0: 10500073 wfi
+800006a4: 3840006f j 80000a28 <fail>
+
+800006a8 <test19>:
+800006a8: 01300e13 li t3,19
+800006ac: 00000f17 auipc t5,0x0
+800006b0: 0a0f0f13 addi t5,t5,160 # 8000074c <test20>
+800006b4: f00120b7 lui ra,0xf0012
+800006b8: 00000113 li sp,0
+800006bc: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+800006c0: 00000013 nop
+800006c4: 00000013 nop
+800006c8: 00000013 nop
+800006cc: 00000013 nop
+800006d0: 00000013 nop
+800006d4: 00000013 nop
+800006d8: 00000013 nop
+800006dc: 00000013 nop
+800006e0: 00200093 li ra,2
+800006e4: 30009073 csrw mstatus,ra
+800006e8: 20000093 li ra,512
+800006ec: 30409073 csrw mie,ra
+800006f0: 000020b7 lui ra,0x2
+800006f4: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+800006f8: 00000113 li sp,0
+800006fc: 3000b073 csrc mstatus,ra
+80000700: 30012073 csrs mstatus,sp
+80000704: 00000097 auipc ra,0x0
+80000708: 01408093 addi ra,ra,20 # 80000718 <test19+0x70>
+8000070c: 34109073 csrw mepc,ra
+80000710: 30200073 mret
+80000714: 3140006f j 80000a28 <fail>
+80000718: f00120b7 lui ra,0xf0012
+8000071c: 00100113 li sp,1
+80000720: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000724: 00000013 nop
+80000728: 00000013 nop
+8000072c: 00000013 nop
+80000730: 00000013 nop
+80000734: 00000013 nop
+80000738: 00000013 nop
+8000073c: 00000013 nop
+80000740: 00000013 nop
+80000744: 10500073 wfi
+80000748: 2e00006f j 80000a28 <fail>
+
+8000074c <test20>:
+8000074c: f00120b7 lui ra,0xf0012
+80000750: 00000113 li sp,0
+80000754: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000758: 00000013 nop
+8000075c: 00000013 nop
+80000760: 00000013 nop
+80000764: 00000013 nop
+80000768: 00000013 nop
+8000076c: 00000013 nop
+80000770: 00000013 nop
+80000774: 00000013 nop
+80000778: 01400e13 li t3,20
+8000077c: 00000f17 auipc t5,0x0
+80000780: 030f0f13 addi t5,t5,48 # 800007ac <test21>
+80000784: 00200093 li ra,2
+80000788: 30009073 csrw mstatus,ra
+8000078c: 20000093 li ra,512
+80000790: 30409073 csrw mie,ra
+80000794: 00000e93 li t4,0
+80000798: 20000093 li ra,512
+8000079c: 1440a073 csrs sip,ra
+800007a0: 06400093 li ra,100
+800007a4: fff08093 addi ra,ra,-1
+800007a8: fe104ee3 bgtz ra,800007a4 <test20+0x58>
+
+800007ac <test21>:
+800007ac: 01500e13 li t3,21
+800007b0: 00000f17 auipc t5,0x0
+800007b4: 060f0f13 addi t5,t5,96 # 80000810 <test22>
+800007b8: 20000093 li ra,512
+800007bc: 1440b073 csrc sip,ra
+800007c0: 00200093 li ra,2
+800007c4: 30009073 csrw mstatus,ra
+800007c8: 20000093 li ra,512
+800007cc: 30409073 csrw mie,ra
+800007d0: 000020b7 lui ra,0x2
+800007d4: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+800007d8: 00001137 lui sp,0x1
+800007dc: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800>
+800007e0: 3000b073 csrc mstatus,ra
+800007e4: 30012073 csrs mstatus,sp
+800007e8: 00000097 auipc ra,0x0
+800007ec: 01408093 addi ra,ra,20 # 800007fc <test21+0x50>
+800007f0: 34109073 csrw mepc,ra
+800007f4: 30200073 mret
+800007f8: 2300006f j 80000a28 <fail>
+800007fc: 00100e93 li t4,1
+80000800: 20000093 li ra,512
+80000804: 1440a073 csrs sip,ra
+80000808: 10500073 wfi
+8000080c: 21c0006f j 80000a28 <fail>
+
+80000810 <test22>:
+80000810: 01600e13 li t3,22
+80000814: 00000f17 auipc t5,0x0
+80000818: 058f0f13 addi t5,t5,88 # 8000086c <test23>
+8000081c: 20000093 li ra,512
+80000820: 1440b073 csrc sip,ra
+80000824: 00200093 li ra,2
+80000828: 30009073 csrw mstatus,ra
+8000082c: 20000093 li ra,512
+80000830: 30409073 csrw mie,ra
+80000834: 20000093 li ra,512
+80000838: 1440a073 csrs sip,ra
+8000083c: 000020b7 lui ra,0x2
+80000840: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000844: 00000113 li sp,0
+80000848: 3000b073 csrc mstatus,ra
+8000084c: 30012073 csrs mstatus,sp
+80000850: 00000097 auipc ra,0x0
+80000854: 01408093 addi ra,ra,20 # 80000864 <test22+0x54>
+80000858: 34109073 csrw mepc,ra
+8000085c: 30200073 mret
+80000860: 1c80006f j 80000a28 <fail>
+80000864: 10500073 wfi
+80000868: 1c00006f j 80000a28 <fail>
+
+8000086c <test23>:
+8000086c: 01700e13 li t3,23
+80000870: 00000e93 li t4,0
+80000874: f00120b7 lui ra,0xf0012
+80000878: 00000113 li sp,0
+8000087c: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000880: 00000013 nop
+80000884: 00000013 nop
+80000888: 00000013 nop
+8000088c: 00000013 nop
+80000890: 00000013 nop
+80000894: 00000013 nop
+80000898: 00000013 nop
+8000089c: 00000013 nop
+800008a0: 20000093 li ra,512
+800008a4: 1440b073 csrc sip,ra
+800008a8: 344021f3 csrr gp,mip
+800008ac: f00120b7 lui ra,0xf0012
+800008b0: 00100113 li sp,1
+800008b4: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+800008b8: 00000013 nop
+800008bc: 00000013 nop
+800008c0: 00000013 nop
+800008c4: 00000013 nop
+800008c8: 00000013 nop
+800008cc: 00000013 nop
+800008d0: 00000013 nop
+800008d4: 00000013 nop
+800008d8: 20000093 li ra,512
+800008dc: 1440b073 csrc sip,ra
+800008e0: 344021f3 csrr gp,mip
+800008e4: f00120b7 lui ra,0xf0012
+800008e8: 00000113 li sp,0
+800008ec: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+800008f0: 00000013 nop
+800008f4: 00000013 nop
+800008f8: 00000013 nop
+800008fc: 00000013 nop
+80000900: 00000013 nop
+80000904: 00000013 nop
+80000908: 00000013 nop
+8000090c: 00000013 nop
+80000910: 20000093 li ra,512
+80000914: 1440b073 csrc sip,ra
+80000918: 344021f3 csrr gp,mip
+8000091c: f00120b7 lui ra,0xf0012
+80000920: 00000113 li sp,0
+80000924: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000928: 00000013 nop
+8000092c: 00000013 nop
+80000930: 00000013 nop
+80000934: 00000013 nop
+80000938: 00000013 nop
+8000093c: 00000013 nop
+80000940: 00000013 nop
+80000944: 00000013 nop
+80000948: 20000093 li ra,512
+8000094c: 1440a073 csrs sip,ra
+80000950: 344021f3 csrr gp,mip
+80000954: f00120b7 lui ra,0xf0012
+80000958: 00100113 li sp,1
+8000095c: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000960: 00000013 nop
+80000964: 00000013 nop
+80000968: 00000013 nop
+8000096c: 00000013 nop
+80000970: 00000013 nop
+80000974: 00000013 nop
+80000978: 00000013 nop
+8000097c: 00000013 nop
+80000980: 20000093 li ra,512
+80000984: 1440a073 csrs sip,ra
+80000988: 344021f3 csrr gp,mip
+8000098c: f00120b7 lui ra,0xf0012
+80000990: 00000113 li sp,0
+80000994: 0020a023 sw sp,0(ra) # f0012000 <strap+0x70011588>
+80000998: 00000013 nop
+8000099c: 00000013 nop
+800009a0: 00000013 nop
+800009a4: 00000013 nop
+800009a8: 00000013 nop
+800009ac: 00000013 nop
+800009b0: 00000013 nop
+800009b4: 00000013 nop
+
+800009b8 <test24>:
+800009b8: 01800e13 li t3,24
+800009bc: 00200093 li ra,2
+800009c0: 3040a073 csrs mie,ra
+800009c4: 3440a073 csrs mip,ra
+800009c8: 3000a073 csrs mstatus,ra
+800009cc: 00100e93 li t4,1
+800009d0: 00000f17 auipc t5,0x0
+800009d4: 03cf0f13 addi t5,t5,60 # 80000a0c <test25>
+800009d8: 000020b7 lui ra,0x2
+800009dc: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+800009e0: 00001137 lui sp,0x1
+800009e4: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800>
+800009e8: 3000b073 csrc mstatus,ra
+800009ec: 30012073 csrs mstatus,sp
+800009f0: 00000097 auipc ra,0x0
+800009f4: 01408093 addi ra,ra,20 # 80000a04 <test24_s>
+800009f8: 34109073 csrw mepc,ra
+800009fc: 30200073 mret
+80000a00: 0280006f j 80000a28 <fail>
+
+80000a04 <test24_s>:
+80000a04: 10500073 wfi
+80000a08: 0200006f j 80000a28 <fail>
+
+80000a0c <test25>:
+80000a0c: 01900e13 li t3,25
+80000a10: 00000f17 auipc t5,0x0
+80000a14: 014f0f13 addi t5,t5,20 # 80000a24 <test26>
+80000a18: 30046073 csrsi mstatus,8
+80000a1c: 10500073 wfi
+80000a20: 0080006f j 80000a28 <fail>
+
+80000a24 <test26>:
+80000a24: 0100006f j 80000a34 <pass>
+
+80000a28 <fail>:
+80000a28: f0100137 lui sp,0xf0100
+80000a2c: f2410113 addi sp,sp,-220 # f00fff24 <strap+0x700ff4ac>
+80000a30: 01c12023 sw t3,0(sp)
+
+80000a34 <pass>:
+80000a34: f0100137 lui sp,0xf0100
+80000a38: f2010113 addi sp,sp,-224 # f00fff20 <strap+0x700ff4a8>
+80000a3c: 00012023 sw zero,0(sp)
+
+80000a40 <mtrap>:
+80000a40: fe0e84e3 beqz t4,80000a28 <fail>
+80000a44: 342020f3 csrr ra,mcause
+80000a48: 341020f3 csrr ra,mepc
+80000a4c: 300020f3 csrr ra,mstatus
+80000a50: 343020f3 csrr ra,mbadaddr
+80000a54: 08000093 li ra,128
+80000a58: 3000b073 csrc mstatus,ra
+80000a5c: 00200093 li ra,2
+80000a60: fc1e8ae3 beq t4,ra,80000a34 <pass>
+80000a64: 000020b7 lui ra,0x2
+80000a68: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000a6c: 3000a073 csrs mstatus,ra
+80000a70: 341f1073 csrw mepc,t5
+80000a74: 30200073 mret
+
+80000a78 <strap>:
+80000a78: fa0e88e3 beqz t4,80000a28 <fail>
+80000a7c: 142020f3 csrr ra,scause
+80000a80: 141020f3 csrr ra,sepc
+80000a84: 100020f3 csrr ra,sstatus
+80000a88: 143020f3 csrr ra,sbadaddr
+80000a8c: 00000073 ecall
+80000a90: 00000013 nop
+80000a94: 00000013 nop
+80000a98: 00000013 nop
+80000a9c: 00000013 nop
+80000aa0: 00000013 nop
+80000aa4: 00000013 nop
diff --git a/VexRiscv/src/test/cpp/raw/deleg/build/deleg.hex b/VexRiscv/src/test/cpp/raw/deleg/build/deleg.hex
new file mode 100644
index 0000000..9290e85
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/deleg/build/deleg.hex
@@ -0,0 +1,174 @@
+:0200000480007A
+:10000000930E1000971000009380C0A3739050309F
+:1000100097100000938080A673905010B71001F0E5
+:100020001301000023A020001300000013000000B3
+:100030001300000013000000130000001300000074
+:100040001300000013000000130E1000170F000033
+:10005000130FCF0073000000130E2000B720000024
+:10006000938000801301000073B0003073200130D2
+:10007000970000009380400173901034730020308B
+:100080006F00901A170F0000130F4F02730000004B
+:100090006F009019130E3000170F0000130F0F019F
+:1000A000832010006F005018130E4000B72000008E
+:1000B00093800080371100001301018073B000307D
+:1000C000732001309700000093804001739010343A
+:1000D000730020306F005015170F0000130F0F0131
+:1000E000832010006F005014130E5000B720000042
+:1000F000938000801301000073B000307320013042
+:1001000097000000938040017390103473002030FA
+:100110006F009011170F0000130F0F0183201000C4
+:100120006F009010130E6000930000017390203058
+:10013000130E7000170F0000130F0F018320100023
+:100140006F00900E130E8000170F0000130FCF03E7
+:10015000B720000093800080371100001301018058
+:1001600073B000307320013097000000938040018D
+:1001700073901034730020306F00100B8320100038
+:100180006F00900A130E9000170F0000130F8F03DB
+:10019000B7200000938000801301000073B000308E
+:1001A0007320013097000000938040017390103459
+:1001B000730020306F005007832010006F00D006BE
+:1001C000130EA000170F0000130FCF07B71001F098
+:1001D0001301000023A02000130000001300000002
+:1001E00013000000130000001300000013000000C3
+:1001F0001300000013000000930080007390003093
+:10020000B71000009380008073904030B71001F069
+:100210001301100023A020001300000013000000B1
+:100220001300000013000000130000001300000082
+:100230001300000013000000730050106F00C07E18
+:10024000130EB000170F0000130F8F0AB71001F044
+:100250001301000023A02000130000001300000081
+:100260001300000013000000130000001300000042
+:100270001300000013000000930080007390003012
+:10028000B71000009380008073904030B7200000CA
+:1002900093800080371100001301018073B000309B
+:1002A0007320013097000000938040017390103458
+:1002B000730020306F004077B71001F01301100079
+:1002C00023A0200013000000130000001300000012
+:1002D00013000000130000001300000013000000D2
+:1002E00013000000730050106F000074130EC00064
+:1002F000170F0000130F4F0AB71001F01301000091
+:1003000023A02000130000001300000013000000D1
+:100310001300000013000000130000001300000091
+:10032000130000009300800073900030B7100000AD
+:100330009380008073904030B7200000938000804D
+:100340001301000073B000307320013097000000EB
+:100350009380400173901034730020306F00C06CA4
+:10036000B71001F01301100023A0200013000000BB
+:100370001300000013000000130000001300000031
+:100380001300000013000000130000007300501061
+:100390006F0080699300200073900010130EE0003E
+:1003A000170F0000130F0F08B72001F01301000012
+:1003B00023A0200013000000130000001300000021
+:1003C00013000000130000001300000013000000E1
+:1003D0001300000093002000739000309300002071
+:1003E00073904030930E0000B72001F0130110000D
+:1003F00023A02000130000001300000013000000E1
+:1004000013000000130000001300000013000000A0
+:1004100013000000930040069380F0FFE34E10FEAF
+:10042000130EF000170F0000130F8F0AB72001F012
+:100430001301000023A0200013000000130000009F
+:100440001300000013000000130000001300000060
+:100450001300000013000000930020007390003090
+:100460009300002073904030B720000093800080FC
+:10047000371100001301018073B000307320013088
+:100480009700000093804001739010347300203077
+:100490006F008059930E1000B72001F01301100077
+:1004A00023A0200013000000130000001300000030
+:1004B00013000000130000001300000013000000F0
+:1004C00013000000730050106F000056130E00015F
+:1004D000170F0000130F0F0AB72001F013010000DF
+:1004E00023A02000130000001300000013000000F0
+:1004F00013000000130000001300000013000000B0
+:10050000130000009300200073900030930000203F
+:1005100073904030B72000009380008013010000EA
+:1005200073B00030732001309700000093804001C9
+:1005300073901034730020306F00004FB72001F02B
+:100540001301100023A0200013000000130000007E
+:10055000130000001300000013000000130000004F
+:100560001300000013000000730050106F00C04B18
+:10057000130E10019300002073903030170F00000D
+:10058000130F0F08B72001F01301000023A0200073
+:10059000130000001300000013000000130000000F
+:1005A00013000000130000001300000013000000FF
+:1005B000930020007390003093000020739040302F
+:1005C000930E0000B72001F01301100023A02000BB
+:1005D00013000000130000001300000013000000CF
+:1005E00013000000130000001300000013000000BF
+:1005F000930040069380F0FFE34E10FE130E20019F
+:10060000170F0000130F8F0AB72001F0130100002D
+:1006100023A02000130000001300000013000000BE
+:10062000130000001300000013000000130000007E
+:10063000130000009300200073900030930000200E
+:1006400073904030B7200000938000803711000085
+:100650001301018073B00030732001309700000057
+:100660009380400173901034730020306F00C03BC2
+:10067000930E1000B72001F01301100023A02000FA
+:10068000130000001300000013000000130000001E
+:10069000130000001300000013000000130000000E
+:1006A000730050106F004038130E3001170F000018
+:1006B000130F0F0AB72001F01301000023A0200040
+:1006C00013000000130000001300000013000000DE
+:1006D00013000000130000001300000013000000CE
+:1006E00093002000739000309300002073904030FE
+:1006F000B7200000938000801301000073B0003029
+:1007000073200130970000009380400173901034F3
+:10071000730020306F004031B72001F0130110004A
+:1007200023A02000130000001300000013000000AD
+:10073000130000001300000013000000130000006D
+:1007400013000000730050106F00002EB72001F05E
+:100750001301000023A0200013000000130000007C
+:10076000130000001300000013000000130000003D
+:100770001300000013000000130E4001170F0000CB
+:10078000130F0F039300200073900030930000209C
+:1007900073904030930E00009300002073A040142B
+:1007A000930040069380F0FFE34E10FE130E5001BD
+:1007B000170F0000130F0F069300002073B04014B2
+:1007C000930020007390003093000020739040301D
+:1007D000B7200000938000803711000013010180D2
+:1007E00073B0003073200130970000009380400107
+:1007F00073901034730020306F000023930E1000AC
+:100800009300002073A04014730050106F00C021AB
+:10081000130E6001170F0000130F8F0593000020C7
+:1008200073B04014930020007390003093000020B8
+:10083000739040309300002073A04014B720000054
+:10084000938000801301000073B0003073200130EA
+:1008500097000000938040017390103473002030A3
+:100860006F00801C730050106F00001C130E70018D
+:10087000930E0000B72001F01301000023A0200018
+:10088000130000001300000013000000130000001C
+:10089000130000001300000013000000130000000C
+:1008A0009300002073B04014F3214034B72001F0CE
+:1008B0001301100023A0200013000000130000000B
+:1008C00013000000130000001300000013000000DC
+:1008D00013000000130000009300002073B04014C8
+:1008E000F3214034B72001F01301000023A02000C1
+:1008F00013000000130000001300000013000000AC
+:10090000130000001300000013000000130000009B
+:100910009300002073B04014F3214034B72001F05D
+:100920001301000023A020001300000013000000AA
+:10093000130000001300000013000000130000006B
+:1009400013000000130000009300002073A0401467
+:10095000F3214034B72001F01301100023A0200040
+:10096000130000001300000013000000130000003B
+:10097000130000001300000013000000130000002B
+:100980009300002073A04014F3214034B72001F0FD
+:100990001301000023A0200013000000130000003A
+:1009A00013000000130000001300000013000000FB
+:1009B0001300000013000000130E800193002000BC
+:1009C00073A0403073A0403473A00030930E100029
+:1009D000170F0000130FCF03B72000009380008093
+:1009E000371100001301018073B000307320013013
+:1009F0009700000093804001739010347300203002
+:100A00006F008002730050106F000002130E9001FF
+:100A1000170F0000130F4F01736004307300501064
+:100A20006F0080006F000001370110F0130141F2E8
+:100A30002320C101370110F0130101F2232001002E
+:100A4000E3840EFEF3202034F3201034F320003032
+:100A5000F32030349300000873B00030930020007E
+:100A6000E38A1EFCB72000009380008073A0003052
+:100A700073101F3473002030E3880EFAF320201423
+:100A8000F3201014F3200010F32030147300000042
+:100A9000130000001300000013000000130000000A
+:080AA000130000001300000028
+:040000058000000077
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/deleg/makefile b/VexRiscv/src/test/cpp/raw/deleg/makefile
new file mode 100644
index 0000000..8f98b68
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/deleg/makefile
@@ -0,0 +1,3 @@
+PROJ_NAME=deleg
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/deleg/src/crt.S b/VexRiscv/src/test/cpp/raw/deleg/src/crt.S
new file mode 100644
index 0000000..f88d13f
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/deleg/src/crt.S
@@ -0,0 +1,399 @@
+.globl _start
+
+#define TEST_ID x28
+#define TRAP_OK x29
+#define TRAP_RET x30
+
+#include "encoding.h"
+
+#define externalInterrupt(value) \
+ li x1, 0xF0011000; \
+ li x2, value; \
+ sw x2, 0(x1); \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+
+
+#define externalInterruptS(value) \
+ li x1, 0xF0012000; \
+ li x2, value; \
+ sw x2, 0(x1); \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+ nop; \
+
+
+
+#define delay() \
+ li x1, 100; \
+1: \
+ addi x1, x1, -1; \
+ bgt x1, x0, 1b; \
+
+
+#define setPriv(value) \
+ li x1, 3 << 11; \
+ li x2, value << 11; \
+ csrc mstatus, x1; \
+ csrs mstatus, x2; \
+ auipc x1, 0; \
+ addi x1, x1, 20; \
+ csrw mepc, x1; \
+ mret; \
+ j fail; \
+
+
+ROM_SUPER_0:
+
+_start:
+ li TRAP_OK, 1
+ la x1, mtrap
+ csrw mtvec, x1
+ la x1, strap
+ csrw stvec, x1
+ externalInterrupt(0);
+
+test1:
+ li TEST_ID, 1
+ la TRAP_RET, test2
+ ecall
+
+test2: //simple ecall from user to machine
+ li TEST_ID, 2
+ setPriv(0)
+ la TRAP_RET, test4
+ ecall
+ j fail
+
+test3: //M mialigned load exception without deleg
+ li TEST_ID, 3
+ la TRAP_RET, test4
+ lw x1, 1(x0)
+ j fail
+test4: //S mialigned load exception without deleg
+ li TEST_ID, 4
+ setPriv(1)
+ la TRAP_RET, test5
+ lw x1, 1(x0)
+ j fail
+test5: //U mialigned load exception without deleg
+ li TEST_ID, 5
+ setPriv(0)
+ la TRAP_RET, test6
+ lw x1, 1(x0)
+ j fail
+
+test6: // set medeleg
+ li TEST_ID, 6
+ li x1, 1 << CAUSE_MISALIGNED_LOAD
+ csrw medeleg, x1
+
+test7: //machine mode exception
+ li TEST_ID, 7
+ la TRAP_RET, test8
+ lw x1, 1(x0)
+ j fail
+
+test8: //supervisor mode exception
+ li TEST_ID, 8
+ la TRAP_RET, test9
+ setPriv(1)
+ lw x1, 1(x0)
+ j fail
+
+test9: //user mode exception
+ li TEST_ID, 9
+ la TRAP_RET, test10
+ setPriv(0)
+ lw x1, 1(x0)
+ j fail
+
+test10: //M external interrupt
+ li TEST_ID, 10
+ la TRAP_RET, test11
+ externalInterrupt(0)
+ li x1, MSTATUS_MIE
+ csrw mstatus, x1
+ li x1, 1 << 11
+ csrw mie, x1
+ externalInterrupt(1)
+ wfi
+ j fail
+
+test11: //S external interrupt
+ li TEST_ID, 11
+ la TRAP_RET, test12
+ externalInterrupt(0)
+ li x1, MSTATUS_MIE
+ csrw mstatus, x1
+ li x1, 1 << 11
+ csrw mie, x1
+ setPriv(1)
+ externalInterrupt(1)
+ wfi
+ j fail
+
+test12: //U external interrupt
+ li TEST_ID, 12
+ la TRAP_RET, test14
+ externalInterrupt(0)
+ li x1, MSTATUS_MIE
+ csrw mstatus, x1
+ li x1, 1 << 11
+ csrw mie, x1
+ setPriv(0)
+ externalInterrupt(1)
+ wfi
+ j fail
+
+
+
+test14: //M external interrupt S
+ li x1, MSTATUS_SIE
+ csrw sstatus, x1
+
+ li TEST_ID, 14
+ la TRAP_RET, test15
+ externalInterruptS(0)
+ li x1, MSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ li TRAP_OK, 0
+ externalInterruptS(1)
+ delay()
+
+test15: //S external interrupt S
+ li TEST_ID, 15
+ la TRAP_RET, test16
+ externalInterruptS(0)
+ li x1, SSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ setPriv(1)
+ li TRAP_OK, 1
+ externalInterruptS(1)
+ wfi
+ j fail
+
+test16: //U external interrupt S
+ li TEST_ID, 16
+ la TRAP_RET, test17
+ externalInterruptS(0)
+ li x1, SSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ setPriv(0)
+ externalInterruptS(1)
+ wfi
+ j fail
+
+
+test17:// set mideleg
+ li TEST_ID, 17
+ li x1, 1 << 9
+ csrw mideleg, x1
+
+
+ la TRAP_RET, test18
+ externalInterruptS(0)
+ li x1, MSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ li TRAP_OK, 0
+ externalInterruptS(1)
+ delay()
+
+test18: //S external interrupt S with deleg
+ li TEST_ID, 18
+ la TRAP_RET, test19
+ externalInterruptS(0)
+ li x1, SSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ setPriv(1)
+ li TRAP_OK, 1
+ externalInterruptS(1)
+ wfi
+ j fail
+
+test19: //U external interrupt S with deleg
+ li TEST_ID, 19
+ la TRAP_RET, test20
+ externalInterruptS(0)
+ li x1, SSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ setPriv(0)
+ externalInterruptS(1)
+ wfi
+ j fail
+
+
+
+
+
+test20:// M external interrupt S by software with deleg
+ externalInterruptS(0)
+ li TEST_ID, 20
+ la TRAP_RET, test21
+ li x1, MSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ li TRAP_OK, 0
+ li x1, 1 << 9
+ csrs sip, x1
+ delay()
+
+test21: //S external interrupt S by software with deleg
+ li TEST_ID, 21
+ la TRAP_RET, test22
+ li x1, 1 << 9
+ csrc sip, x1
+ li x1, SSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ setPriv(1)
+ li TRAP_OK, 1
+ li x1, 1 << 9
+ csrs sip, x1
+ wfi
+ j fail
+
+test22: //U external interrupt S by software with deleg
+ li TEST_ID, 22
+ la TRAP_RET, test23
+ li x1, 1 << 9
+ csrc sip, x1
+ li x1, SSTATUS_SIE
+ csrw mstatus, x1
+ li x1, 1 << 9
+ csrw mie, x1
+ li x1, 1 << 9
+ csrs sip, x1
+ setPriv(0)
+ wfi
+ j fail
+
+
+
+test23: //Test software and hardware setting inettrupt
+ li TEST_ID, 23
+ li TRAP_OK, 0
+ externalInterruptS(0)
+ li x1, 1 << 9
+ csrc sip, x1
+ csrr x3, mip
+
+
+ externalInterruptS(1)
+ li x1, 1 << 9
+ csrc sip, x1
+ csrr x3, mip
+
+
+ externalInterruptS(0)
+ li x1, 1 << 9
+ csrc sip, x1
+ csrr x3, mip
+
+
+ externalInterruptS(0)
+ li x1, 1 << 9
+ csrs sip, x1
+ csrr x3, mip
+
+
+ externalInterruptS(1)
+ li x1, 1 << 9
+ csrs sip, x1
+ csrr x3, mip
+
+ externalInterruptS(0)
+
+test24: //test supervisor software interrupt
+ li TEST_ID, 24
+ li x1, 2
+ csrs mie, x1
+ csrs mip, x1
+ csrs mstatus, x1
+
+ li TRAP_OK, 1
+ la TRAP_RET, test25
+ setPriv(1)
+test24_s:
+ wfi
+ j fail
+
+
+test25: //test undelegated supervisor interrupt in machine mode (continue test24)
+ li TEST_ID, 25
+ la TRAP_RET, test26
+ csrsi mstatus, 1 << 3 //mie
+ wfi
+ j fail
+
+
+test26:
+
+ j pass
+
+fail:
+ li x2, 0xF00FFF24
+ sw TEST_ID, 0(x2)
+
+pass:
+ li x2, 0xF00FFF20
+ sw x0, 0(x2)
+
+
+mtrap:
+ beq TRAP_OK, x0, fail
+ csrr x1, mcause
+ csrr x1, mepc
+ csrr x1, mstatus
+ csrr x1, mbadaddr
+ li x1, MSTATUS_MPIE
+ csrc mstatus, x1
+ li x1, 2
+ beq TRAP_OK, x1, pass
+ li x1, 3 << 11
+ csrs mstatus, x1
+ csrw mepc, TRAP_RET
+ mret
+
+
+strap:
+ beq TRAP_OK, x0, fail
+ csrr x1, scause
+ csrr x1, sepc
+ csrr x1, sstatus
+ csrr x1, sbadaddr
+ ecall
+
+
+
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
diff --git a/VexRiscv/src/test/cpp/raw/deleg/src/encoding.h b/VexRiscv/src/test/cpp/raw/deleg/src/encoding.h
new file mode 100644
index 0000000..c109ce1
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/deleg/src/encoding.h
@@ -0,0 +1,1471 @@
+// See LICENSE for license details.
+
+#ifndef RISCV_CSR_ENCODING_H
+#define RISCV_CSR_ENCODING_H
+
+#define MSTATUS_UIE 0x00000001
+#define MSTATUS_SIE 0x00000002
+#define MSTATUS_HIE 0x00000004
+#define MSTATUS_MIE 0x00000008
+#define MSTATUS_UPIE 0x00000010
+#define MSTATUS_SPIE 0x00000020
+#define MSTATUS_HPIE 0x00000040
+#define MSTATUS_MPIE 0x00000080
+#define MSTATUS_SPP 0x00000100
+#define MSTATUS_HPP 0x00000600
+#define MSTATUS_MPP 0x00001800
+#define MSTATUS_FS 0x00006000
+#define MSTATUS_XS 0x00018000
+#define MSTATUS_MPRV 0x00020000
+#define MSTATUS_SUM 0x00040000
+#define MSTATUS_MXR 0x00080000
+#define MSTATUS_TVM 0x00100000
+#define MSTATUS_TW 0x00200000
+#define MSTATUS_TSR 0x00400000
+#define MSTATUS32_SD 0x80000000
+#define MSTATUS_UXL 0x0000000300000000
+#define MSTATUS_SXL 0x0000000C00000000
+#define MSTATUS64_SD 0x8000000000000000
+
+#define SSTATUS_UIE 0x00000001
+#define SSTATUS_SIE 0x00000002
+#define SSTATUS_UPIE 0x00000010
+#define SSTATUS_SPIE 0x00000020
+#define SSTATUS_SPP 0x00000100
+#define SSTATUS_FS 0x00006000
+#define SSTATUS_XS 0x00018000
+#define SSTATUS_SUM 0x00040000
+#define SSTATUS_MXR 0x00080000
+#define SSTATUS32_SD 0x80000000
+#define SSTATUS_UXL 0x0000000300000000
+#define SSTATUS64_SD 0x8000000000000000
+
+#define DCSR_XDEBUGVER (3U<<30)
+#define DCSR_NDRESET (1<<29)
+#define DCSR_FULLRESET (1<<28)
+#define DCSR_EBREAKM (1<<15)
+#define DCSR_EBREAKH (1<<14)
+#define DCSR_EBREAKS (1<<13)
+#define DCSR_EBREAKU (1<<12)
+#define DCSR_STOPCYCLE (1<<10)
+#define DCSR_STOPTIME (1<<9)
+#define DCSR_CAUSE (7<<6)
+#define DCSR_DEBUGINT (1<<5)
+#define DCSR_HALT (1<<3)
+#define DCSR_STEP (1<<2)
+#define DCSR_PRV (3<<0)
+
+#define DCSR_CAUSE_NONE 0
+#define DCSR_CAUSE_SWBP 1
+#define DCSR_CAUSE_HWBP 2
+#define DCSR_CAUSE_DEBUGINT 3
+#define DCSR_CAUSE_STEP 4
+#define DCSR_CAUSE_HALT 5
+
+#define MCONTROL_TYPE(xlen) (0xfULL<<((xlen)-4))
+#define MCONTROL_DMODE(xlen) (1ULL<<((xlen)-5))
+#define MCONTROL_MASKMAX(xlen) (0x3fULL<<((xlen)-11))
+
+#define MCONTROL_SELECT (1<<19)
+#define MCONTROL_TIMING (1<<18)
+#define MCONTROL_ACTION (0x3f<<12)
+#define MCONTROL_CHAIN (1<<11)
+#define MCONTROL_MATCH (0xf<<7)
+#define MCONTROL_M (1<<6)
+#define MCONTROL_H (1<<5)
+#define MCONTROL_S (1<<4)
+#define MCONTROL_U (1<<3)
+#define MCONTROL_EXECUTE (1<<2)
+#define MCONTROL_STORE (1<<1)
+#define MCONTROL_LOAD (1<<0)
+
+#define MCONTROL_TYPE_NONE 0
+#define MCONTROL_TYPE_MATCH 2
+
+#define MCONTROL_ACTION_DEBUG_EXCEPTION 0
+#define MCONTROL_ACTION_DEBUG_MODE 1
+#define MCONTROL_ACTION_TRACE_START 2
+#define MCONTROL_ACTION_TRACE_STOP 3
+#define MCONTROL_ACTION_TRACE_EMIT 4
+
+#define MCONTROL_MATCH_EQUAL 0
+#define MCONTROL_MATCH_NAPOT 1
+#define MCONTROL_MATCH_GE 2
+#define MCONTROL_MATCH_LT 3
+#define MCONTROL_MATCH_MASK_LOW 4
+#define MCONTROL_MATCH_MASK_HIGH 5
+
+#define MIP_SSIP (1 << IRQ_S_SOFT)
+#define MIP_HSIP (1 << IRQ_H_SOFT)
+#define MIP_MSIP (1 << IRQ_M_SOFT)
+#define MIP_STIP (1 << IRQ_S_TIMER)
+#define MIP_HTIP (1 << IRQ_H_TIMER)
+#define MIP_MTIP (1 << IRQ_M_TIMER)
+#define MIP_SEIP (1 << IRQ_S_EXT)
+#define MIP_HEIP (1 << IRQ_H_EXT)
+#define MIP_MEIP (1 << IRQ_M_EXT)
+
+#define SIP_SSIP MIP_SSIP
+#define SIP_STIP MIP_STIP
+
+#define PRV_U 0
+#define PRV_S 1
+#define PRV_H 2
+#define PRV_M 3
+
+#define SATP32_MODE 0x80000000
+#define SATP32_ASID 0x7FC00000
+#define SATP32_PPN 0x003FFFFF
+#define SATP64_MODE 0xF000000000000000
+#define SATP64_ASID 0x0FFFF00000000000
+#define SATP64_PPN 0x00000FFFFFFFFFFF
+
+#define SATP_MODE_OFF 0
+#define SATP_MODE_SV32 1
+#define SATP_MODE_SV39 8
+#define SATP_MODE_SV48 9
+#define SATP_MODE_SV57 10
+#define SATP_MODE_SV64 11
+
+#define PMP_R 0x01
+#define PMP_W 0x02
+#define PMP_X 0x04
+#define PMP_A 0x18
+#define PMP_L 0x80
+#define PMP_SHIFT 2
+
+#define PMP_TOR 0x08
+#define PMP_NA4 0x10
+#define PMP_NAPOT 0x18
+
+#define IRQ_S_SOFT 1
+#define IRQ_H_SOFT 2
+#define IRQ_M_SOFT 3
+#define IRQ_S_TIMER 5
+#define IRQ_H_TIMER 6
+#define IRQ_M_TIMER 7
+#define IRQ_S_EXT 9
+#define IRQ_H_EXT 10
+#define IRQ_M_EXT 11
+#define IRQ_COP 12
+#define IRQ_HOST 13
+
+#define DEFAULT_RSTVEC 0x00001000
+#define CLINT_BASE 0x02000000
+#define CLINT_SIZE 0x000c0000
+#define EXT_IO_BASE 0x40000000
+#define DRAM_BASE 0x80000000
+
+// page table entry (PTE) fields
+#define PTE_V 0x001 // Valid
+#define PTE_R 0x002 // Read
+#define PTE_W 0x004 // Write
+#define PTE_X 0x008 // Execute
+#define PTE_U 0x010 // User
+#define PTE_G 0x020 // Global
+#define PTE_A 0x040 // Accessed
+#define PTE_D 0x080 // Dirty
+#define PTE_SOFT 0x300 // Reserved for Software
+
+#define PTE_PPN_SHIFT 10
+
+#define PTE_TABLE(PTE) (((PTE) & (PTE_V | PTE_R | PTE_W | PTE_X)) == PTE_V)
+
+#ifdef __riscv
+
+#if __riscv_xlen == 64
+# define MSTATUS_SD MSTATUS64_SD
+# define SSTATUS_SD SSTATUS64_SD
+# define RISCV_PGLEVEL_BITS 9
+# define SATP_MODE SATP64_MODE
+#else
+# define MSTATUS_SD MSTATUS32_SD
+# define SSTATUS_SD SSTATUS32_SD
+# define RISCV_PGLEVEL_BITS 10
+# define SATP_MODE SATP32_MODE
+#endif
+#define RISCV_PGSHIFT 12
+#define RISCV_PGSIZE (1 << RISCV_PGSHIFT)
+
+#ifndef __ASSEMBLER__
+
+#ifdef __GNUC__
+
+#define read_csr(reg) ({ unsigned long __tmp; \
+ asm volatile ("csrr %0, " #reg : "=r"(__tmp)); \
+ __tmp; })
+
+#define write_csr(reg, val) ({ \
+ asm volatile ("csrw " #reg ", %0" :: "rK"(val)); })
+
+#define swap_csr(reg, val) ({ unsigned long __tmp; \
+ asm volatile ("csrrw %0, " #reg ", %1" : "=r"(__tmp) : "rK"(val)); \
+ __tmp; })
+
+#define set_csr(reg, bit) ({ unsigned long __tmp; \
+ asm volatile ("csrrs %0, " #reg ", %1" : "=r"(__tmp) : "rK"(bit)); \
+ __tmp; })
+
+#define clear_csr(reg, bit) ({ unsigned long __tmp; \
+ asm volatile ("csrrc %0, " #reg ", %1" : "=r"(__tmp) : "rK"(bit)); \
+ __tmp; })
+
+#define rdtime() read_csr(time)
+#define rdcycle() read_csr(cycle)
+#define rdinstret() read_csr(instret)
+
+#endif
+
+#endif
+
+#endif
+
+#endif
+/* Automatically generated by parse-opcodes. */
+#ifndef RISCV_ENCODING_H
+#define RISCV_ENCODING_H
+#define MATCH_BEQ 0x63
+#define MASK_BEQ 0x707f
+#define MATCH_BNE 0x1063
+#define MASK_BNE 0x707f
+#define MATCH_BLT 0x4063
+#define MASK_BLT 0x707f
+#define MATCH_BGE 0x5063
+#define MASK_BGE 0x707f
+#define MATCH_BLTU 0x6063
+#define MASK_BLTU 0x707f
+#define MATCH_BGEU 0x7063
+#define MASK_BGEU 0x707f
+#define MATCH_JALR 0x67
+#define MASK_JALR 0x707f
+#define MATCH_JAL 0x6f
+#define MASK_JAL 0x7f
+#define MATCH_LUI 0x37
+#define MASK_LUI 0x7f
+#define MATCH_AUIPC 0x17
+#define MASK_AUIPC 0x7f
+#define MATCH_ADDI 0x13
+#define MASK_ADDI 0x707f
+#define MATCH_SLLI 0x1013
+#define MASK_SLLI 0xfc00707f
+#define MATCH_SLTI 0x2013
+#define MASK_SLTI 0x707f
+#define MATCH_SLTIU 0x3013
+#define MASK_SLTIU 0x707f
+#define MATCH_XORI 0x4013
+#define MASK_XORI 0x707f
+#define MATCH_SRLI 0x5013
+#define MASK_SRLI 0xfc00707f
+#define MATCH_SRAI 0x40005013
+#define MASK_SRAI 0xfc00707f
+#define MATCH_ORI 0x6013
+#define MASK_ORI 0x707f
+#define MATCH_ANDI 0x7013
+#define MASK_ANDI 0x707f
+#define MATCH_ADD 0x33
+#define MASK_ADD 0xfe00707f
+#define MATCH_SUB 0x40000033
+#define MASK_SUB 0xfe00707f
+#define MATCH_SLL 0x1033
+#define MASK_SLL 0xfe00707f
+#define MATCH_SLT 0x2033
+#define MASK_SLT 0xfe00707f
+#define MATCH_SLTU 0x3033
+#define MASK_SLTU 0xfe00707f
+#define MATCH_XOR 0x4033
+#define MASK_XOR 0xfe00707f
+#define MATCH_SRL 0x5033
+#define MASK_SRL 0xfe00707f
+#define MATCH_SRA 0x40005033
+#define MASK_SRA 0xfe00707f
+#define MATCH_OR 0x6033
+#define MASK_OR 0xfe00707f
+#define MATCH_AND 0x7033
+#define MASK_AND 0xfe00707f
+#define MATCH_ADDIW 0x1b
+#define MASK_ADDIW 0x707f
+#define MATCH_SLLIW 0x101b
+#define MASK_SLLIW 0xfe00707f
+#define MATCH_SRLIW 0x501b
+#define MASK_SRLIW 0xfe00707f
+#define MATCH_SRAIW 0x4000501b
+#define MASK_SRAIW 0xfe00707f
+#define MATCH_ADDW 0x3b
+#define MASK_ADDW 0xfe00707f
+#define MATCH_SUBW 0x4000003b
+#define MASK_SUBW 0xfe00707f
+#define MATCH_SLLW 0x103b
+#define MASK_SLLW 0xfe00707f
+#define MATCH_SRLW 0x503b
+#define MASK_SRLW 0xfe00707f
+#define MATCH_SRAW 0x4000503b
+#define MASK_SRAW 0xfe00707f
+#define MATCH_LB 0x3
+#define MASK_LB 0x707f
+#define MATCH_LH 0x1003
+#define MASK_LH 0x707f
+#define MATCH_LW 0x2003
+#define MASK_LW 0x707f
+#define MATCH_LD 0x3003
+#define MASK_LD 0x707f
+#define MATCH_LBU 0x4003
+#define MASK_LBU 0x707f
+#define MATCH_LHU 0x5003
+#define MASK_LHU 0x707f
+#define MATCH_LWU 0x6003
+#define MASK_LWU 0x707f
+#define MATCH_SB 0x23
+#define MASK_SB 0x707f
+#define MATCH_SH 0x1023
+#define MASK_SH 0x707f
+#define MATCH_SW 0x2023
+#define MASK_SW 0x707f
+#define MATCH_SD 0x3023
+#define MASK_SD 0x707f
+#define MATCH_FENCE 0xf
+#define MASK_FENCE 0x707f
+#define MATCH_FENCE_I 0x100f
+#define MASK_FENCE_I 0x707f
+#define MATCH_MUL 0x2000033
+#define MASK_MUL 0xfe00707f
+#define MATCH_MULH 0x2001033
+#define MASK_MULH 0xfe00707f
+#define MATCH_MULHSU 0x2002033
+#define MASK_MULHSU 0xfe00707f
+#define MATCH_MULHU 0x2003033
+#define MASK_MULHU 0xfe00707f
+#define MATCH_DIV 0x2004033
+#define MASK_DIV 0xfe00707f
+#define MATCH_DIVU 0x2005033
+#define MASK_DIVU 0xfe00707f
+#define MATCH_REM 0x2006033
+#define MASK_REM 0xfe00707f
+#define MATCH_REMU 0x2007033
+#define MASK_REMU 0xfe00707f
+#define MATCH_MULW 0x200003b
+#define MASK_MULW 0xfe00707f
+#define MATCH_DIVW 0x200403b
+#define MASK_DIVW 0xfe00707f
+#define MATCH_DIVUW 0x200503b
+#define MASK_DIVUW 0xfe00707f
+#define MATCH_REMW 0x200603b
+#define MASK_REMW 0xfe00707f
+#define MATCH_REMUW 0x200703b
+#define MASK_REMUW 0xfe00707f
+#define MATCH_AMOADD_W 0x202f
+#define MASK_AMOADD_W 0xf800707f
+#define MATCH_AMOXOR_W 0x2000202f
+#define MASK_AMOXOR_W 0xf800707f
+#define MATCH_AMOOR_W 0x4000202f
+#define MASK_AMOOR_W 0xf800707f
+#define MATCH_AMOAND_W 0x6000202f
+#define MASK_AMOAND_W 0xf800707f
+#define MATCH_AMOMIN_W 0x8000202f
+#define MASK_AMOMIN_W 0xf800707f
+#define MATCH_AMOMAX_W 0xa000202f
+#define MASK_AMOMAX_W 0xf800707f
+#define MATCH_AMOMINU_W 0xc000202f
+#define MASK_AMOMINU_W 0xf800707f
+#define MATCH_AMOMAXU_W 0xe000202f
+#define MASK_AMOMAXU_W 0xf800707f
+#define MATCH_AMOSWAP_W 0x800202f
+#define MASK_AMOSWAP_W 0xf800707f
+#define MATCH_LR_W 0x1000202f
+#define MASK_LR_W 0xf9f0707f
+#define MATCH_SC_W 0x1800202f
+#define MASK_SC_W 0xf800707f
+#define MATCH_AMOADD_D 0x302f
+#define MASK_AMOADD_D 0xf800707f
+#define MATCH_AMOXOR_D 0x2000302f
+#define MASK_AMOXOR_D 0xf800707f
+#define MATCH_AMOOR_D 0x4000302f
+#define MASK_AMOOR_D 0xf800707f
+#define MATCH_AMOAND_D 0x6000302f
+#define MASK_AMOAND_D 0xf800707f
+#define MATCH_AMOMIN_D 0x8000302f
+#define MASK_AMOMIN_D 0xf800707f
+#define MATCH_AMOMAX_D 0xa000302f
+#define MASK_AMOMAX_D 0xf800707f
+#define MATCH_AMOMINU_D 0xc000302f
+#define MASK_AMOMINU_D 0xf800707f
+#define MATCH_AMOMAXU_D 0xe000302f
+#define MASK_AMOMAXU_D 0xf800707f
+#define MATCH_AMOSWAP_D 0x800302f
+#define MASK_AMOSWAP_D 0xf800707f
+#define MATCH_LR_D 0x1000302f
+#define MASK_LR_D 0xf9f0707f
+#define MATCH_SC_D 0x1800302f
+#define MASK_SC_D 0xf800707f
+#define MATCH_ECALL 0x73
+#define MASK_ECALL 0xffffffff
+#define MATCH_EBREAK 0x100073
+#define MASK_EBREAK 0xffffffff
+#define MATCH_URET 0x200073
+#define MASK_URET 0xffffffff
+#define MATCH_SRET 0x10200073
+#define MASK_SRET 0xffffffff
+#define MATCH_MRET 0x30200073
+#define MASK_MRET 0xffffffff
+#define MATCH_DRET 0x7b200073
+#define MASK_DRET 0xffffffff
+#define MATCH_SFENCE_VMA 0x12000073
+#define MASK_SFENCE_VMA 0xfe007fff
+#define MATCH_WFI 0x10500073
+#define MASK_WFI 0xffffffff
+#define MATCH_CSRRW 0x1073
+#define MASK_CSRRW 0x707f
+#define MATCH_CSRRS 0x2073
+#define MASK_CSRRS 0x707f
+#define MATCH_CSRRC 0x3073
+#define MASK_CSRRC 0x707f
+#define MATCH_CSRRWI 0x5073
+#define MASK_CSRRWI 0x707f
+#define MATCH_CSRRSI 0x6073
+#define MASK_CSRRSI 0x707f
+#define MATCH_CSRRCI 0x7073
+#define MASK_CSRRCI 0x707f
+#define MATCH_FADD_S 0x53
+#define MASK_FADD_S 0xfe00007f
+#define MATCH_FSUB_S 0x8000053
+#define MASK_FSUB_S 0xfe00007f
+#define MATCH_FMUL_S 0x10000053
+#define MASK_FMUL_S 0xfe00007f
+#define MATCH_FDIV_S 0x18000053
+#define MASK_FDIV_S 0xfe00007f
+#define MATCH_FSGNJ_S 0x20000053
+#define MASK_FSGNJ_S 0xfe00707f
+#define MATCH_FSGNJN_S 0x20001053
+#define MASK_FSGNJN_S 0xfe00707f
+#define MATCH_FSGNJX_S 0x20002053
+#define MASK_FSGNJX_S 0xfe00707f
+#define MATCH_FMIN_S 0x28000053
+#define MASK_FMIN_S 0xfe00707f
+#define MATCH_FMAX_S 0x28001053
+#define MASK_FMAX_S 0xfe00707f
+#define MATCH_FSQRT_S 0x58000053
+#define MASK_FSQRT_S 0xfff0007f
+#define MATCH_FADD_D 0x2000053
+#define MASK_FADD_D 0xfe00007f
+#define MATCH_FSUB_D 0xa000053
+#define MASK_FSUB_D 0xfe00007f
+#define MATCH_FMUL_D 0x12000053
+#define MASK_FMUL_D 0xfe00007f
+#define MATCH_FDIV_D 0x1a000053
+#define MASK_FDIV_D 0xfe00007f
+#define MATCH_FSGNJ_D 0x22000053
+#define MASK_FSGNJ_D 0xfe00707f
+#define MATCH_FSGNJN_D 0x22001053
+#define MASK_FSGNJN_D 0xfe00707f
+#define MATCH_FSGNJX_D 0x22002053
+#define MASK_FSGNJX_D 0xfe00707f
+#define MATCH_FMIN_D 0x2a000053
+#define MASK_FMIN_D 0xfe00707f
+#define MATCH_FMAX_D 0x2a001053
+#define MASK_FMAX_D 0xfe00707f
+#define MATCH_FCVT_S_D 0x40100053
+#define MASK_FCVT_S_D 0xfff0007f
+#define MATCH_FCVT_D_S 0x42000053
+#define MASK_FCVT_D_S 0xfff0007f
+#define MATCH_FSQRT_D 0x5a000053
+#define MASK_FSQRT_D 0xfff0007f
+#define MATCH_FADD_Q 0x6000053
+#define MASK_FADD_Q 0xfe00007f
+#define MATCH_FSUB_Q 0xe000053
+#define MASK_FSUB_Q 0xfe00007f
+#define MATCH_FMUL_Q 0x16000053
+#define MASK_FMUL_Q 0xfe00007f
+#define MATCH_FDIV_Q 0x1e000053
+#define MASK_FDIV_Q 0xfe00007f
+#define MATCH_FSGNJ_Q 0x26000053
+#define MASK_FSGNJ_Q 0xfe00707f
+#define MATCH_FSGNJN_Q 0x26001053
+#define MASK_FSGNJN_Q 0xfe00707f
+#define MATCH_FSGNJX_Q 0x26002053
+#define MASK_FSGNJX_Q 0xfe00707f
+#define MATCH_FMIN_Q 0x2e000053
+#define MASK_FMIN_Q 0xfe00707f
+#define MATCH_FMAX_Q 0x2e001053
+#define MASK_FMAX_Q 0xfe00707f
+#define MATCH_FCVT_S_Q 0x40300053
+#define MASK_FCVT_S_Q 0xfff0007f
+#define MATCH_FCVT_Q_S 0x46000053
+#define MASK_FCVT_Q_S 0xfff0007f
+#define MATCH_FCVT_D_Q 0x42300053
+#define MASK_FCVT_D_Q 0xfff0007f
+#define MATCH_FCVT_Q_D 0x46100053
+#define MASK_FCVT_Q_D 0xfff0007f
+#define MATCH_FSQRT_Q 0x5e000053
+#define MASK_FSQRT_Q 0xfff0007f
+#define MATCH_FLE_S 0xa0000053
+#define MASK_FLE_S 0xfe00707f
+#define MATCH_FLT_S 0xa0001053
+#define MASK_FLT_S 0xfe00707f
+#define MATCH_FEQ_S 0xa0002053
+#define MASK_FEQ_S 0xfe00707f
+#define MATCH_FLE_D 0xa2000053
+#define MASK_FLE_D 0xfe00707f
+#define MATCH_FLT_D 0xa2001053
+#define MASK_FLT_D 0xfe00707f
+#define MATCH_FEQ_D 0xa2002053
+#define MASK_FEQ_D 0xfe00707f
+#define MATCH_FLE_Q 0xa6000053
+#define MASK_FLE_Q 0xfe00707f
+#define MATCH_FLT_Q 0xa6001053
+#define MASK_FLT_Q 0xfe00707f
+#define MATCH_FEQ_Q 0xa6002053
+#define MASK_FEQ_Q 0xfe00707f
+#define MATCH_FCVT_W_S 0xc0000053
+#define MASK_FCVT_W_S 0xfff0007f
+#define MATCH_FCVT_WU_S 0xc0100053
+#define MASK_FCVT_WU_S 0xfff0007f
+#define MATCH_FCVT_L_S 0xc0200053
+#define MASK_FCVT_L_S 0xfff0007f
+#define MATCH_FCVT_LU_S 0xc0300053
+#define MASK_FCVT_LU_S 0xfff0007f
+#define MATCH_FMV_X_W 0xe0000053
+#define MASK_FMV_X_W 0xfff0707f
+#define MATCH_FCLASS_S 0xe0001053
+#define MASK_FCLASS_S 0xfff0707f
+#define MATCH_FCVT_W_D 0xc2000053
+#define MASK_FCVT_W_D 0xfff0007f
+#define MATCH_FCVT_WU_D 0xc2100053
+#define MASK_FCVT_WU_D 0xfff0007f
+#define MATCH_FCVT_L_D 0xc2200053
+#define MASK_FCVT_L_D 0xfff0007f
+#define MATCH_FCVT_LU_D 0xc2300053
+#define MASK_FCVT_LU_D 0xfff0007f
+#define MATCH_FMV_X_D 0xe2000053
+#define MASK_FMV_X_D 0xfff0707f
+#define MATCH_FCLASS_D 0xe2001053
+#define MASK_FCLASS_D 0xfff0707f
+#define MATCH_FCVT_W_Q 0xc6000053
+#define MASK_FCVT_W_Q 0xfff0007f
+#define MATCH_FCVT_WU_Q 0xc6100053
+#define MASK_FCVT_WU_Q 0xfff0007f
+#define MATCH_FCVT_L_Q 0xc6200053
+#define MASK_FCVT_L_Q 0xfff0007f
+#define MATCH_FCVT_LU_Q 0xc6300053
+#define MASK_FCVT_LU_Q 0xfff0007f
+#define MATCH_FMV_X_Q 0xe6000053
+#define MASK_FMV_X_Q 0xfff0707f
+#define MATCH_FCLASS_Q 0xe6001053
+#define MASK_FCLASS_Q 0xfff0707f
+#define MATCH_FCVT_S_W 0xd0000053
+#define MASK_FCVT_S_W 0xfff0007f
+#define MATCH_FCVT_S_WU 0xd0100053
+#define MASK_FCVT_S_WU 0xfff0007f
+#define MATCH_FCVT_S_L 0xd0200053
+#define MASK_FCVT_S_L 0xfff0007f
+#define MATCH_FCVT_S_LU 0xd0300053
+#define MASK_FCVT_S_LU 0xfff0007f
+#define MATCH_FMV_W_X 0xf0000053
+#define MASK_FMV_W_X 0xfff0707f
+#define MATCH_FCVT_D_W 0xd2000053
+#define MASK_FCVT_D_W 0xfff0007f
+#define MATCH_FCVT_D_WU 0xd2100053
+#define MASK_FCVT_D_WU 0xfff0007f
+#define MATCH_FCVT_D_L 0xd2200053
+#define MASK_FCVT_D_L 0xfff0007f
+#define MATCH_FCVT_D_LU 0xd2300053
+#define MASK_FCVT_D_LU 0xfff0007f
+#define MATCH_FMV_D_X 0xf2000053
+#define MASK_FMV_D_X 0xfff0707f
+#define MATCH_FCVT_Q_W 0xd6000053
+#define MASK_FCVT_Q_W 0xfff0007f
+#define MATCH_FCVT_Q_WU 0xd6100053
+#define MASK_FCVT_Q_WU 0xfff0007f
+#define MATCH_FCVT_Q_L 0xd6200053
+#define MASK_FCVT_Q_L 0xfff0007f
+#define MATCH_FCVT_Q_LU 0xd6300053
+#define MASK_FCVT_Q_LU 0xfff0007f
+#define MATCH_FMV_Q_X 0xf6000053
+#define MASK_FMV_Q_X 0xfff0707f
+#define MATCH_FLW 0x2007
+#define MASK_FLW 0x707f
+#define MATCH_FLD 0x3007
+#define MASK_FLD 0x707f
+#define MATCH_FLQ 0x4007
+#define MASK_FLQ 0x707f
+#define MATCH_FSW 0x2027
+#define MASK_FSW 0x707f
+#define MATCH_FSD 0x3027
+#define MASK_FSD 0x707f
+#define MATCH_FSQ 0x4027
+#define MASK_FSQ 0x707f
+#define MATCH_FMADD_S 0x43
+#define MASK_FMADD_S 0x600007f
+#define MATCH_FMSUB_S 0x47
+#define MASK_FMSUB_S 0x600007f
+#define MATCH_FNMSUB_S 0x4b
+#define MASK_FNMSUB_S 0x600007f
+#define MATCH_FNMADD_S 0x4f
+#define MASK_FNMADD_S 0x600007f
+#define MATCH_FMADD_D 0x2000043
+#define MASK_FMADD_D 0x600007f
+#define MATCH_FMSUB_D 0x2000047
+#define MASK_FMSUB_D 0x600007f
+#define MATCH_FNMSUB_D 0x200004b
+#define MASK_FNMSUB_D 0x600007f
+#define MATCH_FNMADD_D 0x200004f
+#define MASK_FNMADD_D 0x600007f
+#define MATCH_FMADD_Q 0x6000043
+#define MASK_FMADD_Q 0x600007f
+#define MATCH_FMSUB_Q 0x6000047
+#define MASK_FMSUB_Q 0x600007f
+#define MATCH_FNMSUB_Q 0x600004b
+#define MASK_FNMSUB_Q 0x600007f
+#define MATCH_FNMADD_Q 0x600004f
+#define MASK_FNMADD_Q 0x600007f
+#define MATCH_C_NOP 0x1
+#define MASK_C_NOP 0xffff
+#define MATCH_C_ADDI16SP 0x6101
+#define MASK_C_ADDI16SP 0xef83
+#define MATCH_C_JR 0x8002
+#define MASK_C_JR 0xf07f
+#define MATCH_C_JALR 0x9002
+#define MASK_C_JALR 0xf07f
+#define MATCH_C_EBREAK 0x9002
+#define MASK_C_EBREAK 0xffff
+#define MATCH_C_LD 0x6000
+#define MASK_C_LD 0xe003
+#define MATCH_C_SD 0xe000
+#define MASK_C_SD 0xe003
+#define MATCH_C_ADDIW 0x2001
+#define MASK_C_ADDIW 0xe003
+#define MATCH_C_LDSP 0x6002
+#define MASK_C_LDSP 0xe003
+#define MATCH_C_SDSP 0xe002
+#define MASK_C_SDSP 0xe003
+#define MATCH_C_ADDI4SPN 0x0
+#define MASK_C_ADDI4SPN 0xe003
+#define MATCH_C_FLD 0x2000
+#define MASK_C_FLD 0xe003
+#define MATCH_C_LW 0x4000
+#define MASK_C_LW 0xe003
+#define MATCH_C_FLW 0x6000
+#define MASK_C_FLW 0xe003
+#define MATCH_C_FSD 0xa000
+#define MASK_C_FSD 0xe003
+#define MATCH_C_SW 0xc000
+#define MASK_C_SW 0xe003
+#define MATCH_C_FSW 0xe000
+#define MASK_C_FSW 0xe003
+#define MATCH_C_ADDI 0x1
+#define MASK_C_ADDI 0xe003
+#define MATCH_C_JAL 0x2001
+#define MASK_C_JAL 0xe003
+#define MATCH_C_LI 0x4001
+#define MASK_C_LI 0xe003
+#define MATCH_C_LUI 0x6001
+#define MASK_C_LUI 0xe003
+#define MATCH_C_SRLI 0x8001
+#define MASK_C_SRLI 0xec03
+#define MATCH_C_SRAI 0x8401
+#define MASK_C_SRAI 0xec03
+#define MATCH_C_ANDI 0x8801
+#define MASK_C_ANDI 0xec03
+#define MATCH_C_SUB 0x8c01
+#define MASK_C_SUB 0xfc63
+#define MATCH_C_XOR 0x8c21
+#define MASK_C_XOR 0xfc63
+#define MATCH_C_OR 0x8c41
+#define MASK_C_OR 0xfc63
+#define MATCH_C_AND 0x8c61
+#define MASK_C_AND 0xfc63
+#define MATCH_C_SUBW 0x9c01
+#define MASK_C_SUBW 0xfc63
+#define MATCH_C_ADDW 0x9c21
+#define MASK_C_ADDW 0xfc63
+#define MATCH_C_J 0xa001
+#define MASK_C_J 0xe003
+#define MATCH_C_BEQZ 0xc001
+#define MASK_C_BEQZ 0xe003
+#define MATCH_C_BNEZ 0xe001
+#define MASK_C_BNEZ 0xe003
+#define MATCH_C_SLLI 0x2
+#define MASK_C_SLLI 0xe003
+#define MATCH_C_FLDSP 0x2002
+#define MASK_C_FLDSP 0xe003
+#define MATCH_C_LWSP 0x4002
+#define MASK_C_LWSP 0xe003
+#define MATCH_C_FLWSP 0x6002
+#define MASK_C_FLWSP 0xe003
+#define MATCH_C_MV 0x8002
+#define MASK_C_MV 0xf003
+#define MATCH_C_ADD 0x9002
+#define MASK_C_ADD 0xf003
+#define MATCH_C_FSDSP 0xa002
+#define MASK_C_FSDSP 0xe003
+#define MATCH_C_SWSP 0xc002
+#define MASK_C_SWSP 0xe003
+#define MATCH_C_FSWSP 0xe002
+#define MASK_C_FSWSP 0xe003
+#define MATCH_CUSTOM0 0xb
+#define MASK_CUSTOM0 0x707f
+#define MATCH_CUSTOM0_RS1 0x200b
+#define MASK_CUSTOM0_RS1 0x707f
+#define MATCH_CUSTOM0_RS1_RS2 0x300b
+#define MASK_CUSTOM0_RS1_RS2 0x707f
+#define MATCH_CUSTOM0_RD 0x400b
+#define MASK_CUSTOM0_RD 0x707f
+#define MATCH_CUSTOM0_RD_RS1 0x600b
+#define MASK_CUSTOM0_RD_RS1 0x707f
+#define MATCH_CUSTOM0_RD_RS1_RS2 0x700b
+#define MASK_CUSTOM0_RD_RS1_RS2 0x707f
+#define MATCH_CUSTOM1 0x2b
+#define MASK_CUSTOM1 0x707f
+#define MATCH_CUSTOM1_RS1 0x202b
+#define MASK_CUSTOM1_RS1 0x707f
+#define MATCH_CUSTOM1_RS1_RS2 0x302b
+#define MASK_CUSTOM1_RS1_RS2 0x707f
+#define MATCH_CUSTOM1_RD 0x402b
+#define MASK_CUSTOM1_RD 0x707f
+#define MATCH_CUSTOM1_RD_RS1 0x602b
+#define MASK_CUSTOM1_RD_RS1 0x707f
+#define MATCH_CUSTOM1_RD_RS1_RS2 0x702b
+#define MASK_CUSTOM1_RD_RS1_RS2 0x707f
+#define MATCH_CUSTOM2 0x5b
+#define MASK_CUSTOM2 0x707f
+#define MATCH_CUSTOM2_RS1 0x205b
+#define MASK_CUSTOM2_RS1 0x707f
+#define MATCH_CUSTOM2_RS1_RS2 0x305b
+#define MASK_CUSTOM2_RS1_RS2 0x707f
+#define MATCH_CUSTOM2_RD 0x405b
+#define MASK_CUSTOM2_RD 0x707f
+#define MATCH_CUSTOM2_RD_RS1 0x605b
+#define MASK_CUSTOM2_RD_RS1 0x707f
+#define MATCH_CUSTOM2_RD_RS1_RS2 0x705b
+#define MASK_CUSTOM2_RD_RS1_RS2 0x707f
+#define MATCH_CUSTOM3 0x7b
+#define MASK_CUSTOM3 0x707f
+#define MATCH_CUSTOM3_RS1 0x207b
+#define MASK_CUSTOM3_RS1 0x707f
+#define MATCH_CUSTOM3_RS1_RS2 0x307b
+#define MASK_CUSTOM3_RS1_RS2 0x707f
+#define MATCH_CUSTOM3_RD 0x407b
+#define MASK_CUSTOM3_RD 0x707f
+#define MATCH_CUSTOM3_RD_RS1 0x607b
+#define MASK_CUSTOM3_RD_RS1 0x707f
+#define MATCH_CUSTOM3_RD_RS1_RS2 0x707b
+#define MASK_CUSTOM3_RD_RS1_RS2 0x707f
+#define CSR_FFLAGS 0x1
+#define CSR_FRM 0x2
+#define CSR_FCSR 0x3
+#define CSR_CYCLE 0xc00
+#define CSR_TIME 0xc01
+#define CSR_INSTRET 0xc02
+#define CSR_HPMCOUNTER3 0xc03
+#define CSR_HPMCOUNTER4 0xc04
+#define CSR_HPMCOUNTER5 0xc05
+#define CSR_HPMCOUNTER6 0xc06
+#define CSR_HPMCOUNTER7 0xc07
+#define CSR_HPMCOUNTER8 0xc08
+#define CSR_HPMCOUNTER9 0xc09
+#define CSR_HPMCOUNTER10 0xc0a
+#define CSR_HPMCOUNTER11 0xc0b
+#define CSR_HPMCOUNTER12 0xc0c
+#define CSR_HPMCOUNTER13 0xc0d
+#define CSR_HPMCOUNTER14 0xc0e
+#define CSR_HPMCOUNTER15 0xc0f
+#define CSR_HPMCOUNTER16 0xc10
+#define CSR_HPMCOUNTER17 0xc11
+#define CSR_HPMCOUNTER18 0xc12
+#define CSR_HPMCOUNTER19 0xc13
+#define CSR_HPMCOUNTER20 0xc14
+#define CSR_HPMCOUNTER21 0xc15
+#define CSR_HPMCOUNTER22 0xc16
+#define CSR_HPMCOUNTER23 0xc17
+#define CSR_HPMCOUNTER24 0xc18
+#define CSR_HPMCOUNTER25 0xc19
+#define CSR_HPMCOUNTER26 0xc1a
+#define CSR_HPMCOUNTER27 0xc1b
+#define CSR_HPMCOUNTER28 0xc1c
+#define CSR_HPMCOUNTER29 0xc1d
+#define CSR_HPMCOUNTER30 0xc1e
+#define CSR_HPMCOUNTER31 0xc1f
+#define CSR_SSTATUS 0x100
+#define CSR_SIE 0x104
+#define CSR_STVEC 0x105
+#define CSR_SCOUNTEREN 0x106
+#define CSR_SSCRATCH 0x140
+#define CSR_SEPC 0x141
+#define CSR_SCAUSE 0x142
+#define CSR_STVAL 0x143
+#define CSR_SIP 0x144
+#define CSR_SATP 0x180
+#define CSR_MSTATUS 0x300
+#define CSR_MISA 0x301
+#define CSR_MEDELEG 0x302
+#define CSR_MIDELEG 0x303
+#define CSR_MIE 0x304
+#define CSR_MTVEC 0x305
+#define CSR_MCOUNTEREN 0x306
+#define CSR_MSCRATCH 0x340
+#define CSR_MEPC 0x341
+#define CSR_MCAUSE 0x342
+#define CSR_MTVAL 0x343
+#define CSR_MIP 0x344
+#define CSR_PMPCFG0 0x3a0
+#define CSR_PMPCFG1 0x3a1
+#define CSR_PMPCFG2 0x3a2
+#define CSR_PMPCFG3 0x3a3
+#define CSR_PMPADDR0 0x3b0
+#define CSR_PMPADDR1 0x3b1
+#define CSR_PMPADDR2 0x3b2
+#define CSR_PMPADDR3 0x3b3
+#define CSR_PMPADDR4 0x3b4
+#define CSR_PMPADDR5 0x3b5
+#define CSR_PMPADDR6 0x3b6
+#define CSR_PMPADDR7 0x3b7
+#define CSR_PMPADDR8 0x3b8
+#define CSR_PMPADDR9 0x3b9
+#define CSR_PMPADDR10 0x3ba
+#define CSR_PMPADDR11 0x3bb
+#define CSR_PMPADDR12 0x3bc
+#define CSR_PMPADDR13 0x3bd
+#define CSR_PMPADDR14 0x3be
+#define CSR_PMPADDR15 0x3bf
+#define CSR_TSELECT 0x7a0
+#define CSR_TDATA1 0x7a1
+#define CSR_TDATA2 0x7a2
+#define CSR_TDATA3 0x7a3
+#define CSR_DCSR 0x7b0
+#define CSR_DPC 0x7b1
+#define CSR_DSCRATCH 0x7b2
+#define CSR_MCYCLE 0xb00
+#define CSR_MINSTRET 0xb02
+#define CSR_MHPMCOUNTER3 0xb03
+#define CSR_MHPMCOUNTER4 0xb04
+#define CSR_MHPMCOUNTER5 0xb05
+#define CSR_MHPMCOUNTER6 0xb06
+#define CSR_MHPMCOUNTER7 0xb07
+#define CSR_MHPMCOUNTER8 0xb08
+#define CSR_MHPMCOUNTER9 0xb09
+#define CSR_MHPMCOUNTER10 0xb0a
+#define CSR_MHPMCOUNTER11 0xb0b
+#define CSR_MHPMCOUNTER12 0xb0c
+#define CSR_MHPMCOUNTER13 0xb0d
+#define CSR_MHPMCOUNTER14 0xb0e
+#define CSR_MHPMCOUNTER15 0xb0f
+#define CSR_MHPMCOUNTER16 0xb10
+#define CSR_MHPMCOUNTER17 0xb11
+#define CSR_MHPMCOUNTER18 0xb12
+#define CSR_MHPMCOUNTER19 0xb13
+#define CSR_MHPMCOUNTER20 0xb14
+#define CSR_MHPMCOUNTER21 0xb15
+#define CSR_MHPMCOUNTER22 0xb16
+#define CSR_MHPMCOUNTER23 0xb17
+#define CSR_MHPMCOUNTER24 0xb18
+#define CSR_MHPMCOUNTER25 0xb19
+#define CSR_MHPMCOUNTER26 0xb1a
+#define CSR_MHPMCOUNTER27 0xb1b
+#define CSR_MHPMCOUNTER28 0xb1c
+#define CSR_MHPMCOUNTER29 0xb1d
+#define CSR_MHPMCOUNTER30 0xb1e
+#define CSR_MHPMCOUNTER31 0xb1f
+#define CSR_MHPMEVENT3 0x323
+#define CSR_MHPMEVENT4 0x324
+#define CSR_MHPMEVENT5 0x325
+#define CSR_MHPMEVENT6 0x326
+#define CSR_MHPMEVENT7 0x327
+#define CSR_MHPMEVENT8 0x328
+#define CSR_MHPMEVENT9 0x329
+#define CSR_MHPMEVENT10 0x32a
+#define CSR_MHPMEVENT11 0x32b
+#define CSR_MHPMEVENT12 0x32c
+#define CSR_MHPMEVENT13 0x32d
+#define CSR_MHPMEVENT14 0x32e
+#define CSR_MHPMEVENT15 0x32f
+#define CSR_MHPMEVENT16 0x330
+#define CSR_MHPMEVENT17 0x331
+#define CSR_MHPMEVENT18 0x332
+#define CSR_MHPMEVENT19 0x333
+#define CSR_MHPMEVENT20 0x334
+#define CSR_MHPMEVENT21 0x335
+#define CSR_MHPMEVENT22 0x336
+#define CSR_MHPMEVENT23 0x337
+#define CSR_MHPMEVENT24 0x338
+#define CSR_MHPMEVENT25 0x339
+#define CSR_MHPMEVENT26 0x33a
+#define CSR_MHPMEVENT27 0x33b
+#define CSR_MHPMEVENT28 0x33c
+#define CSR_MHPMEVENT29 0x33d
+#define CSR_MHPMEVENT30 0x33e
+#define CSR_MHPMEVENT31 0x33f
+#define CSR_MVENDORID 0xf11
+#define CSR_MARCHID 0xf12
+#define CSR_MIMPID 0xf13
+#define CSR_MHARTID 0xf14
+#define CSR_CYCLEH 0xc80
+#define CSR_TIMEH 0xc81
+#define CSR_INSTRETH 0xc82
+#define CSR_HPMCOUNTER3H 0xc83
+#define CSR_HPMCOUNTER4H 0xc84
+#define CSR_HPMCOUNTER5H 0xc85
+#define CSR_HPMCOUNTER6H 0xc86
+#define CSR_HPMCOUNTER7H 0xc87
+#define CSR_HPMCOUNTER8H 0xc88
+#define CSR_HPMCOUNTER9H 0xc89
+#define CSR_HPMCOUNTER10H 0xc8a
+#define CSR_HPMCOUNTER11H 0xc8b
+#define CSR_HPMCOUNTER12H 0xc8c
+#define CSR_HPMCOUNTER13H 0xc8d
+#define CSR_HPMCOUNTER14H 0xc8e
+#define CSR_HPMCOUNTER15H 0xc8f
+#define CSR_HPMCOUNTER16H 0xc90
+#define CSR_HPMCOUNTER17H 0xc91
+#define CSR_HPMCOUNTER18H 0xc92
+#define CSR_HPMCOUNTER19H 0xc93
+#define CSR_HPMCOUNTER20H 0xc94
+#define CSR_HPMCOUNTER21H 0xc95
+#define CSR_HPMCOUNTER22H 0xc96
+#define CSR_HPMCOUNTER23H 0xc97
+#define CSR_HPMCOUNTER24H 0xc98
+#define CSR_HPMCOUNTER25H 0xc99
+#define CSR_HPMCOUNTER26H 0xc9a
+#define CSR_HPMCOUNTER27H 0xc9b
+#define CSR_HPMCOUNTER28H 0xc9c
+#define CSR_HPMCOUNTER29H 0xc9d
+#define CSR_HPMCOUNTER30H 0xc9e
+#define CSR_HPMCOUNTER31H 0xc9f
+#define CSR_MCYCLEH 0xb80
+#define CSR_MINSTRETH 0xb82
+#define CSR_MHPMCOUNTER3H 0xb83
+#define CSR_MHPMCOUNTER4H 0xb84
+#define CSR_MHPMCOUNTER5H 0xb85
+#define CSR_MHPMCOUNTER6H 0xb86
+#define CSR_MHPMCOUNTER7H 0xb87
+#define CSR_MHPMCOUNTER8H 0xb88
+#define CSR_MHPMCOUNTER9H 0xb89
+#define CSR_MHPMCOUNTER10H 0xb8a
+#define CSR_MHPMCOUNTER11H 0xb8b
+#define CSR_MHPMCOUNTER12H 0xb8c
+#define CSR_MHPMCOUNTER13H 0xb8d
+#define CSR_MHPMCOUNTER14H 0xb8e
+#define CSR_MHPMCOUNTER15H 0xb8f
+#define CSR_MHPMCOUNTER16H 0xb90
+#define CSR_MHPMCOUNTER17H 0xb91
+#define CSR_MHPMCOUNTER18H 0xb92
+#define CSR_MHPMCOUNTER19H 0xb93
+#define CSR_MHPMCOUNTER20H 0xb94
+#define CSR_MHPMCOUNTER21H 0xb95
+#define CSR_MHPMCOUNTER22H 0xb96
+#define CSR_MHPMCOUNTER23H 0xb97
+#define CSR_MHPMCOUNTER24H 0xb98
+#define CSR_MHPMCOUNTER25H 0xb99
+#define CSR_MHPMCOUNTER26H 0xb9a
+#define CSR_MHPMCOUNTER27H 0xb9b
+#define CSR_MHPMCOUNTER28H 0xb9c
+#define CSR_MHPMCOUNTER29H 0xb9d
+#define CSR_MHPMCOUNTER30H 0xb9e
+#define CSR_MHPMCOUNTER31H 0xb9f
+#define CAUSE_MISALIGNED_FETCH 0x0
+#define CAUSE_FETCH_ACCESS 0x1
+#define CAUSE_ILLEGAL_INSTRUCTION 0x2
+#define CAUSE_BREAKPOINT 0x3
+#define CAUSE_MISALIGNED_LOAD 0x4
+#define CAUSE_LOAD_ACCESS 0x5
+#define CAUSE_MISALIGNED_STORE 0x6
+#define CAUSE_STORE_ACCESS 0x7
+#define CAUSE_USER_ECALL 0x8
+#define CAUSE_SUPERVISOR_ECALL 0x9
+#define CAUSE_HYPERVISOR_ECALL 0xa
+#define CAUSE_MACHINE_ECALL 0xb
+#define CAUSE_FETCH_PAGE_FAULT 0xc
+#define CAUSE_LOAD_PAGE_FAULT 0xd
+#define CAUSE_STORE_PAGE_FAULT 0xf
+#endif
+#ifdef DECLARE_INSN
+DECLARE_INSN(beq, MATCH_BEQ, MASK_BEQ)
+DECLARE_INSN(bne, MATCH_BNE, MASK_BNE)
+DECLARE_INSN(blt, MATCH_BLT, MASK_BLT)
+DECLARE_INSN(bge, MATCH_BGE, MASK_BGE)
+DECLARE_INSN(bltu, MATCH_BLTU, MASK_BLTU)
+DECLARE_INSN(bgeu, MATCH_BGEU, MASK_BGEU)
+DECLARE_INSN(jalr, MATCH_JALR, MASK_JALR)
+DECLARE_INSN(jal, MATCH_JAL, MASK_JAL)
+DECLARE_INSN(lui, MATCH_LUI, MASK_LUI)
+DECLARE_INSN(auipc, MATCH_AUIPC, MASK_AUIPC)
+DECLARE_INSN(addi, MATCH_ADDI, MASK_ADDI)
+DECLARE_INSN(slli, MATCH_SLLI, MASK_SLLI)
+DECLARE_INSN(slti, MATCH_SLTI, MASK_SLTI)
+DECLARE_INSN(sltiu, MATCH_SLTIU, MASK_SLTIU)
+DECLARE_INSN(xori, MATCH_XORI, MASK_XORI)
+DECLARE_INSN(srli, MATCH_SRLI, MASK_SRLI)
+DECLARE_INSN(srai, MATCH_SRAI, MASK_SRAI)
+DECLARE_INSN(ori, MATCH_ORI, MASK_ORI)
+DECLARE_INSN(andi, MATCH_ANDI, MASK_ANDI)
+DECLARE_INSN(add, MATCH_ADD, MASK_ADD)
+DECLARE_INSN(sub, MATCH_SUB, MASK_SUB)
+DECLARE_INSN(sll, MATCH_SLL, MASK_SLL)
+DECLARE_INSN(slt, MATCH_SLT, MASK_SLT)
+DECLARE_INSN(sltu, MATCH_SLTU, MASK_SLTU)
+DECLARE_INSN(xor, MATCH_XOR, MASK_XOR)
+DECLARE_INSN(srl, MATCH_SRL, MASK_SRL)
+DECLARE_INSN(sra, MATCH_SRA, MASK_SRA)
+DECLARE_INSN(or, MATCH_OR, MASK_OR)
+DECLARE_INSN(and, MATCH_AND, MASK_AND)
+DECLARE_INSN(addiw, MATCH_ADDIW, MASK_ADDIW)
+DECLARE_INSN(slliw, MATCH_SLLIW, MASK_SLLIW)
+DECLARE_INSN(srliw, MATCH_SRLIW, MASK_SRLIW)
+DECLARE_INSN(sraiw, MATCH_SRAIW, MASK_SRAIW)
+DECLARE_INSN(addw, MATCH_ADDW, MASK_ADDW)
+DECLARE_INSN(subw, MATCH_SUBW, MASK_SUBW)
+DECLARE_INSN(sllw, MATCH_SLLW, MASK_SLLW)
+DECLARE_INSN(srlw, MATCH_SRLW, MASK_SRLW)
+DECLARE_INSN(sraw, MATCH_SRAW, MASK_SRAW)
+DECLARE_INSN(lb, MATCH_LB, MASK_LB)
+DECLARE_INSN(lh, MATCH_LH, MASK_LH)
+DECLARE_INSN(lw, MATCH_LW, MASK_LW)
+DECLARE_INSN(ld, MATCH_LD, MASK_LD)
+DECLARE_INSN(lbu, MATCH_LBU, MASK_LBU)
+DECLARE_INSN(lhu, MATCH_LHU, MASK_LHU)
+DECLARE_INSN(lwu, MATCH_LWU, MASK_LWU)
+DECLARE_INSN(sb, MATCH_SB, MASK_SB)
+DECLARE_INSN(sh, MATCH_SH, MASK_SH)
+DECLARE_INSN(sw, MATCH_SW, MASK_SW)
+DECLARE_INSN(sd, MATCH_SD, MASK_SD)
+DECLARE_INSN(fence, MATCH_FENCE, MASK_FENCE)
+DECLARE_INSN(fence_i, MATCH_FENCE_I, MASK_FENCE_I)
+DECLARE_INSN(mul, MATCH_MUL, MASK_MUL)
+DECLARE_INSN(mulh, MATCH_MULH, MASK_MULH)
+DECLARE_INSN(mulhsu, MATCH_MULHSU, MASK_MULHSU)
+DECLARE_INSN(mulhu, MATCH_MULHU, MASK_MULHU)
+DECLARE_INSN(div, MATCH_DIV, MASK_DIV)
+DECLARE_INSN(divu, MATCH_DIVU, MASK_DIVU)
+DECLARE_INSN(rem, MATCH_REM, MASK_REM)
+DECLARE_INSN(remu, MATCH_REMU, MASK_REMU)
+DECLARE_INSN(mulw, MATCH_MULW, MASK_MULW)
+DECLARE_INSN(divw, MATCH_DIVW, MASK_DIVW)
+DECLARE_INSN(divuw, MATCH_DIVUW, MASK_DIVUW)
+DECLARE_INSN(remw, MATCH_REMW, MASK_REMW)
+DECLARE_INSN(remuw, MATCH_REMUW, MASK_REMUW)
+DECLARE_INSN(amoadd_w, MATCH_AMOADD_W, MASK_AMOADD_W)
+DECLARE_INSN(amoxor_w, MATCH_AMOXOR_W, MASK_AMOXOR_W)
+DECLARE_INSN(amoor_w, MATCH_AMOOR_W, MASK_AMOOR_W)
+DECLARE_INSN(amoand_w, MATCH_AMOAND_W, MASK_AMOAND_W)
+DECLARE_INSN(amomin_w, MATCH_AMOMIN_W, MASK_AMOMIN_W)
+DECLARE_INSN(amomax_w, MATCH_AMOMAX_W, MASK_AMOMAX_W)
+DECLARE_INSN(amominu_w, MATCH_AMOMINU_W, MASK_AMOMINU_W)
+DECLARE_INSN(amomaxu_w, MATCH_AMOMAXU_W, MASK_AMOMAXU_W)
+DECLARE_INSN(amoswap_w, MATCH_AMOSWAP_W, MASK_AMOSWAP_W)
+DECLARE_INSN(lr_w, MATCH_LR_W, MASK_LR_W)
+DECLARE_INSN(sc_w, MATCH_SC_W, MASK_SC_W)
+DECLARE_INSN(amoadd_d, MATCH_AMOADD_D, MASK_AMOADD_D)
+DECLARE_INSN(amoxor_d, MATCH_AMOXOR_D, MASK_AMOXOR_D)
+DECLARE_INSN(amoor_d, MATCH_AMOOR_D, MASK_AMOOR_D)
+DECLARE_INSN(amoand_d, MATCH_AMOAND_D, MASK_AMOAND_D)
+DECLARE_INSN(amomin_d, MATCH_AMOMIN_D, MASK_AMOMIN_D)
+DECLARE_INSN(amomax_d, MATCH_AMOMAX_D, MASK_AMOMAX_D)
+DECLARE_INSN(amominu_d, MATCH_AMOMINU_D, MASK_AMOMINU_D)
+DECLARE_INSN(amomaxu_d, MATCH_AMOMAXU_D, MASK_AMOMAXU_D)
+DECLARE_INSN(amoswap_d, MATCH_AMOSWAP_D, MASK_AMOSWAP_D)
+DECLARE_INSN(lr_d, MATCH_LR_D, MASK_LR_D)
+DECLARE_INSN(sc_d, MATCH_SC_D, MASK_SC_D)
+DECLARE_INSN(ecall, MATCH_ECALL, MASK_ECALL)
+DECLARE_INSN(ebreak, MATCH_EBREAK, MASK_EBREAK)
+DECLARE_INSN(uret, MATCH_URET, MASK_URET)
+DECLARE_INSN(sret, MATCH_SRET, MASK_SRET)
+DECLARE_INSN(mret, MATCH_MRET, MASK_MRET)
+DECLARE_INSN(dret, MATCH_DRET, MASK_DRET)
+DECLARE_INSN(sfence_vma, MATCH_SFENCE_VMA, MASK_SFENCE_VMA)
+DECLARE_INSN(wfi, MATCH_WFI, MASK_WFI)
+DECLARE_INSN(csrrw, MATCH_CSRRW, MASK_CSRRW)
+DECLARE_INSN(csrrs, MATCH_CSRRS, MASK_CSRRS)
+DECLARE_INSN(csrrc, MATCH_CSRRC, MASK_CSRRC)
+DECLARE_INSN(csrrwi, MATCH_CSRRWI, MASK_CSRRWI)
+DECLARE_INSN(csrrsi, MATCH_CSRRSI, MASK_CSRRSI)
+DECLARE_INSN(csrrci, MATCH_CSRRCI, MASK_CSRRCI)
+DECLARE_INSN(fadd_s, MATCH_FADD_S, MASK_FADD_S)
+DECLARE_INSN(fsub_s, MATCH_FSUB_S, MASK_FSUB_S)
+DECLARE_INSN(fmul_s, MATCH_FMUL_S, MASK_FMUL_S)
+DECLARE_INSN(fdiv_s, MATCH_FDIV_S, MASK_FDIV_S)
+DECLARE_INSN(fsgnj_s, MATCH_FSGNJ_S, MASK_FSGNJ_S)
+DECLARE_INSN(fsgnjn_s, MATCH_FSGNJN_S, MASK_FSGNJN_S)
+DECLARE_INSN(fsgnjx_s, MATCH_FSGNJX_S, MASK_FSGNJX_S)
+DECLARE_INSN(fmin_s, MATCH_FMIN_S, MASK_FMIN_S)
+DECLARE_INSN(fmax_s, MATCH_FMAX_S, MASK_FMAX_S)
+DECLARE_INSN(fsqrt_s, MATCH_FSQRT_S, MASK_FSQRT_S)
+DECLARE_INSN(fadd_d, MATCH_FADD_D, MASK_FADD_D)
+DECLARE_INSN(fsub_d, MATCH_FSUB_D, MASK_FSUB_D)
+DECLARE_INSN(fmul_d, MATCH_FMUL_D, MASK_FMUL_D)
+DECLARE_INSN(fdiv_d, MATCH_FDIV_D, MASK_FDIV_D)
+DECLARE_INSN(fsgnj_d, MATCH_FSGNJ_D, MASK_FSGNJ_D)
+DECLARE_INSN(fsgnjn_d, MATCH_FSGNJN_D, MASK_FSGNJN_D)
+DECLARE_INSN(fsgnjx_d, MATCH_FSGNJX_D, MASK_FSGNJX_D)
+DECLARE_INSN(fmin_d, MATCH_FMIN_D, MASK_FMIN_D)
+DECLARE_INSN(fmax_d, MATCH_FMAX_D, MASK_FMAX_D)
+DECLARE_INSN(fcvt_s_d, MATCH_FCVT_S_D, MASK_FCVT_S_D)
+DECLARE_INSN(fcvt_d_s, MATCH_FCVT_D_S, MASK_FCVT_D_S)
+DECLARE_INSN(fsqrt_d, MATCH_FSQRT_D, MASK_FSQRT_D)
+DECLARE_INSN(fadd_q, MATCH_FADD_Q, MASK_FADD_Q)
+DECLARE_INSN(fsub_q, MATCH_FSUB_Q, MASK_FSUB_Q)
+DECLARE_INSN(fmul_q, MATCH_FMUL_Q, MASK_FMUL_Q)
+DECLARE_INSN(fdiv_q, MATCH_FDIV_Q, MASK_FDIV_Q)
+DECLARE_INSN(fsgnj_q, MATCH_FSGNJ_Q, MASK_FSGNJ_Q)
+DECLARE_INSN(fsgnjn_q, MATCH_FSGNJN_Q, MASK_FSGNJN_Q)
+DECLARE_INSN(fsgnjx_q, MATCH_FSGNJX_Q, MASK_FSGNJX_Q)
+DECLARE_INSN(fmin_q, MATCH_FMIN_Q, MASK_FMIN_Q)
+DECLARE_INSN(fmax_q, MATCH_FMAX_Q, MASK_FMAX_Q)
+DECLARE_INSN(fcvt_s_q, MATCH_FCVT_S_Q, MASK_FCVT_S_Q)
+DECLARE_INSN(fcvt_q_s, MATCH_FCVT_Q_S, MASK_FCVT_Q_S)
+DECLARE_INSN(fcvt_d_q, MATCH_FCVT_D_Q, MASK_FCVT_D_Q)
+DECLARE_INSN(fcvt_q_d, MATCH_FCVT_Q_D, MASK_FCVT_Q_D)
+DECLARE_INSN(fsqrt_q, MATCH_FSQRT_Q, MASK_FSQRT_Q)
+DECLARE_INSN(fle_s, MATCH_FLE_S, MASK_FLE_S)
+DECLARE_INSN(flt_s, MATCH_FLT_S, MASK_FLT_S)
+DECLARE_INSN(feq_s, MATCH_FEQ_S, MASK_FEQ_S)
+DECLARE_INSN(fle_d, MATCH_FLE_D, MASK_FLE_D)
+DECLARE_INSN(flt_d, MATCH_FLT_D, MASK_FLT_D)
+DECLARE_INSN(feq_d, MATCH_FEQ_D, MASK_FEQ_D)
+DECLARE_INSN(fle_q, MATCH_FLE_Q, MASK_FLE_Q)
+DECLARE_INSN(flt_q, MATCH_FLT_Q, MASK_FLT_Q)
+DECLARE_INSN(feq_q, MATCH_FEQ_Q, MASK_FEQ_Q)
+DECLARE_INSN(fcvt_w_s, MATCH_FCVT_W_S, MASK_FCVT_W_S)
+DECLARE_INSN(fcvt_wu_s, MATCH_FCVT_WU_S, MASK_FCVT_WU_S)
+DECLARE_INSN(fcvt_l_s, MATCH_FCVT_L_S, MASK_FCVT_L_S)
+DECLARE_INSN(fcvt_lu_s, MATCH_FCVT_LU_S, MASK_FCVT_LU_S)
+DECLARE_INSN(fmv_x_w, MATCH_FMV_X_W, MASK_FMV_X_W)
+DECLARE_INSN(fclass_s, MATCH_FCLASS_S, MASK_FCLASS_S)
+DECLARE_INSN(fcvt_w_d, MATCH_FCVT_W_D, MASK_FCVT_W_D)
+DECLARE_INSN(fcvt_wu_d, MATCH_FCVT_WU_D, MASK_FCVT_WU_D)
+DECLARE_INSN(fcvt_l_d, MATCH_FCVT_L_D, MASK_FCVT_L_D)
+DECLARE_INSN(fcvt_lu_d, MATCH_FCVT_LU_D, MASK_FCVT_LU_D)
+DECLARE_INSN(fmv_x_d, MATCH_FMV_X_D, MASK_FMV_X_D)
+DECLARE_INSN(fclass_d, MATCH_FCLASS_D, MASK_FCLASS_D)
+DECLARE_INSN(fcvt_w_q, MATCH_FCVT_W_Q, MASK_FCVT_W_Q)
+DECLARE_INSN(fcvt_wu_q, MATCH_FCVT_WU_Q, MASK_FCVT_WU_Q)
+DECLARE_INSN(fcvt_l_q, MATCH_FCVT_L_Q, MASK_FCVT_L_Q)
+DECLARE_INSN(fcvt_lu_q, MATCH_FCVT_LU_Q, MASK_FCVT_LU_Q)
+DECLARE_INSN(fmv_x_q, MATCH_FMV_X_Q, MASK_FMV_X_Q)
+DECLARE_INSN(fclass_q, MATCH_FCLASS_Q, MASK_FCLASS_Q)
+DECLARE_INSN(fcvt_s_w, MATCH_FCVT_S_W, MASK_FCVT_S_W)
+DECLARE_INSN(fcvt_s_wu, MATCH_FCVT_S_WU, MASK_FCVT_S_WU)
+DECLARE_INSN(fcvt_s_l, MATCH_FCVT_S_L, MASK_FCVT_S_L)
+DECLARE_INSN(fcvt_s_lu, MATCH_FCVT_S_LU, MASK_FCVT_S_LU)
+DECLARE_INSN(fmv_w_x, MATCH_FMV_W_X, MASK_FMV_W_X)
+DECLARE_INSN(fcvt_d_w, MATCH_FCVT_D_W, MASK_FCVT_D_W)
+DECLARE_INSN(fcvt_d_wu, MATCH_FCVT_D_WU, MASK_FCVT_D_WU)
+DECLARE_INSN(fcvt_d_l, MATCH_FCVT_D_L, MASK_FCVT_D_L)
+DECLARE_INSN(fcvt_d_lu, MATCH_FCVT_D_LU, MASK_FCVT_D_LU)
+DECLARE_INSN(fmv_d_x, MATCH_FMV_D_X, MASK_FMV_D_X)
+DECLARE_INSN(fcvt_q_w, MATCH_FCVT_Q_W, MASK_FCVT_Q_W)
+DECLARE_INSN(fcvt_q_wu, MATCH_FCVT_Q_WU, MASK_FCVT_Q_WU)
+DECLARE_INSN(fcvt_q_l, MATCH_FCVT_Q_L, MASK_FCVT_Q_L)
+DECLARE_INSN(fcvt_q_lu, MATCH_FCVT_Q_LU, MASK_FCVT_Q_LU)
+DECLARE_INSN(fmv_q_x, MATCH_FMV_Q_X, MASK_FMV_Q_X)
+DECLARE_INSN(flw, MATCH_FLW, MASK_FLW)
+DECLARE_INSN(fld, MATCH_FLD, MASK_FLD)
+DECLARE_INSN(flq, MATCH_FLQ, MASK_FLQ)
+DECLARE_INSN(fsw, MATCH_FSW, MASK_FSW)
+DECLARE_INSN(fsd, MATCH_FSD, MASK_FSD)
+DECLARE_INSN(fsq, MATCH_FSQ, MASK_FSQ)
+DECLARE_INSN(fmadd_s, MATCH_FMADD_S, MASK_FMADD_S)
+DECLARE_INSN(fmsub_s, MATCH_FMSUB_S, MASK_FMSUB_S)
+DECLARE_INSN(fnmsub_s, MATCH_FNMSUB_S, MASK_FNMSUB_S)
+DECLARE_INSN(fnmadd_s, MATCH_FNMADD_S, MASK_FNMADD_S)
+DECLARE_INSN(fmadd_d, MATCH_FMADD_D, MASK_FMADD_D)
+DECLARE_INSN(fmsub_d, MATCH_FMSUB_D, MASK_FMSUB_D)
+DECLARE_INSN(fnmsub_d, MATCH_FNMSUB_D, MASK_FNMSUB_D)
+DECLARE_INSN(fnmadd_d, MATCH_FNMADD_D, MASK_FNMADD_D)
+DECLARE_INSN(fmadd_q, MATCH_FMADD_Q, MASK_FMADD_Q)
+DECLARE_INSN(fmsub_q, MATCH_FMSUB_Q, MASK_FMSUB_Q)
+DECLARE_INSN(fnmsub_q, MATCH_FNMSUB_Q, MASK_FNMSUB_Q)
+DECLARE_INSN(fnmadd_q, MATCH_FNMADD_Q, MASK_FNMADD_Q)
+DECLARE_INSN(c_nop, MATCH_C_NOP, MASK_C_NOP)
+DECLARE_INSN(c_addi16sp, MATCH_C_ADDI16SP, MASK_C_ADDI16SP)
+DECLARE_INSN(c_jr, MATCH_C_JR, MASK_C_JR)
+DECLARE_INSN(c_jalr, MATCH_C_JALR, MASK_C_JALR)
+DECLARE_INSN(c_ebreak, MATCH_C_EBREAK, MASK_C_EBREAK)
+DECLARE_INSN(c_ld, MATCH_C_LD, MASK_C_LD)
+DECLARE_INSN(c_sd, MATCH_C_SD, MASK_C_SD)
+DECLARE_INSN(c_addiw, MATCH_C_ADDIW, MASK_C_ADDIW)
+DECLARE_INSN(c_ldsp, MATCH_C_LDSP, MASK_C_LDSP)
+DECLARE_INSN(c_sdsp, MATCH_C_SDSP, MASK_C_SDSP)
+DECLARE_INSN(c_addi4spn, MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN)
+DECLARE_INSN(c_fld, MATCH_C_FLD, MASK_C_FLD)
+DECLARE_INSN(c_lw, MATCH_C_LW, MASK_C_LW)
+DECLARE_INSN(c_flw, MATCH_C_FLW, MASK_C_FLW)
+DECLARE_INSN(c_fsd, MATCH_C_FSD, MASK_C_FSD)
+DECLARE_INSN(c_sw, MATCH_C_SW, MASK_C_SW)
+DECLARE_INSN(c_fsw, MATCH_C_FSW, MASK_C_FSW)
+DECLARE_INSN(c_addi, MATCH_C_ADDI, MASK_C_ADDI)
+DECLARE_INSN(c_jal, MATCH_C_JAL, MASK_C_JAL)
+DECLARE_INSN(c_li, MATCH_C_LI, MASK_C_LI)
+DECLARE_INSN(c_lui, MATCH_C_LUI, MASK_C_LUI)
+DECLARE_INSN(c_srli, MATCH_C_SRLI, MASK_C_SRLI)
+DECLARE_INSN(c_srai, MATCH_C_SRAI, MASK_C_SRAI)
+DECLARE_INSN(c_andi, MATCH_C_ANDI, MASK_C_ANDI)
+DECLARE_INSN(c_sub, MATCH_C_SUB, MASK_C_SUB)
+DECLARE_INSN(c_xor, MATCH_C_XOR, MASK_C_XOR)
+DECLARE_INSN(c_or, MATCH_C_OR, MASK_C_OR)
+DECLARE_INSN(c_and, MATCH_C_AND, MASK_C_AND)
+DECLARE_INSN(c_subw, MATCH_C_SUBW, MASK_C_SUBW)
+DECLARE_INSN(c_addw, MATCH_C_ADDW, MASK_C_ADDW)
+DECLARE_INSN(c_j, MATCH_C_J, MASK_C_J)
+DECLARE_INSN(c_beqz, MATCH_C_BEQZ, MASK_C_BEQZ)
+DECLARE_INSN(c_bnez, MATCH_C_BNEZ, MASK_C_BNEZ)
+DECLARE_INSN(c_slli, MATCH_C_SLLI, MASK_C_SLLI)
+DECLARE_INSN(c_fldsp, MATCH_C_FLDSP, MASK_C_FLDSP)
+DECLARE_INSN(c_lwsp, MATCH_C_LWSP, MASK_C_LWSP)
+DECLARE_INSN(c_flwsp, MATCH_C_FLWSP, MASK_C_FLWSP)
+DECLARE_INSN(c_mv, MATCH_C_MV, MASK_C_MV)
+DECLARE_INSN(c_add, MATCH_C_ADD, MASK_C_ADD)
+DECLARE_INSN(c_fsdsp, MATCH_C_FSDSP, MASK_C_FSDSP)
+DECLARE_INSN(c_swsp, MATCH_C_SWSP, MASK_C_SWSP)
+DECLARE_INSN(c_fswsp, MATCH_C_FSWSP, MASK_C_FSWSP)
+DECLARE_INSN(custom0, MATCH_CUSTOM0, MASK_CUSTOM0)
+DECLARE_INSN(custom0_rs1, MATCH_CUSTOM0_RS1, MASK_CUSTOM0_RS1)
+DECLARE_INSN(custom0_rs1_rs2, MATCH_CUSTOM0_RS1_RS2, MASK_CUSTOM0_RS1_RS2)
+DECLARE_INSN(custom0_rd, MATCH_CUSTOM0_RD, MASK_CUSTOM0_RD)
+DECLARE_INSN(custom0_rd_rs1, MATCH_CUSTOM0_RD_RS1, MASK_CUSTOM0_RD_RS1)
+DECLARE_INSN(custom0_rd_rs1_rs2, MATCH_CUSTOM0_RD_RS1_RS2, MASK_CUSTOM0_RD_RS1_RS2)
+DECLARE_INSN(custom1, MATCH_CUSTOM1, MASK_CUSTOM1)
+DECLARE_INSN(custom1_rs1, MATCH_CUSTOM1_RS1, MASK_CUSTOM1_RS1)
+DECLARE_INSN(custom1_rs1_rs2, MATCH_CUSTOM1_RS1_RS2, MASK_CUSTOM1_RS1_RS2)
+DECLARE_INSN(custom1_rd, MATCH_CUSTOM1_RD, MASK_CUSTOM1_RD)
+DECLARE_INSN(custom1_rd_rs1, MATCH_CUSTOM1_RD_RS1, MASK_CUSTOM1_RD_RS1)
+DECLARE_INSN(custom1_rd_rs1_rs2, MATCH_CUSTOM1_RD_RS1_RS2, MASK_CUSTOM1_RD_RS1_RS2)
+DECLARE_INSN(custom2, MATCH_CUSTOM2, MASK_CUSTOM2)
+DECLARE_INSN(custom2_rs1, MATCH_CUSTOM2_RS1, MASK_CUSTOM2_RS1)
+DECLARE_INSN(custom2_rs1_rs2, MATCH_CUSTOM2_RS1_RS2, MASK_CUSTOM2_RS1_RS2)
+DECLARE_INSN(custom2_rd, MATCH_CUSTOM2_RD, MASK_CUSTOM2_RD)
+DECLARE_INSN(custom2_rd_rs1, MATCH_CUSTOM2_RD_RS1, MASK_CUSTOM2_RD_RS1)
+DECLARE_INSN(custom2_rd_rs1_rs2, MATCH_CUSTOM2_RD_RS1_RS2, MASK_CUSTOM2_RD_RS1_RS2)
+DECLARE_INSN(custom3, MATCH_CUSTOM3, MASK_CUSTOM3)
+DECLARE_INSN(custom3_rs1, MATCH_CUSTOM3_RS1, MASK_CUSTOM3_RS1)
+DECLARE_INSN(custom3_rs1_rs2, MATCH_CUSTOM3_RS1_RS2, MASK_CUSTOM3_RS1_RS2)
+DECLARE_INSN(custom3_rd, MATCH_CUSTOM3_RD, MASK_CUSTOM3_RD)
+DECLARE_INSN(custom3_rd_rs1, MATCH_CUSTOM3_RD_RS1, MASK_CUSTOM3_RD_RS1)
+DECLARE_INSN(custom3_rd_rs1_rs2, MATCH_CUSTOM3_RD_RS1_RS2, MASK_CUSTOM3_RD_RS1_RS2)
+#endif
+#ifdef DECLARE_CSR
+DECLARE_CSR(fflags, CSR_FFLAGS)
+DECLARE_CSR(frm, CSR_FRM)
+DECLARE_CSR(fcsr, CSR_FCSR)
+DECLARE_CSR(cycle, CSR_CYCLE)
+DECLARE_CSR(time, CSR_TIME)
+DECLARE_CSR(instret, CSR_INSTRET)
+DECLARE_CSR(hpmcounter3, CSR_HPMCOUNTER3)
+DECLARE_CSR(hpmcounter4, CSR_HPMCOUNTER4)
+DECLARE_CSR(hpmcounter5, CSR_HPMCOUNTER5)
+DECLARE_CSR(hpmcounter6, CSR_HPMCOUNTER6)
+DECLARE_CSR(hpmcounter7, CSR_HPMCOUNTER7)
+DECLARE_CSR(hpmcounter8, CSR_HPMCOUNTER8)
+DECLARE_CSR(hpmcounter9, CSR_HPMCOUNTER9)
+DECLARE_CSR(hpmcounter10, CSR_HPMCOUNTER10)
+DECLARE_CSR(hpmcounter11, CSR_HPMCOUNTER11)
+DECLARE_CSR(hpmcounter12, CSR_HPMCOUNTER12)
+DECLARE_CSR(hpmcounter13, CSR_HPMCOUNTER13)
+DECLARE_CSR(hpmcounter14, CSR_HPMCOUNTER14)
+DECLARE_CSR(hpmcounter15, CSR_HPMCOUNTER15)
+DECLARE_CSR(hpmcounter16, CSR_HPMCOUNTER16)
+DECLARE_CSR(hpmcounter17, CSR_HPMCOUNTER17)
+DECLARE_CSR(hpmcounter18, CSR_HPMCOUNTER18)
+DECLARE_CSR(hpmcounter19, CSR_HPMCOUNTER19)
+DECLARE_CSR(hpmcounter20, CSR_HPMCOUNTER20)
+DECLARE_CSR(hpmcounter21, CSR_HPMCOUNTER21)
+DECLARE_CSR(hpmcounter22, CSR_HPMCOUNTER22)
+DECLARE_CSR(hpmcounter23, CSR_HPMCOUNTER23)
+DECLARE_CSR(hpmcounter24, CSR_HPMCOUNTER24)
+DECLARE_CSR(hpmcounter25, CSR_HPMCOUNTER25)
+DECLARE_CSR(hpmcounter26, CSR_HPMCOUNTER26)
+DECLARE_CSR(hpmcounter27, CSR_HPMCOUNTER27)
+DECLARE_CSR(hpmcounter28, CSR_HPMCOUNTER28)
+DECLARE_CSR(hpmcounter29, CSR_HPMCOUNTER29)
+DECLARE_CSR(hpmcounter30, CSR_HPMCOUNTER30)
+DECLARE_CSR(hpmcounter31, CSR_HPMCOUNTER31)
+DECLARE_CSR(sstatus, CSR_SSTATUS)
+DECLARE_CSR(sie, CSR_SIE)
+DECLARE_CSR(stvec, CSR_STVEC)
+DECLARE_CSR(scounteren, CSR_SCOUNTEREN)
+DECLARE_CSR(sscratch, CSR_SSCRATCH)
+DECLARE_CSR(sepc, CSR_SEPC)
+DECLARE_CSR(scause, CSR_SCAUSE)
+DECLARE_CSR(stval, CSR_STVAL)
+DECLARE_CSR(sip, CSR_SIP)
+DECLARE_CSR(satp, CSR_SATP)
+DECLARE_CSR(mstatus, CSR_MSTATUS)
+DECLARE_CSR(misa, CSR_MISA)
+DECLARE_CSR(medeleg, CSR_MEDELEG)
+DECLARE_CSR(mideleg, CSR_MIDELEG)
+DECLARE_CSR(mie, CSR_MIE)
+DECLARE_CSR(mtvec, CSR_MTVEC)
+DECLARE_CSR(mcounteren, CSR_MCOUNTEREN)
+DECLARE_CSR(mscratch, CSR_MSCRATCH)
+DECLARE_CSR(mepc, CSR_MEPC)
+DECLARE_CSR(mcause, CSR_MCAUSE)
+DECLARE_CSR(mtval, CSR_MTVAL)
+DECLARE_CSR(mip, CSR_MIP)
+DECLARE_CSR(pmpcfg0, CSR_PMPCFG0)
+DECLARE_CSR(pmpcfg1, CSR_PMPCFG1)
+DECLARE_CSR(pmpcfg2, CSR_PMPCFG2)
+DECLARE_CSR(pmpcfg3, CSR_PMPCFG3)
+DECLARE_CSR(pmpaddr0, CSR_PMPADDR0)
+DECLARE_CSR(pmpaddr1, CSR_PMPADDR1)
+DECLARE_CSR(pmpaddr2, CSR_PMPADDR2)
+DECLARE_CSR(pmpaddr3, CSR_PMPADDR3)
+DECLARE_CSR(pmpaddr4, CSR_PMPADDR4)
+DECLARE_CSR(pmpaddr5, CSR_PMPADDR5)
+DECLARE_CSR(pmpaddr6, CSR_PMPADDR6)
+DECLARE_CSR(pmpaddr7, CSR_PMPADDR7)
+DECLARE_CSR(pmpaddr8, CSR_PMPADDR8)
+DECLARE_CSR(pmpaddr9, CSR_PMPADDR9)
+DECLARE_CSR(pmpaddr10, CSR_PMPADDR10)
+DECLARE_CSR(pmpaddr11, CSR_PMPADDR11)
+DECLARE_CSR(pmpaddr12, CSR_PMPADDR12)
+DECLARE_CSR(pmpaddr13, CSR_PMPADDR13)
+DECLARE_CSR(pmpaddr14, CSR_PMPADDR14)
+DECLARE_CSR(pmpaddr15, CSR_PMPADDR15)
+DECLARE_CSR(tselect, CSR_TSELECT)
+DECLARE_CSR(tdata1, CSR_TDATA1)
+DECLARE_CSR(tdata2, CSR_TDATA2)
+DECLARE_CSR(tdata3, CSR_TDATA3)
+DECLARE_CSR(dcsr, CSR_DCSR)
+DECLARE_CSR(dpc, CSR_DPC)
+DECLARE_CSR(dscratch, CSR_DSCRATCH)
+DECLARE_CSR(mcycle, CSR_MCYCLE)
+DECLARE_CSR(minstret, CSR_MINSTRET)
+DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3)
+DECLARE_CSR(mhpmcounter4, CSR_MHPMCOUNTER4)
+DECLARE_CSR(mhpmcounter5, CSR_MHPMCOUNTER5)
+DECLARE_CSR(mhpmcounter6, CSR_MHPMCOUNTER6)
+DECLARE_CSR(mhpmcounter7, CSR_MHPMCOUNTER7)
+DECLARE_CSR(mhpmcounter8, CSR_MHPMCOUNTER8)
+DECLARE_CSR(mhpmcounter9, CSR_MHPMCOUNTER9)
+DECLARE_CSR(mhpmcounter10, CSR_MHPMCOUNTER10)
+DECLARE_CSR(mhpmcounter11, CSR_MHPMCOUNTER11)
+DECLARE_CSR(mhpmcounter12, CSR_MHPMCOUNTER12)
+DECLARE_CSR(mhpmcounter13, CSR_MHPMCOUNTER13)
+DECLARE_CSR(mhpmcounter14, CSR_MHPMCOUNTER14)
+DECLARE_CSR(mhpmcounter15, CSR_MHPMCOUNTER15)
+DECLARE_CSR(mhpmcounter16, CSR_MHPMCOUNTER16)
+DECLARE_CSR(mhpmcounter17, CSR_MHPMCOUNTER17)
+DECLARE_CSR(mhpmcounter18, CSR_MHPMCOUNTER18)
+DECLARE_CSR(mhpmcounter19, CSR_MHPMCOUNTER19)
+DECLARE_CSR(mhpmcounter20, CSR_MHPMCOUNTER20)
+DECLARE_CSR(mhpmcounter21, CSR_MHPMCOUNTER21)
+DECLARE_CSR(mhpmcounter22, CSR_MHPMCOUNTER22)
+DECLARE_CSR(mhpmcounter23, CSR_MHPMCOUNTER23)
+DECLARE_CSR(mhpmcounter24, CSR_MHPMCOUNTER24)
+DECLARE_CSR(mhpmcounter25, CSR_MHPMCOUNTER25)
+DECLARE_CSR(mhpmcounter26, CSR_MHPMCOUNTER26)
+DECLARE_CSR(mhpmcounter27, CSR_MHPMCOUNTER27)
+DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNTER28)
+DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29)
+DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30)
+DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31)
+DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3)
+DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4)
+DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5)
+DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6)
+DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7)
+DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8)
+DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9)
+DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10)
+DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11)
+DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12)
+DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13)
+DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14)
+DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15)
+DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16)
+DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17)
+DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18)
+DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19)
+DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20)
+DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21)
+DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22)
+DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23)
+DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24)
+DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25)
+DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26)
+DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27)
+DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28)
+DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29)
+DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30)
+DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31)
+DECLARE_CSR(mvendorid, CSR_MVENDORID)
+DECLARE_CSR(marchid, CSR_MARCHID)
+DECLARE_CSR(mimpid, CSR_MIMPID)
+DECLARE_CSR(mhartid, CSR_MHARTID)
+DECLARE_CSR(cycleh, CSR_CYCLEH)
+DECLARE_CSR(timeh, CSR_TIMEH)
+DECLARE_CSR(instreth, CSR_INSTRETH)
+DECLARE_CSR(hpmcounter3h, CSR_HPMCOUNTER3H)
+DECLARE_CSR(hpmcounter4h, CSR_HPMCOUNTER4H)
+DECLARE_CSR(hpmcounter5h, CSR_HPMCOUNTER5H)
+DECLARE_CSR(hpmcounter6h, CSR_HPMCOUNTER6H)
+DECLARE_CSR(hpmcounter7h, CSR_HPMCOUNTER7H)
+DECLARE_CSR(hpmcounter8h, CSR_HPMCOUNTER8H)
+DECLARE_CSR(hpmcounter9h, CSR_HPMCOUNTER9H)
+DECLARE_CSR(hpmcounter10h, CSR_HPMCOUNTER10H)
+DECLARE_CSR(hpmcounter11h, CSR_HPMCOUNTER11H)
+DECLARE_CSR(hpmcounter12h, CSR_HPMCOUNTER12H)
+DECLARE_CSR(hpmcounter13h, CSR_HPMCOUNTER13H)
+DECLARE_CSR(hpmcounter14h, CSR_HPMCOUNTER14H)
+DECLARE_CSR(hpmcounter15h, CSR_HPMCOUNTER15H)
+DECLARE_CSR(hpmcounter16h, CSR_HPMCOUNTER16H)
+DECLARE_CSR(hpmcounter17h, CSR_HPMCOUNTER17H)
+DECLARE_CSR(hpmcounter18h, CSR_HPMCOUNTER18H)
+DECLARE_CSR(hpmcounter19h, CSR_HPMCOUNTER19H)
+DECLARE_CSR(hpmcounter20h, CSR_HPMCOUNTER20H)
+DECLARE_CSR(hpmcounter21h, CSR_HPMCOUNTER21H)
+DECLARE_CSR(hpmcounter22h, CSR_HPMCOUNTER22H)
+DECLARE_CSR(hpmcounter23h, CSR_HPMCOUNTER23H)
+DECLARE_CSR(hpmcounter24h, CSR_HPMCOUNTER24H)
+DECLARE_CSR(hpmcounter25h, CSR_HPMCOUNTER25H)
+DECLARE_CSR(hpmcounter26h, CSR_HPMCOUNTER26H)
+DECLARE_CSR(hpmcounter27h, CSR_HPMCOUNTER27H)
+DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H)
+DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H)
+DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H)
+DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H)
+DECLARE_CSR(mcycleh, CSR_MCYCLEH)
+DECLARE_CSR(minstreth, CSR_MINSTRETH)
+DECLARE_CSR(mhpmcounter3h, CSR_MHPMCOUNTER3H)
+DECLARE_CSR(mhpmcounter4h, CSR_MHPMCOUNTER4H)
+DECLARE_CSR(mhpmcounter5h, CSR_MHPMCOUNTER5H)
+DECLARE_CSR(mhpmcounter6h, CSR_MHPMCOUNTER6H)
+DECLARE_CSR(mhpmcounter7h, CSR_MHPMCOUNTER7H)
+DECLARE_CSR(mhpmcounter8h, CSR_MHPMCOUNTER8H)
+DECLARE_CSR(mhpmcounter9h, CSR_MHPMCOUNTER9H)
+DECLARE_CSR(mhpmcounter10h, CSR_MHPMCOUNTER10H)
+DECLARE_CSR(mhpmcounter11h, CSR_MHPMCOUNTER11H)
+DECLARE_CSR(mhpmcounter12h, CSR_MHPMCOUNTER12H)
+DECLARE_CSR(mhpmcounter13h, CSR_MHPMCOUNTER13H)
+DECLARE_CSR(mhpmcounter14h, CSR_MHPMCOUNTER14H)
+DECLARE_CSR(mhpmcounter15h, CSR_MHPMCOUNTER15H)
+DECLARE_CSR(mhpmcounter16h, CSR_MHPMCOUNTER16H)
+DECLARE_CSR(mhpmcounter17h, CSR_MHPMCOUNTER17H)
+DECLARE_CSR(mhpmcounter18h, CSR_MHPMCOUNTER18H)
+DECLARE_CSR(mhpmcounter19h, CSR_MHPMCOUNTER19H)
+DECLARE_CSR(mhpmcounter20h, CSR_MHPMCOUNTER20H)
+DECLARE_CSR(mhpmcounter21h, CSR_MHPMCOUNTER21H)
+DECLARE_CSR(mhpmcounter22h, CSR_MHPMCOUNTER22H)
+DECLARE_CSR(mhpmcounter23h, CSR_MHPMCOUNTER23H)
+DECLARE_CSR(mhpmcounter24h, CSR_MHPMCOUNTER24H)
+DECLARE_CSR(mhpmcounter25h, CSR_MHPMCOUNTER25H)
+DECLARE_CSR(mhpmcounter26h, CSR_MHPMCOUNTER26H)
+DECLARE_CSR(mhpmcounter27h, CSR_MHPMCOUNTER27H)
+DECLARE_CSR(mhpmcounter28h, CSR_MHPMCOUNTER28H)
+DECLARE_CSR(mhpmcounter29h, CSR_MHPMCOUNTER29H)
+DECLARE_CSR(mhpmcounter30h, CSR_MHPMCOUNTER30H)
+DECLARE_CSR(mhpmcounter31h, CSR_MHPMCOUNTER31H)
+#endif
+#ifdef DECLARE_CAUSE
+DECLARE_CAUSE("misaligned fetch", CAUSE_MISALIGNED_FETCH)
+DECLARE_CAUSE("fetch access", CAUSE_FETCH_ACCESS)
+DECLARE_CAUSE("illegal instruction", CAUSE_ILLEGAL_INSTRUCTION)
+DECLARE_CAUSE("breakpoint", CAUSE_BREAKPOINT)
+DECLARE_CAUSE("misaligned load", CAUSE_MISALIGNED_LOAD)
+DECLARE_CAUSE("load access", CAUSE_LOAD_ACCESS)
+DECLARE_CAUSE("misaligned store", CAUSE_MISALIGNED_STORE)
+DECLARE_CAUSE("store access", CAUSE_STORE_ACCESS)
+DECLARE_CAUSE("user_ecall", CAUSE_USER_ECALL)
+DECLARE_CAUSE("supervisor_ecall", CAUSE_SUPERVISOR_ECALL)
+DECLARE_CAUSE("hypervisor_ecall", CAUSE_HYPERVISOR_ECALL)
+DECLARE_CAUSE("machine_ecall", CAUSE_MACHINE_ECALL)
+DECLARE_CAUSE("fetch page fault", CAUSE_FETCH_PAGE_FAULT)
+DECLARE_CAUSE("load page fault", CAUSE_LOAD_PAGE_FAULT)
+DECLARE_CAUSE("store page fault", CAUSE_STORE_PAGE_FAULT)
+#endif
diff --git a/VexRiscv/src/test/cpp/raw/deleg/src/ld b/VexRiscv/src/test/cpp/raw/deleg/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/deleg/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/fpu/.gitignore b/VexRiscv/src/test/cpp/raw/fpu/.gitignore
new file mode 100644
index 0000000..c12cb2c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/fpu/.gitignore
@@ -0,0 +1,4 @@
+*.map
+*.v
+*.elf
+*.o \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/fpu/build/amo.asm b/VexRiscv/src/test/cpp/raw/fpu/build/amo.asm
new file mode 100644
index 0000000..d86b61c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/fpu/build/amo.asm
@@ -0,0 +1,247 @@
+
+build/amo.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: 00100e13 li t3,1
+80000004: 00000097 auipc ra,0x0
+80000008: 27408093 addi ra,ra,628 # 80000278 <test1_data>
+8000000c: 02d00113 li sp,45
+80000010: 0820a1af amoswap.w gp,sp,(ra)
+80000014: 0000a203 lw tp,0(ra)
+80000018: 02d00a13 li s4,45
+8000001c: 224a1663 bne s4,tp,80000248 <fail>
+80000020: 00b00a13 li s4,11
+80000024: 223a1263 bne s4,gp,80000248 <fail>
+
+80000028 <test2>:
+80000028: 00200e13 li t3,2
+8000002c: 00000097 auipc ra,0x0
+80000030: 25008093 addi ra,ra,592 # 8000027c <test2_data>
+80000034: 03700113 li sp,55
+80000038: 0820a1af amoswap.w gp,sp,(ra)
+8000003c: 0000a203 lw tp,0(ra)
+80000040: 03700a13 li s4,55
+80000044: 204a1263 bne s4,tp,80000248 <fail>
+80000048: 01600a13 li s4,22
+8000004c: 1e3a1e63 bne s4,gp,80000248 <fail>
+
+80000050 <test3>:
+80000050: 00300e13 li t3,3
+80000054: 00000097 auipc ra,0x0
+80000058: 22c08093 addi ra,ra,556 # 80000280 <test3_data>
+8000005c: 04200113 li sp,66
+80000060: 0020a1af amoadd.w gp,sp,(ra)
+80000064: 0000a203 lw tp,0(ra)
+80000068: 08b00a13 li s4,139
+8000006c: 1c4a1e63 bne s4,tp,80000248 <fail>
+80000070: 04900a13 li s4,73
+80000074: 1c3a1a63 bne s4,gp,80000248 <fail>
+
+80000078 <test4>:
+80000078: 00400e13 li t3,4
+8000007c: 00000097 auipc ra,0x0
+80000080: 20808093 addi ra,ra,520 # 80000284 <test4_data>
+80000084: 05700113 li sp,87
+80000088: 2020a1af amoxor.w gp,sp,(ra)
+8000008c: 0000a203 lw tp,0(ra)
+80000090: 06d00a13 li s4,109
+80000094: 1a4a1a63 bne s4,tp,80000248 <fail>
+80000098: 03a00a13 li s4,58
+8000009c: 1a3a1663 bne s4,gp,80000248 <fail>
+
+800000a0 <test5>:
+800000a0: 00500e13 li t3,5
+800000a4: 00000097 auipc ra,0x0
+800000a8: 1e408093 addi ra,ra,484 # 80000288 <test5_data>
+800000ac: 02c00113 li sp,44
+800000b0: 6020a1af amoand.w gp,sp,(ra)
+800000b4: 0000a203 lw tp,0(ra)
+800000b8: 02800a13 li s4,40
+800000bc: 184a1663 bne s4,tp,80000248 <fail>
+800000c0: 03800a13 li s4,56
+800000c4: 183a1263 bne s4,gp,80000248 <fail>
+
+800000c8 <test6>:
+800000c8: 00600e13 li t3,6
+800000cc: 00000097 auipc ra,0x0
+800000d0: 1c008093 addi ra,ra,448 # 8000028c <test6_data>
+800000d4: 01800113 li sp,24
+800000d8: 4020a1af amoor.w gp,sp,(ra)
+800000dc: 0000a203 lw tp,0(ra)
+800000e0: 05b00a13 li s4,91
+800000e4: 164a1263 bne s4,tp,80000248 <fail>
+800000e8: 04b00a13 li s4,75
+800000ec: 143a1e63 bne s4,gp,80000248 <fail>
+
+800000f0 <test7>:
+800000f0: 00700e13 li t3,7
+800000f4: 00000097 auipc ra,0x0
+800000f8: 19c08093 addi ra,ra,412 # 80000290 <test7_data>
+800000fc: 01800113 li sp,24
+80000100: 8020a1af amomin.w gp,sp,(ra)
+80000104: 0000a203 lw tp,0(ra)
+80000108: 01800a13 li s4,24
+8000010c: 124a1e63 bne s4,tp,80000248 <fail>
+80000110: 03800a13 li s4,56
+80000114: 123a1a63 bne s4,gp,80000248 <fail>
+
+80000118 <test8>:
+80000118: 00800e13 li t3,8
+8000011c: 00000097 auipc ra,0x0
+80000120: 17808093 addi ra,ra,376 # 80000294 <test8_data>
+80000124: 05800113 li sp,88
+80000128: 8020a1af amomin.w gp,sp,(ra)
+8000012c: 0000a203 lw tp,0(ra)
+80000130: 05300a13 li s4,83
+80000134: 104a1a63 bne s4,tp,80000248 <fail>
+80000138: 05300a13 li s4,83
+8000013c: 103a1663 bne s4,gp,80000248 <fail>
+
+80000140 <test9>:
+80000140: 00900e13 li t3,9
+80000144: 00000097 auipc ra,0x0
+80000148: 15408093 addi ra,ra,340 # 80000298 <test9_data>
+8000014c: fca00113 li sp,-54
+80000150: 8020a1af amomin.w gp,sp,(ra)
+80000154: 0000a203 lw tp,0(ra)
+80000158: fca00a13 li s4,-54
+8000015c: 0e4a1663 bne s4,tp,80000248 <fail>
+80000160: 02100a13 li s4,33
+80000164: 0e3a1263 bne s4,gp,80000248 <fail>
+
+80000168 <test10>:
+80000168: 00a00e13 li t3,10
+8000016c: 00000097 auipc ra,0x0
+80000170: 13008093 addi ra,ra,304 # 8000029c <test10_data>
+80000174: 03400113 li sp,52
+80000178: 8020a1af amomin.w gp,sp,(ra)
+8000017c: 0000a203 lw tp,0(ra)
+80000180: fbf00a13 li s4,-65
+80000184: 0c4a1263 bne s4,tp,80000248 <fail>
+80000188: fbf00a13 li s4,-65
+8000018c: 0a3a1e63 bne s4,gp,80000248 <fail>
+
+80000190 <test11>:
+80000190: 00b00e13 li t3,11
+80000194: 00000097 auipc ra,0x0
+80000198: 10c08093 addi ra,ra,268 # 800002a0 <test11_data>
+8000019c: fcc00113 li sp,-52
+800001a0: a020a1af amomax.w gp,sp,(ra)
+800001a4: 0000a203 lw tp,0(ra)
+800001a8: fcc00a13 li s4,-52
+800001ac: 084a1e63 bne s4,tp,80000248 <fail>
+800001b0: fa900a13 li s4,-87
+800001b4: 083a1a63 bne s4,gp,80000248 <fail>
+
+800001b8 <test12>:
+800001b8: 00c00e13 li t3,12
+800001bc: 00000097 auipc ra,0x0
+800001c0: 0e808093 addi ra,ra,232 # 800002a4 <test12_data>
+800001c4: 03400113 li sp,52
+800001c8: a020a1af amomax.w gp,sp,(ra)
+800001cc: 0000a203 lw tp,0(ra)
+800001d0: 03400a13 li s4,52
+800001d4: 064a1a63 bne s4,tp,80000248 <fail>
+800001d8: fc900a13 li s4,-55
+800001dc: 063a1663 bne s4,gp,80000248 <fail>
+
+800001e0 <test13>:
+800001e0: 00d00e13 li t3,13
+800001e4: 00000097 auipc ra,0x0
+800001e8: 0c408093 addi ra,ra,196 # 800002a8 <test13_data>
+800001ec: ffff0137 lui sp,0xffff0
+800001f0: c020a1af amominu.w gp,sp,(ra)
+800001f4: 0000a203 lw tp,0(ra)
+800001f8: ffff0a37 lui s4,0xffff0
+800001fc: 044a1663 bne s4,tp,80000248 <fail>
+80000200: ffff0a37 lui s4,0xffff0
+80000204: 004a0a13 addi s4,s4,4 # ffff0004 <test14_data+0x7ffefd58>
+80000208: 043a1063 bne s4,gp,80000248 <fail>
+8000020c: 0480006f j 80000254 <pass>
+
+80000210 <test14>:
+80000210: 00e00e13 li t3,14
+80000214: 00000097 auipc ra,0x0
+80000218: 09808093 addi ra,ra,152 # 800002ac <test14_data>
+8000021c: ffff0137 lui sp,0xffff0
+80000220: 00c10113 addi sp,sp,12 # ffff000c <test14_data+0x7ffefd60>
+80000224: e020a1af amomaxu.w gp,sp,(ra)
+80000228: 0000a203 lw tp,0(ra)
+8000022c: ffff0a37 lui s4,0xffff0
+80000230: 00ca0a13 addi s4,s4,12 # ffff000c <test14_data+0x7ffefd60>
+80000234: 004a1a63 bne s4,tp,80000248 <fail>
+80000238: ffff0a37 lui s4,0xffff0
+8000023c: 005a0a13 addi s4,s4,5 # ffff0005 <test14_data+0x7ffefd59>
+80000240: 003a1463 bne s4,gp,80000248 <fail>
+80000244: 0100006f j 80000254 <pass>
+
+80000248 <fail>:
+80000248: f0100137 lui sp,0xf0100
+8000024c: f2410113 addi sp,sp,-220 # f00fff24 <test14_data+0x700ffc78>
+80000250: 01c12023 sw t3,0(sp)
+
+80000254 <pass>:
+80000254: f0100137 lui sp,0xf0100
+80000258: f2010113 addi sp,sp,-224 # f00fff20 <test14_data+0x700ffc74>
+8000025c: 00012023 sw zero,0(sp)
+80000260: 00000013 nop
+80000264: 00000013 nop
+80000268: 00000013 nop
+8000026c: 00000013 nop
+80000270: 00000013 nop
+80000274: 00000013 nop
+
+80000278 <test1_data>:
+80000278: 0000000b 0xb
+
+8000027c <test2_data>:
+8000027c: 0016 c.slli zero,0x5
+ ...
+
+80000280 <test3_data>:
+80000280: 0049 c.nop 18
+ ...
+
+80000284 <test4_data>:
+80000284: 003a c.slli zero,0xe
+ ...
+
+80000288 <test5_data>:
+80000288: 0038 addi a4,sp,8
+ ...
+
+8000028c <test6_data>:
+8000028c: 0000004b fnmsub.s ft0,ft0,ft0,ft0,rne
+
+80000290 <test7_data>:
+80000290: 0038 addi a4,sp,8
+ ...
+
+80000294 <test8_data>:
+80000294: 00000053 fadd.s ft0,ft0,ft0,rne
+
+80000298 <test9_data>:
+80000298: 0021 c.nop 8
+ ...
+
+8000029c <test10_data>:
+8000029c: ffffffbf 0xffffffbf
+
+800002a0 <test11_data>:
+800002a0: ffa9 bnez a5,800001fa <test13+0x1a>
+800002a2: ffff 0xffff
+
+800002a4 <test12_data>:
+800002a4: ffc9 bnez a5,8000023e <test14+0x2e>
+800002a6: ffff 0xffff
+
+800002a8 <test13_data>:
+800002a8: 0004 0x4
+800002aa: ffff 0xffff
+
+800002ac <test14_data>:
+800002ac: 0005 c.nop 1
+800002ae: ffff 0xffff
diff --git a/VexRiscv/src/test/cpp/raw/fpu/build/amo.hex b/VexRiscv/src/test/cpp/raw/fpu/build/amo.hex
new file mode 100644
index 0000000..74d3567
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/fpu/build/amo.hex
@@ -0,0 +1,45 @@
+:0200000480007A
+:10000000130E100097000000938040271301D002C8
+:10001000AFA1200803A20000130AD00263164A22EF
+:10002000130AB00063123A22130E2000970000005A
+:100030009380002513017003AFA1200803A20000E4
+:10004000130A700363124A20130A6001631E3A1EEA
+:10005000130E3000970000009380C022130120048B
+:10006000AFA1200003A20000130AB008631E4A1CBF
+:10007000130A9004631A3A1C130E40009700000004
+:100080009380802013017005AFA1202003A20000FF
+:10009000130AD006631A4A1A130AA00363163A1AFF
+:1000A000130E5000970000009380401E1301C00201
+:1000B000AFA1206003A20000130A800263164A1851
+:1000C000130A800363123A18130E600097000000B1
+:1000D0009380001C13018001AFA1204003A2000007
+:1000E000130AB00563124A16130AB004631E3A14C9
+:1000F000130E7000970000009380C0191301800157
+:10010000AFA1208003A20000130A8001631E4A12DF
+:10011000130A8003631A3A12130E8000970000003E
+:100120009380801713018005AFA1208003A20000F7
+:10013000130A3005631A4A10130A300563163A1081
+:10014000130E900097000000938040151301A0FC4F
+:10015000AFA1208003A20000130AA0FC63164A0E80
+:10016000130A100263123A0E130EA000970000004B
+:100170009380001313014003AFA1208003A200006D
+:10018000130AF0FB63124A0C130AF0FB631E3A0ACF
+:10019000130EB000970000009380C0101301C0FC44
+:1001A000AFA120A003A20000130AC0FC631E4A08EE
+:1001B000130A90FA631A3A08130EC0009700000061
+:1001C0009380800E13014003AFA120A003A2000082
+:1001D000130A4003631A4A06130A90FC63163A0690
+:1001E000130ED000970000009380400C3701FFFFF2
+:1001F000AFA120C003A20000370AFFFF63164A0424
+:10020000370AFFFF130A4A0063103A046F008004A4
+:10021000130EE00097000000938080093701FFFF74
+:100220001301C100AFA120E003A20000370AFFFFC5
+:10023000130ACA00631A4A00370AFFFF130A5A005A
+:1002400063143A006F000001370110F0130141F20E
+:100250002320C101370110F0130101F22320010016
+:100260001300000013000000130000001300000042
+:1002700013000000130000000B0000001600000037
+:10028000490000003A000000380000004B00000068
+:10029000380000005300000021000000BFFFFFFFF6
+:1002A000A9FFFFFFC9FFFFFF0400FFFF0500FFFFDD
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/fpu/build/fpu.asm b/VexRiscv/src/test/cpp/raw/fpu/build/fpu.asm
new file mode 100644
index 0000000..b769972
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/fpu/build/fpu.asm
@@ -0,0 +1,276 @@
+
+build/fpu.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: 00100e13 li t3,1
+80000004: 00000013 nop
+80000008: 00000013 nop
+8000000c: 00000013 nop
+80000010: 00000013 nop
+80000014: 00107153 fadd.s ft2,ft0,ft1
+80000018: 00000013 nop
+8000001c: 00000013 nop
+80000020: 00000013 nop
+80000024: 00000013 nop
+80000028: 0180006f j 80000040 <test2>
+8000002c: 00000013 nop
+80000030: 00000013 nop
+80000034: 00000013 nop
+80000038: 00000013 nop
+8000003c: 00000013 nop
+
+80000040 <test2>:
+80000040: 00200e13 li t3,2
+80000044: 00000097 auipc ra,0x0
+80000048: 2e80a083 lw ra,744(ra) # 8000032c <test1_data>
+8000004c: 00107153 fadd.s ft2,ft0,ft1
+80000050: 00000013 nop
+80000054: 00000013 nop
+80000058: 00000013 nop
+8000005c: 00000013 nop
+80000060: 0200006f j 80000080 <test3>
+80000064: 00000013 nop
+80000068: 00000013 nop
+8000006c: 00000013 nop
+80000070: 00000013 nop
+80000074: 00000013 nop
+80000078: 00000013 nop
+8000007c: 00000013 nop
+
+80000080 <test3>:
+80000080: 00300e13 li t3,3
+80000084: 00000013 nop
+80000088: 00000013 nop
+8000008c: 00000013 nop
+80000090: 00000013 nop
+80000094: 0080006f j 8000009c <skip>
+80000098: 00107153 fadd.s ft2,ft0,ft1
+
+8000009c <skip>:
+8000009c: 0240006f j 800000c0 <test4>
+800000a0: 00000013 nop
+800000a4: 00000013 nop
+800000a8: 00000013 nop
+800000ac: 00000013 nop
+800000b0: 00000013 nop
+800000b4: 00000013 nop
+800000b8: 00000013 nop
+800000bc: 00000013 nop
+
+800000c0 <test4>:
+800000c0: 00400e13 li t3,4
+800000c4: 00000013 nop
+800000c8: 00000013 nop
+800000cc: 00000013 nop
+800000d0: 00000013 nop
+800000d4: 00000097 auipc ra,0x0
+800000d8: 25808093 addi ra,ra,600 # 8000032c <test1_data>
+800000dc: 0000a107 flw ft2,0(ra)
+800000e0: 00000013 nop
+800000e4: 00000013 nop
+800000e8: 00000013 nop
+800000ec: 00000013 nop
+800000f0: 0100006f j 80000100 <test5>
+800000f4: 00000013 nop
+800000f8: 00000013 nop
+800000fc: 00000013 nop
+
+80000100 <test5>:
+80000100: 00500e13 li t3,5
+80000104: 00000013 nop
+80000108: 00000013 nop
+8000010c: 00000013 nop
+80000110: 00000013 nop
+80000114: 00000097 auipc ra,0x0
+80000118: 21808093 addi ra,ra,536 # 8000032c <test1_data>
+8000011c: 00000117 auipc sp,0x0
+80000120: 21410113 addi sp,sp,532 # 80000330 <test2_data>
+80000124: 0000a087 flw ft1,0(ra)
+80000128: 00012107 flw ft2,0(sp)
+8000012c: 0020f1d3 fadd.s ft3,ft1,ft2
+80000130: 00000013 nop
+80000134: 00000013 nop
+80000138: 00000013 nop
+8000013c: 00000013 nop
+80000140: 0400006f j 80000180 <test6>
+80000144: 00000013 nop
+80000148: 00000013 nop
+8000014c: 00000013 nop
+80000150: 00000013 nop
+80000154: 00000013 nop
+80000158: 00000013 nop
+8000015c: 00000013 nop
+80000160: 00000013 nop
+80000164: 00000013 nop
+80000168: 00000013 nop
+8000016c: 00000013 nop
+80000170: 00000013 nop
+80000174: 00000013 nop
+80000178: 00000013 nop
+8000017c: 00000013 nop
+
+80000180 <test6>:
+80000180: 00600e13 li t3,6
+80000184: 00000013 nop
+80000188: 00000013 nop
+8000018c: 00000013 nop
+80000190: 00000013 nop
+80000194: 00000097 auipc ra,0x0
+80000198: 1a008093 addi ra,ra,416 # 80000334 <test3_data>
+8000019c: 0030a027 fsw ft3,0(ra)
+800001a0: 00000013 nop
+800001a4: 00000013 nop
+800001a8: 00000013 nop
+800001ac: 00000013 nop
+800001b0: 0100006f j 800001c0 <test7>
+800001b4: 00000013 nop
+800001b8: 00000013 nop
+800001bc: 00000013 nop
+
+800001c0 <test7>:
+800001c0: 00700e13 li t3,7
+800001c4: 00000097 auipc ra,0x0
+800001c8: 17008093 addi ra,ra,368 # 80000334 <test3_data>
+800001cc: 00000117 auipc sp,0x0
+800001d0: 16c10113 addi sp,sp,364 # 80000338 <test4_data>
+800001d4: 00000197 auipc gp,0x0
+800001d8: 16818193 addi gp,gp,360 # 8000033c <test5_data>
+800001dc: 00000217 auipc tp,0x0
+800001e0: 16420213 addi tp,tp,356 # 80000340 <test6_data>
+800001e4: 0000a207 flw ft4,0(ra)
+800001e8: 00427253 fadd.s ft4,ft4,ft4
+800001ec: 0040f2d3 fadd.s ft5,ft1,ft4
+800001f0: 00412027 fsw ft4,0(sp)
+800001f4: 0051a027 fsw ft5,0(gp)
+800001f8: 00122027 fsw ft1,0(tp) # 0 <_start-0x80000000>
+800001fc: 00000013 nop
+80000200: 00000013 nop
+80000204: 00000013 nop
+80000208: 00000013 nop
+8000020c: 0340006f j 80000240 <test8>
+80000210: 00000013 nop
+80000214: 00000013 nop
+80000218: 00000013 nop
+8000021c: 00000013 nop
+80000220: 00000013 nop
+80000224: 00000013 nop
+80000228: 00000013 nop
+8000022c: 00000013 nop
+80000230: 00000013 nop
+80000234: 00000013 nop
+80000238: 00000013 nop
+8000023c: 00000013 nop
+
+80000240 <test8>:
+80000240: 00800e13 li t3,8
+80000244: c011f0d3 fcvt.wu.s ra,ft3
+80000248: 00000013 nop
+8000024c: 00000013 nop
+80000250: 00000013 nop
+80000254: 00000013 nop
+80000258: 0280006f j 80000280 <test9>
+8000025c: 00000013 nop
+80000260: 00000013 nop
+80000264: 00000013 nop
+80000268: 00000013 nop
+8000026c: 00000013 nop
+80000270: 00000013 nop
+80000274: 00000013 nop
+80000278: 00000013 nop
+8000027c: 00000013 nop
+
+80000280 <test9>:
+80000280: 00900e13 li t3,9
+80000284: a03100d3 fle.s ra,ft2,ft3
+80000288: a0218153 fle.s sp,ft3,ft2
+8000028c: a03181d3 fle.s gp,ft3,ft3
+80000290: 00000013 nop
+80000294: 00000013 nop
+80000298: 00000013 nop
+8000029c: 00000013 nop
+800002a0: 0200006f j 800002c0 <test10>
+800002a4: 00000013 nop
+800002a8: 00000013 nop
+800002ac: 00000013 nop
+800002b0: 00000013 nop
+800002b4: 00000013 nop
+800002b8: 00000013 nop
+800002bc: 00000013 nop
+
+800002c0 <test10>:
+800002c0: 00a00e13 li t3,10
+800002c4: 01000093 li ra,16
+800002c8: d010f0d3 fcvt.s.wu ft1,ra
+800002cc: 01200113 li sp,18
+800002d0: 20000193 li gp,512
+800002d4: d0117153 fcvt.s.wu ft2,sp
+800002d8: d011f1d3 fcvt.s.wu ft3,gp
+800002dc: 00000217 auipc tp,0x0
+800002e0: 0a422203 lw tp,164(tp) # 80000380 <test10_data>
+800002e4: d01272d3 fcvt.s.wu ft5,tp
+800002e8: 00000013 nop
+800002ec: 00000013 nop
+800002f0: 00000013 nop
+800002f4: 00000013 nop
+800002f8: 0100006f j 80000308 <pass>
+
+800002fc <fail>:
+800002fc: f0100137 lui sp,0xf0100
+80000300: f2410113 addi sp,sp,-220 # f00fff24 <test10_data+0x700ffba4>
+80000304: 01c12023 sw t3,0(sp)
+
+80000308 <pass>:
+80000308: f0100137 lui sp,0xf0100
+8000030c: f2010113 addi sp,sp,-224 # f00fff20 <test10_data+0x700ffba0>
+80000310: 00012023 sw zero,0(sp)
+80000314: 00000013 nop
+80000318: 00000013 nop
+8000031c: 00000013 nop
+80000320: 00000013 nop
+80000324: 00000013 nop
+80000328: 00000013 nop
+
+8000032c <test1_data>:
+8000032c: 0000 unimp
+8000032e: 3fc0 fld fs0,184(a5)
+
+80000330 <test2_data>:
+80000330: 0000 unimp
+80000332: 40a0 lw s0,64(s1)
+
+80000334 <test3_data>:
+80000334: 0049 c.nop 18
+ ...
+
+80000338 <test4_data>:
+80000338: 003a c.slli zero,0xe
+ ...
+
+8000033c <test5_data>:
+8000033c: 0038 addi a4,sp,8
+ ...
+
+80000340 <test6_data>:
+80000340: 0000004b fnmsub.s ft0,ft0,ft0,ft0,rne
+80000344: 00000013 nop
+80000348: 00000013 nop
+8000034c: 00000013 nop
+80000350: 00000013 nop
+80000354: 00000013 nop
+80000358: 00000013 nop
+8000035c: 00000013 nop
+80000360: 00000013 nop
+80000364: 00000013 nop
+80000368: 00000013 nop
+8000036c: 00000013 nop
+80000370: 00000013 nop
+80000374: 00000013 nop
+80000378: 00000013 nop
+8000037c: 00000013 nop
+
+80000380 <test10_data>:
+80000380: 01d4 addi a3,sp,196
+ ...
diff --git a/VexRiscv/src/test/cpp/raw/fpu/build/fpu.hex b/VexRiscv/src/test/cpp/raw/fpu/build/fpu.hex
new file mode 100644
index 0000000..4b83443
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/fpu/build/fpu.hex
@@ -0,0 +1,62 @@
+:0200000480007A
+:10000000130E100013000000130000001300000086
+:1000100013000000537110001300000013000000D3
+:1000200013000000130000006F00800113000000A7
+:100030001300000013000000130000001300000074
+:10004000130E20009700000083A0802E5371100033
+:100050001300000013000000130000001300000054
+:100060006F000002130000001300000013000000E6
+:100070001300000013000000130000001300000034
+:10008000130E3000130000001300000013000000E6
+:10009000130000006F008000537110006F004002D9
+:1000A0001300000013000000130000001300000004
+:1000B00013000000130000001300000013000000F4
+:1000C000130E400013000000130000001300000096
+:1000D00013000000970000009380802507A1000016
+:1000E00013000000130000001300000013000000C4
+:1000F0006F00000113000000130000001300000057
+:10010000130E500013000000130000001300000045
+:100110001300000097000000938080211701000069
+:100120001301412187A0000007210100D3F1200025
+:100130001300000013000000130000001300000073
+:100140006F00000413000000130000001300000003
+:100150001300000013000000130000001300000053
+:100160001300000013000000130000001300000043
+:100170001300000013000000130000001300000033
+:10018000130E6000130000001300000013000000B5
+:1001900013000000970000009380001A27A0300091
+:1001A0001300000013000000130000001300000003
+:1001B0006F00000113000000130000001300000096
+:1001C000130E7000970000009380001717010000C5
+:1001D0001301C116970100009381811617020000D8
+:1001E0001302421607A2000053724200D3F24000ED
+:1001F0002720410027A051002720120013000000F3
+:100200001300000013000000130000006F00400303
+:100210001300000013000000130000001300000092
+:100220001300000013000000130000001300000082
+:100230001300000013000000130000001300000072
+:10024000130E8000D3F011C0130000001300000053
+:1002500013000000130000006F0080021300000074
+:100260001300000013000000130000001300000042
+:100270001300000013000000130000001300000032
+:10028000130E9000D30031A0538121A0D38131A05F
+:100290001300000013000000130000001300000012
+:1002A0006F000002130000001300000013000000A4
+:1002B00013000000130000001300000013000000F2
+:1002C000130EA00093000001D3F010D01301200101
+:1002D00093010020537111D0D3F111D01702000007
+:1002E0000322420AD37212D0130000001300000050
+:1002F00013000000130000006F000001370110F030
+:10030000130141F22320C101370110F0130101F262
+:100310002320010013000000130000001300000060
+:100320001300000013000000130000000000C03F95
+:100330000000A040490000003A0000003800000022
+:100340004B00000013000000130000001300000029
+:100350001300000013000000130000001300000051
+:100360001300000013000000130000001300000041
+:100370001300000013000000130000001300000031
+:10038000D401000000000000000000000000000098
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:0803B000000000000000000045
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/fpu/makefile b/VexRiscv/src/test/cpp/raw/fpu/makefile
new file mode 100644
index 0000000..4892095
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/fpu/makefile
@@ -0,0 +1,5 @@
+PROJ_NAME=fpu
+
+FLOATING=yes
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/fpu/src/crt.S b/VexRiscv/src/test/cpp/raw/fpu/src/crt.S
new file mode 100644
index 0000000..302b98c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/fpu/src/crt.S
@@ -0,0 +1,193 @@
+.globl _star
+#define TEST_ID x28
+
+_start:
+
+#define assert(reg, value) \
+ li x20, value; \
+ bne x20, reg, fail;
+
+
+test1:
+ li TEST_ID, 1
+ nop
+ nop
+ nop
+ nop
+ fadd.s f2, f0, f1
+ nop
+ nop
+ nop
+ nop
+ j test2
+
+.align 6
+test2:
+ li TEST_ID, 2
+ lw x1, test1_data
+ fadd.s f2, f0, f1
+ nop
+ nop
+ nop
+ nop
+
+ j test3
+
+
+.align 6
+test3:
+ li TEST_ID, 3
+ nop
+ nop
+ nop
+ nop
+ j skip
+ fadd.s f2, f0, f1
+skip:
+ j test4
+
+
+
+.align 6
+test4:
+ li TEST_ID, 4
+ nop
+ nop
+ nop
+ nop
+ la x1, test1_data
+ flw f2, 0(x1)
+ nop
+ nop
+ nop
+ nop
+
+ j test5
+
+.align 6
+test5:
+ li TEST_ID, 5
+ nop
+ nop
+ nop
+ nop
+ la x1, test1_data
+ la x2, test2_data
+ flw f1, 0(x1)
+ flw f2, 0(x2)
+ fadd.s f3, f1, f2
+ nop
+ nop
+ nop
+ nop
+ j test6
+
+.align 6
+test6:
+ li TEST_ID, 6
+ nop
+ nop
+ nop
+ nop
+ la x1, test3_data
+ fsw f3, 0(x1)
+ nop
+ nop
+ nop
+ nop
+ j test7
+
+.align 6
+test7:
+ li TEST_ID, 7
+ la x1, test3_data
+ la x2, test4_data
+ la x3, test5_data
+ la x4, test6_data
+ flw f4, 0(x1)
+ fadd.s f4, f4, f4
+ fadd.s f5, f1, f4
+ fsw f4, 0(x2)
+ fsw f5, 0(x3)
+ fsw f1, 0(x4)
+ nop
+ nop
+ nop
+ nop
+ j test8
+
+.align 6
+test8:
+ li TEST_ID, 8
+ fcvt.wu.s x1, f3
+ nop
+ nop
+ nop
+ nop
+ j test9
+
+.align 6
+test9:
+ li TEST_ID, 9
+ fle.s x1, f2, f3
+ fle.s x2, f3, f2
+ fle.s x3, f3, f3
+ nop
+ nop
+ nop
+ nop
+ j test10
+
+.align 6
+test10:
+ li TEST_ID, 10
+ li x1, 16
+ fcvt.s.wu f1, x1
+ li x2, 18
+ li x3, 512
+ fcvt.s.wu f2, x2
+ fcvt.s.wu f3, x3
+ lw x4, test10_data
+ fcvt.s.wu f5, x4
+ nop
+ nop
+ nop
+ nop
+
+ /* la x1, test1_data
+ li x2, 45
+ amoswap.w x3,x2,(x1)
+ lw x4, 0(x1)
+ assert(x4, 45)
+ assert(x3, 11)*/
+
+
+
+
+ j pass
+
+
+fail:
+ li x2, 0xF00FFF24
+ sw TEST_ID, 0(x2)
+
+pass:
+ li x2, 0xF00FFF20
+ sw x0, 0(x2)
+
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+
+
+test1_data: .word 0x3fc00000 //1.5f
+test2_data: .word 0x40a00000 //5.0f
+test3_data: .word 73
+test4_data: .word 58
+test5_data: .word 56
+test6_data: .word 75
+.align 6
+test10_data: .word 468
diff --git a/VexRiscv/src/test/cpp/raw/fpu/src/ld b/VexRiscv/src/test/cpp/raw/fpu/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/fpu/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/icache/.gitignore b/VexRiscv/src/test/cpp/raw/icache/.gitignore
new file mode 100644
index 0000000..c12cb2c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/icache/.gitignore
@@ -0,0 +1,4 @@
+*.map
+*.v
+*.elf
+*.o \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/icache/build/icache.asm b/VexRiscv/src/test/cpp/raw/icache/build/icache.asm
new file mode 100644
index 0000000..993f21b
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/icache/build/icache.asm
@@ -0,0 +1,51 @@
+
+build/icache.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: 00000097 auipc ra,0x0
+80000004: 04c08093 addi ra,ra,76 # 8000004c <fail>
+
+80000008 <test1>:
+80000008: 00100e13 li t3,1
+8000000c: 00100093 li ra,1
+80000010: 00300113 li sp,3
+80000014: 00208093 addi ra,ra,2
+80000018: 02209a63 bne ra,sp,8000004c <fail>
+
+8000001c <test2>:
+8000001c: 00200e13 li t3,2
+80000020: 01300093 li ra,19
+80000024: 00000117 auipc sp,0x0
+80000028: 02010113 addi sp,sp,32 # 80000044 <test2_trigger>
+8000002c: 0040006f j 80000030 <test2_aligned>
+
+80000030 <test2_aligned>:
+80000030: 00112023 sw ra,0(sp)
+80000034: 0000100f fence.i
+80000038: 00800a13 li s4,8
+8000003c: fffa0a13 addi s4,s4,-1
+80000040: fe0a1ee3 bnez s4,8000003c <test2_aligned+0xc>
+
+80000044 <test2_trigger>:
+80000044: 0080006f j 8000004c <fail>
+80000048: 0100006f j 80000058 <pass>
+
+8000004c <fail>:
+8000004c: f0100137 lui sp,0xf0100
+80000050: f2410113 addi sp,sp,-220 # f00fff24 <pass+0x700ffecc>
+80000054: 01c12023 sw t3,0(sp)
+
+80000058 <pass>:
+80000058: f0100137 lui sp,0xf0100
+8000005c: f2010113 addi sp,sp,-224 # f00fff20 <pass+0x700ffec8>
+80000060: 00012023 sw zero,0(sp)
+80000064: 00000013 nop
+80000068: 00000013 nop
+8000006c: 00000013 nop
+80000070: 00000013 nop
+80000074: 00000013 nop
+80000078: 00000013 nop
+ ...
diff --git a/VexRiscv/src/test/cpp/raw/icache/build/icache.hex b/VexRiscv/src/test/cpp/raw/icache/build/icache.hex
new file mode 100644
index 0000000..2588f0e
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/icache/build/icache.hex
@@ -0,0 +1,11 @@
+:0200000480007A
+:10000000970000009380C004130E100093001000AE
+:100010001301300093802000639A2002130E200009
+:100020009300300117010000130101026F0040002E
+:10003000232011000F100000130A8000130AFAFF9A
+:10004000E31E0AFE6F0080006F000001370110F010
+:10005000130141F22320C101370110F0130101F215
+:100060002320010013000000130000001300000013
+:100070001300000013000000130000000000000047
+:04008000000000007C
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/icache/makefile b/VexRiscv/src/test/cpp/raw/icache/makefile
new file mode 100644
index 0000000..08779a2
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/icache/makefile
@@ -0,0 +1,3 @@
+PROJ_NAME=icache
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/icache/src/crt.S b/VexRiscv/src/test/cpp/raw/icache/src/crt.S
new file mode 100644
index 0000000..b0b2425
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/icache/src/crt.S
@@ -0,0 +1,49 @@
+.globl _star
+#define TEST_ID x28
+
+#define delay \
+ li x20, 8; \
+1: addi x20, x20, -1; \
+ bne x20, x0, 1b;
+
+_start:
+ la x1, fail
+ // csrw mtvec, x1
+
+test1: //Dummy test
+ li TEST_ID, 1
+ li x1, 1
+ li x2, 3
+ addi x1, x1, 2
+ bne x1, x2, fail
+
+test2:
+ li TEST_ID, 2
+ li x1, 0x13 //nop
+ la x2, test2_trigger
+ j test2_aligned
+.align(4)
+test2_aligned:
+ sw x1, 0(x2)
+ fence.i
+ delay
+test2_trigger:
+ j fail
+
+
+ j pass
+
+fail:
+ li x2, 0xF00FFF24
+ sw TEST_ID, 0(x2)
+
+pass:
+ li x2, 0xF00FFF20
+ sw x0, 0(x2)
+
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
diff --git a/VexRiscv/src/test/cpp/raw/icache/src/ld b/VexRiscv/src/test/cpp/raw/icache/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/icache/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/lrsc/.gitignore b/VexRiscv/src/test/cpp/raw/lrsc/.gitignore
new file mode 100644
index 0000000..c12cb2c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/lrsc/.gitignore
@@ -0,0 +1,4 @@
+*.map
+*.v
+*.elf
+*.o \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/lrsc/build/lrsc.asm b/VexRiscv/src/test/cpp/raw/lrsc/build/lrsc.asm
new file mode 100644
index 0000000..a2ba4c7
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/lrsc/build/lrsc.asm
@@ -0,0 +1,180 @@
+
+build/lrsc.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <trap_entry-0x20>:
+80000000: 06c0006f j 8000006c <_start>
+80000004: 00000013 nop
+80000008: 00000013 nop
+8000000c: 00000013 nop
+80000010: 00000013 nop
+80000014: 00000013 nop
+80000018: 00000013 nop
+8000001c: 00000013 nop
+
+80000020 <trap_entry>:
+80000020: 30002ef3 csrr t4,mstatus
+80000024: 080efe93 andi t4,t4,128
+80000028: 000e8a63 beqz t4,8000003c <notExternalInterrupt>
+8000002c: 00002eb7 lui t4,0x2
+80000030: 800e8e93 addi t4,t4,-2048 # 1800 <trap_entry-0x7fffe820>
+80000034: 300e9073 csrw mstatus,t4
+80000038: 30200073 mret
+
+8000003c <notExternalInterrupt>:
+8000003c: 34102ef3 csrr t4,mepc
+80000040: 004e8e93 addi t4,t4,4
+80000044: 341e9073 csrw mepc,t4
+80000048: 30200073 mret
+
+8000004c <flush>:
+8000004c: 200002b7 lui t0,0x20000
+80000050: 00001337 lui t1,0x1
+80000054: 02000393 li t2,32
+
+80000058 <flushLoop>:
+80000058: 0002ae03 lw t3,0(t0) # 20000000 <trap_entry-0x60000020>
+8000005c: 006282b3 add t0,t0,t1
+80000060: fff38393 addi t2,t2,-1
+80000064: fe039ae3 bnez t2,80000058 <flushLoop>
+80000068: 00008067 ret
+
+8000006c <_start>:
+8000006c: 00100e13 li t3,1
+80000070: 10000537 lui a0,0x10000
+80000074: 06400593 li a1,100
+80000078: 06500613 li a2,101
+8000007c: 06600693 li a3,102
+80000080: 00d52023 sw a3,0(a0) # 10000000 <trap_entry-0x70000020>
+80000084: 18b5262f sc.w a2,a1,(a0)
+80000088: 00100713 li a4,1
+8000008c: 18e61863 bne a2,a4,8000021c <fail>
+80000090: 00052703 lw a4,0(a0)
+80000094: 18e69463 bne a3,a4,8000021c <fail>
+
+80000098 <test2>:
+80000098: 00200e13 li t3,2
+8000009c: 10000537 lui a0,0x10000
+800000a0: 00450513 addi a0,a0,4 # 10000004 <trap_entry-0x7000001c>
+800000a4: 06700593 li a1,103
+800000a8: 06800613 li a2,104
+800000ac: 06900693 li a3,105
+800000b0: 00d52023 sw a3,0(a0)
+800000b4: 18b5262f sc.w a2,a1,(a0)
+800000b8: 00100713 li a4,1
+800000bc: 16e61063 bne a2,a4,8000021c <fail>
+800000c0: 00052703 lw a4,0(a0)
+800000c4: 14e69c63 bne a3,a4,8000021c <fail>
+800000c8: f85ff0ef jal ra,8000004c <flush>
+800000cc: 00052703 lw a4,0(a0)
+800000d0: 14e69663 bne a3,a4,8000021c <fail>
+
+800000d4 <test3>:
+800000d4: 00300e13 li t3,3
+800000d8: 10000537 lui a0,0x10000
+800000dc: 00450513 addi a0,a0,4 # 10000004 <trap_entry-0x7000001c>
+800000e0: 06700593 li a1,103
+800000e4: 06800613 li a2,104
+800000e8: 06900693 li a3,105
+800000ec: 18b5262f sc.w a2,a1,(a0)
+800000f0: 00100713 li a4,1
+800000f4: 12e61463 bne a2,a4,8000021c <fail>
+800000f8: 00052703 lw a4,0(a0)
+800000fc: 12e69063 bne a3,a4,8000021c <fail>
+80000100: f4dff0ef jal ra,8000004c <flush>
+80000104: 00052703 lw a4,0(a0)
+80000108: 10e69a63 bne a3,a4,8000021c <fail>
+
+8000010c <test4>:
+8000010c: 00400e13 li t3,4
+80000110: 10000537 lui a0,0x10000
+80000114: 00850513 addi a0,a0,8 # 10000008 <trap_entry-0x70000018>
+80000118: 06a00593 li a1,106
+8000011c: 06b00613 li a2,107
+80000120: 06c00693 li a3,108
+80000124: 00d52023 sw a3,0(a0)
+80000128: 100527af lr.w a5,(a0)
+8000012c: 18b5262f sc.w a2,a1,(a0)
+80000130: 0ed79663 bne a5,a3,8000021c <fail>
+80000134: 0e061463 bnez a2,8000021c <fail>
+80000138: 00052703 lw a4,0(a0)
+8000013c: 0ee59063 bne a1,a4,8000021c <fail>
+80000140: f0dff0ef jal ra,8000004c <flush>
+80000144: 00052703 lw a4,0(a0)
+80000148: 0ce59a63 bne a1,a4,8000021c <fail>
+
+8000014c <test5>:
+8000014c: 00500e13 li t3,5
+80000150: 10000537 lui a0,0x10000
+80000154: 00850513 addi a0,a0,8 # 10000008 <trap_entry-0x70000018>
+80000158: 06d00593 li a1,109
+8000015c: 06e00613 li a2,110
+80000160: 06f00693 li a3,111
+80000164: 00d52023 sw a3,0(a0)
+80000168: 18b5262f sc.w a2,a1,(a0)
+8000016c: 0a060863 beqz a2,8000021c <fail>
+80000170: 00052703 lw a4,0(a0)
+80000174: 0ae69463 bne a3,a4,8000021c <fail>
+80000178: ed5ff0ef jal ra,8000004c <flush>
+8000017c: 00052703 lw a4,0(a0)
+80000180: 08e69e63 bne a3,a4,8000021c <fail>
+80000184: 00700e13 li t3,7
+80000188: 10000537 lui a0,0x10000
+8000018c: 01450513 addi a0,a0,20 # 10000014 <trap_entry-0x7000000c>
+80000190: 07800593 li a1,120
+80000194: 07900613 li a2,121
+80000198: 07a00693 li a3,122
+8000019c: 01000e93 li t4,16
+
+800001a0 <test7>:
+800001a0: 00d52023 sw a3,0(a0)
+800001a4: 100527af lr.w a5,(a0)
+800001a8: 18b5262f sc.w a2,a1,(a0)
+800001ac: 06d79863 bne a5,a3,8000021c <fail>
+800001b0: 06061663 bnez a2,8000021c <fail>
+800001b4: 00052703 lw a4,0(a0)
+800001b8: 06e59263 bne a1,a4,8000021c <fail>
+800001bc: fffe8e93 addi t4,t4,-1
+800001c0: 00450513 addi a0,a0,4
+800001c4: 00358593 addi a1,a1,3
+800001c8: 00360613 addi a2,a2,3
+800001cc: 00368693 addi a3,a3,3
+800001d0: fc0e98e3 bnez t4,800001a0 <test7>
+
+800001d4 <test9>:
+800001d4: 00900e13 li t3,9
+800001d8: 10000537 lui a0,0x10000
+800001dc: 10050513 addi a0,a0,256 # 10000100 <trap_entry-0x6fffff20>
+800001e0: 07b00593 li a1,123
+800001e4: 07c00613 li a2,124
+800001e8: 07d00693 li a3,125
+800001ec: 00d52023 sw a3,0(a0)
+800001f0: 100527af lr.w a5,(a0)
+800001f4: 00000073 ecall
+800001f8: 18b527af sc.w a5,a1,(a0)
+800001fc: 00000713 li a4,0
+80000200: 00e79e63 bne a5,a4,8000021c <fail>
+80000204: 00052703 lw a4,0(a0)
+80000208: 00e59a63 bne a1,a4,8000021c <fail>
+8000020c: e41ff0ef jal ra,8000004c <flush>
+80000210: 00052703 lw a4,0(a0)
+80000214: 00e59463 bne a1,a4,8000021c <fail>
+80000218: 0100006f j 80000228 <pass>
+
+8000021c <fail>:
+8000021c: f0100137 lui sp,0xf0100
+80000220: f2410113 addi sp,sp,-220 # f00fff24 <pass+0x700ffcfc>
+80000224: 01c12023 sw t3,0(sp)
+
+80000228 <pass>:
+80000228: f0100137 lui sp,0xf0100
+8000022c: f2010113 addi sp,sp,-224 # f00fff20 <pass+0x700ffcf8>
+80000230: 00012023 sw zero,0(sp)
+80000234: 00000013 nop
+80000238: 00000013 nop
+8000023c: 00000013 nop
+80000240: 00000013 nop
+80000244: 00000013 nop
+80000248: 00000013 nop
diff --git a/VexRiscv/src/test/cpp/raw/lrsc/build/lrsc.hex b/VexRiscv/src/test/cpp/raw/lrsc/build/lrsc.hex
new file mode 100644
index 0000000..b0ee273
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/lrsc/build/lrsc.hex
@@ -0,0 +1,40 @@
+:0200000480007A
+:100000006F00C00613000000130000001300000082
+:100010001300000013000000130000001300000094
+:10002000F32E003093FE0E08638A0E00B72E0000F8
+:10003000938E0E8073900E3073002030F32E1034A8
+:10004000938E4E0073901E3473002030B702002050
+:10005000371300009303000203AE0200B382620074
+:100060009383F3FFE39A03FE67800000130E1000F2
+:1000700037050010930540061306500693066006E8
+:100080002320D5002F26B518130710006318E61893
+:10009000032705006394E618130E200037050010AF
+:1000A0001305450093057006130680069306900617
+:1000B0002320D5002F26B518130710006310E6166D
+:1000C00003270500639CE614EFF05FF803270500A3
+:1000D0006396E614130E3000370500101305450033
+:1000E0009305700613068006930690062F26B51812
+:1000F000130710006314E612032705006390E6124D
+:10010000EFF0DFF403270500639AE610130E4000BA
+:1001100037050010130585009305A0061306B006E9
+:100120009306C0062320D500AF2705102F26B5184B
+:100130006396D70E6314060E032705006390E50E41
+:10014000EFF0DFF003270500639AE50C130E500073
+:1001500037050010130585009305D0061306E00649
+:100160009306F0062320D5002F26B5186308060A4B
+:10017000032705006394E60AEFF05FED032705000F
+:10018000639EE608130E7000370500101305450145
+:1001900093058007130690079306A007930E0001AE
+:1001A0002320D500AF2705102F26B5186398D70652
+:1001B00063160606032705006392E506938EFEFF8D
+:1001C00013054500938535001306360093863600E7
+:1001D000E3980EFC130E9000370500101305051070
+:1001E0009305B0071306C0079306D0072320D50058
+:1001F000AF27051073000000AF27B51813070000E4
+:10020000639EE70003270500639AE500EFF01FE413
+:10021000032705006394E5006F000001370110F02B
+:10022000130141F22320C101370110F0130101F243
+:100230002320010013000000130000001300000041
+:0C02400013000000130000001300000079
+:040000058000006C0B
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/lrsc/makefile b/VexRiscv/src/test/cpp/raw/lrsc/makefile
new file mode 100644
index 0000000..eafdb26
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/lrsc/makefile
@@ -0,0 +1,5 @@
+PROJ_NAME=lrsc
+
+ATOMIC=yes
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/lrsc/src/crt.S b/VexRiscv/src/test/cpp/raw/lrsc/src/crt.S
new file mode 100644
index 0000000..a19663f
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/lrsc/src/crt.S
@@ -0,0 +1,213 @@
+.globl _start
+
+
+ j _start
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+
+.global trap_entry
+trap_entry:
+ csrr x29, mstatus
+ and x29, x29, 0x080
+ beqz x29, notExternalInterrupt
+ li x29, 0x1800 //000 disable interrupts
+ csrw mstatus,x29
+ mret
+
+notExternalInterrupt:
+ csrr x29, mepc
+ addi x29, x29, 4
+ csrw mepc, x29
+ mret
+
+flush:
+ li t0, 0x20000000
+ li t1, 0x1000
+ li t2, 32
+flushLoop:
+ lw t3, 0(t0)
+ add t0, t0, t1
+ addi t2,t2,-1
+ bnez t2, flushLoop
+ ret
+
+_start:
+test1: //Test 1 SC on unreserved area should fail and not write memory
+ li x28, 1
+ li a0, 0x10000000
+ li a1, 100
+ li a2, 101
+ li a3, 102
+ sw a3, 0(a0)
+ sc.w a2, a1, (a0)
+ li a4, 1
+ bne a2, a4, fail
+ lw a4, 0(a0)
+ bne a3, a4, fail
+
+test2: //Test 2 SC on another unreserved area should fail and not write memory
+ li x28, 2
+ li a0, 0x10000004
+ li a1, 103
+ li a2, 104
+ li a3, 105
+ sw a3, 0(a0)
+ sc.w a2, a1, (a0)
+ li a4, 1
+ bne a2, a4, fail
+ lw a4, 0(a0)
+ bne a3, a4, fail
+ call flush
+ lw a4, 0(a0)
+ bne a3, a4, fail
+
+
+test3: //Test 3 retrying SC on unreserved area should fail and not write memory
+ li x28, 3
+ li a0, 0x10000004
+ li a1, 103
+ li a2, 104
+ li a3, 105
+ sc.w a2, a1, (a0)
+ li a4, 1
+ bne a2, a4, fail
+ lw a4, 0(a0)
+ bne a3, a4, fail
+ call flush
+ lw a4, 0(a0)
+ bne a3, a4, fail
+
+
+test4: //Test 4 SC on reserved area should pass and should be written write memory
+ li x28, 4
+ li a0, 0x10000008
+ li a1, 106
+ li a2, 107
+ li a3, 108
+ sw a3, 0(a0)
+ lr.w a5, (a0)
+ sc.w a2, a1, (a0)
+ bne a5, a3, fail
+ bne a2, x0, fail
+ lw a4, 0(a0)
+ bne a1, a4, fail
+ call flush
+ lw a4, 0(a0)
+ bne a1, a4, fail
+
+
+test5: //Test 5 redo SC on reserved area should fail
+ li x28, 5
+ li a0, 0x10000008
+ li a1, 109
+ li a2, 110
+ li a3, 111
+ sw a3, 0(a0)
+ sc.w a2, a1, (a0)
+ beq a2, x0, fail
+ lw a4, 0(a0)
+ bne a3, a4, fail
+ call flush
+ lw a4, 0(a0)
+ bne a3, a4, fail
+
+
+//Test 7 do a lot of allocation to clear the entries
+ li x28, 7
+ li a0, 0x10000014
+ li a1, 120
+ li a2, 121
+ li a3, 122
+ li x29, 16
+test7:
+ sw a3, 0(a0)
+ lr.w a5, (a0)
+ sc.w a2, a1, (a0)
+ bne a5, a3, fail
+ bne a2, x0, fail
+ lw a4, 0(a0)
+ bne a1, a4, fail
+ add x29, x29, -1
+ add a0, a0, 4
+ add a1, a1, 3
+ add a2, a2, 3
+ add a3, a3, 3
+ bnez x29, test7
+
+
+//Test 8 SC on discarded entries should fail
+ /* li x28, 8
+ li a0, 0x10000018
+ li a1, 120
+ li a2, 121
+ li a3, 122
+ lw a5, 0(a0)
+ sc.w a2, a1, (a0)
+ li a4, 1
+ bne a2, a4, fail
+ lw a4, 0(a0)
+ bne a5, a4, fail*/
+
+
+test9: //Test 9 SC should pass after a context switching
+ li x28, 9
+ li a0, 0x10000100
+ li a1, 123
+ li a2, 124
+ li a3, 125
+ sw a3, 0(a0)
+ lr.w a5, (a0)
+ scall
+ sc.w a5, a1, (a0)
+ li a4, 0
+ bne a5, a4, fail
+ lw a4, 0(a0)
+ bne a1, a4, fail
+ call flush
+ lw a4, 0(a0)
+ bne a1, a4, fail
+
+
+
+//Test 10 SC should fail if the address doesn't match
+ /* li x28, 10
+ li a0, 0x10000200
+ li a6, 0x10000204
+ li a1, 126
+ li a2, 127
+ li a3, 128
+ li a7, 129
+ sw a3, 0(a0)
+ sw a7, 0(a6)
+ lr.w a5, (a6)
+ sc.w a2, a1, (a0)
+ li a4, 1
+ bne a2, a4, fail
+ lw a4, 0(a6)
+ bne a7, a4, fail*/
+
+
+ j pass
+
+
+fail: //x28 => error code
+ li x2, 0xF00FFF24
+ sw x28, 0(x2)
+
+pass:
+ li x2, 0xF00FFF20
+ sw x0, 0(x2)
+
+
+
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
diff --git a/VexRiscv/src/test/cpp/raw/lrsc/src/ld b/VexRiscv/src/test/cpp/raw/lrsc/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/lrsc/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/machineCsr/.gitignore b/VexRiscv/src/test/cpp/raw/machineCsr/.gitignore
new file mode 100644
index 0000000..c12cb2c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/machineCsr/.gitignore
@@ -0,0 +1,4 @@
+*.map
+*.v
+*.elf
+*.o \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsr.asm b/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsr.asm
new file mode 100644
index 0000000..679be70
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsr.asm
@@ -0,0 +1,155 @@
+
+build/machineCsr.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <trap_entry-0x20>:
+80000000: 0940006f j 80000094 <_start>
+80000004: 00000013 nop
+80000008: 00000013 nop
+8000000c: 00000013 nop
+80000010: 00000013 nop
+80000014: 00000013 nop
+80000018: 00000013 nop
+8000001c: 00000013 nop
+
+80000020 <trap_entry>:
+80000020: 34202e73 csrr t3,mcause
+80000024: 000e1e63 bnez t3,80000040 <notICmdAlignementException>
+80000028: ffc00f13 li t5,-4
+8000002c: 34102ef3 csrr t4,mepc
+80000030: 01eefeb3 and t4,t4,t5
+80000034: 004e8e93 addi t4,t4,4
+80000038: 341e9073 csrw mepc,t4
+8000003c: 01c0006f j 80000058 <mepcFixed>
+
+80000040 <notICmdAlignementException>:
+80000040: 80000eb7 lui t4,0x80000
+80000044: 01de7f33 and t5,t3,t4
+80000048: 000f1863 bnez t5,80000058 <mepcFixed>
+8000004c: 34102ef3 csrr t4,mepc
+80000050: 004e8e93 addi t4,t4,4 # 80000004 <unalignedPcA+0xfffffe28>
+80000054: 341e9073 csrw mepc,t4
+
+80000058 <mepcFixed>:
+80000058: 80000eb7 lui t4,0x80000
+8000005c: 003e8e93 addi t4,t4,3 # 80000003 <unalignedPcA+0xfffffe27>
+80000060: 01ce9863 bne t4,t3,80000070 <noSoftwareInterrupt>
+80000064: f0013c37 lui s8,0xf0013
+80000068: 00000c93 li s9,0
+8000006c: 019c2023 sw s9,0(s8) # f0013000 <unalignedPcA+0x70012e24>
+
+80000070 <noSoftwareInterrupt>:
+80000070: 80000eb7 lui t4,0x80000
+80000074: 007e8e93 addi t4,t4,7 # 80000007 <unalignedPcA+0xfffffe2b>
+80000078: 01ce9463 bne t4,t3,80000080 <noTimerInterrupt>
+8000007c: 30405073 csrwi mie,0
+
+80000080 <noTimerInterrupt>:
+80000080: 80000eb7 lui t4,0x80000
+80000084: 00be8e93 addi t4,t4,11 # 8000000b <unalignedPcA+0xfffffe2f>
+80000088: 01ce9463 bne t4,t3,80000090 <noExernalInterrupt>
+8000008c: 30405073 csrwi mie,0
+
+80000090 <noExernalInterrupt>:
+80000090: 30200073 mret
+
+80000094 <_start>:
+80000094: 00100e13 li t3,1
+80000098: 00000073 ecall
+8000009c: 00200e13 li t3,2
+800000a0: 00800293 li t0,8
+800000a4: 3002a073 csrs mstatus,t0
+800000a8: 00800293 li t0,8
+800000ac: 30429073 csrw mie,t0
+800000b0: f0013c37 lui s8,0xf0013
+800000b4: 00100c93 li s9,1
+800000b8: 019c2023 sw s9,0(s8) # f0013000 <unalignedPcA+0x70012e24>
+800000bc: 00000013 nop
+800000c0: 00000013 nop
+800000c4: 00000013 nop
+800000c8: 00000013 nop
+800000cc: 00000013 nop
+800000d0: 00000013 nop
+800000d4: 00000013 nop
+800000d8: 00000013 nop
+800000dc: 00000013 nop
+800000e0: 00000013 nop
+800000e4: 00000013 nop
+800000e8: 00000013 nop
+800000ec: 00300e13 li t3,3
+800000f0: 08000293 li t0,128
+800000f4: 30429073 csrw mie,t0
+800000f8: 00000013 nop
+800000fc: 00000013 nop
+80000100: 00000013 nop
+80000104: 00000013 nop
+80000108: 00000013 nop
+8000010c: 00000013 nop
+80000110: 00000013 nop
+80000114: 00400e13 li t3,4
+80000118: 000012b7 lui t0,0x1
+8000011c: 80028293 addi t0,t0,-2048 # 800 <trap_entry-0x7ffff820>
+80000120: 30429073 csrw mie,t0
+80000124: 00000013 nop
+80000128: 00000013 nop
+8000012c: 00000013 nop
+80000130: 00000013 nop
+80000134: 00000013 nop
+80000138: 00000013 nop
+8000013c: 00000013 nop
+80000140: 00500e13 li t3,5
+80000144: f01001b7 lui gp,0xf0100
+80000148: f4018193 addi gp,gp,-192 # f00fff40 <unalignedPcA+0x700ffd64>
+8000014c: 0001a203 lw tp,0(gp)
+80000150: 0041a283 lw t0,4(gp)
+80000154: 3ff20213 addi tp,tp,1023 # 3ff <trap_entry-0x7ffffc21>
+80000158: 0041a423 sw tp,8(gp)
+8000015c: 0051a623 sw t0,12(gp)
+80000160: 00000013 nop
+80000164: 00000013 nop
+80000168: 00000013 nop
+8000016c: 00000013 nop
+80000170: 00000013 nop
+80000174: 00000013 nop
+80000178: 00000013 nop
+8000017c: 00000013 nop
+80000180: 00000013 nop
+80000184: 00000013 nop
+80000188: 00000013 nop
+8000018c: 00000013 nop
+80000190: 00000013 nop
+80000194: 00000013 nop
+80000198: 00600e13 li t3,6
+8000019c: 08000213 li tp,128
+800001a0: 30421073 csrw mie,tp
+800001a4: 00700e13 li t3,7
+800001a8: 10500073 wfi
+800001ac: 00800e13 li t3,8
+800001b0: 00100193 li gp,1
+800001b4: 0041a023 sw tp,0(gp)
+800001b8: 00900e13 li t3,9
+800001bc: 00419023 sh tp,0(gp)
+800001c0: 00a00e13 li t3,10
+800001c4: 0001a203 lw tp,0(gp)
+800001c8: 00b00e13 li t3,11
+800001cc: 00019203 lh tp,0(gp)
+800001d0: 00c00e13 li t3,12
+800001d4: 00d00e13 li t3,13
+800001d8: 00002083 lw ra,0(zero) # 0 <trap_entry-0x80000020>
+
+800001dc <unalignedPcA>:
+800001dc: 0020006f j 800001de <unalignedPcA+0x2>
+800001e0: 00002083 lw ra,0(zero) # 0 <trap_entry-0x80000020>
+800001e4: 00e00e13 li t3,14
+800001e8: 20200073 hret
+800001ec: 00f00e13 li t3,15
+800001f0: f01000b7 lui ra,0xf0100
+800001f4: f6008093 addi ra,ra,-160 # f00fff60 <unalignedPcA+0x700ffd84>
+800001f8: 0000a103 lw sp,0(ra)
+800001fc: 01000e13 li t3,16
+80000200: 0020a023 sw sp,0(ra)
+80000204: 01100e13 li t3,17
+80000208: 00008067 ret
+ ...
diff --git a/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsr.hex b/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsr.hex
new file mode 100644
index 0000000..d6c33e7
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsr.hex
@@ -0,0 +1,37 @@
+:0200000480007A
+:100000006F004009130000001300000013000000FF
+:100010001300000013000000130000001300000094
+:10002000732E2034631E0E00130FC0FFF32E103406
+:10003000B3FEEE01938E4E0073901E346F00C0012C
+:10004000B70E0080337FDE0163180F00F32E1034EB
+:10005000938E4E0073901E34B70E0080938E3E0038
+:100060006398CE01373C01F0930C000023209C01E3
+:10007000B70E0080938E7E006394CE0173504030A3
+:10008000B70E0080938EBE006394CE017350403053
+:1000900073002030130E100073000000130E2000B8
+:1000A0009302800073A0023093028000739042306C
+:1000B000373C01F0930C100023209C01130000003A
+:1000C00013000000130000001300000013000000E4
+:1000D00013000000130000001300000013000000D4
+:1000E000130000001300000013000000130E300086
+:1000F00093020008739042301300000013000000C8
+:1001000013000000130000001300000013000000A3
+:1001100013000000130E4000B7120000938202800B
+:100120007390423013000000130000001300000021
+:100130001300000013000000130000001300000073
+:10014000130E5000B70110F0938101F403A20100D7
+:1001500083A241001302F23F23A4410023A65100D1
+:100160001300000013000000130000001300000043
+:100170001300000013000000130000001300000033
+:100180001300000013000000130000001300000023
+:100190001300000013000000130E6000130200089B
+:1001A00073104230130E700073005010130E800055
+:1001B0009301100023A04100130E900023904100F2
+:1001C000130EA00003A20100130EB0000392010061
+:1001D000130EC000130ED000832000006F0020001B
+:1001E00083200000130EE00073002020130EF000A7
+:1001F000B70010F0938000F603A10000130E000179
+:1002000023A02000130E10016780000000000000F2
+:1002100000000000000000000000000000000000DE
+:0400000580000094E3
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsrCompressed.asm b/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsrCompressed.asm
new file mode 100644
index 0000000..097f4e3
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsrCompressed.asm
@@ -0,0 +1,155 @@
+
+build/machineCsrCompressed.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <trap_entry-0x20>:
+80000000: 0940006f j 80000094 <_start>
+80000004: 00000013 nop
+80000008: 00000013 nop
+8000000c: 00000013 nop
+80000010: 00000013 nop
+80000014: 00000013 nop
+80000018: 00000013 nop
+8000001c: 00000013 nop
+
+80000020 <trap_entry>:
+80000020: 34202e73 csrr t3,mcause
+80000024: 000e1e63 bnez t3,80000040 <notICmdAlignementException>
+80000028: ffc00f13 li t5,-4
+8000002c: 34102ef3 csrr t4,mepc
+80000030: 01eefeb3 and t4,t4,t5
+80000034: 004e8e93 addi t4,t4,4
+80000038: 341e9073 csrw mepc,t4
+8000003c: 01c0006f j 80000058 <mepcFixed>
+
+80000040 <notICmdAlignementException>:
+80000040: 80000eb7 lui t4,0x80000
+80000044: 01de7f33 and t5,t3,t4
+80000048: 000f1863 bnez t5,80000058 <mepcFixed>
+8000004c: 34102ef3 csrr t4,mepc
+80000050: 004e8e93 addi t4,t4,4 # 80000004 <unalignedPcA+0xfffffe28>
+80000054: 341e9073 csrw mepc,t4
+
+80000058 <mepcFixed>:
+80000058: 80000eb7 lui t4,0x80000
+8000005c: 003e8e93 addi t4,t4,3 # 80000003 <unalignedPcA+0xfffffe27>
+80000060: 01ce9863 bne t4,t3,80000070 <noSoftwareInterrupt>
+80000064: f0013c37 lui s8,0xf0013
+80000068: 00000c93 li s9,0
+8000006c: 019c2023 sw s9,0(s8) # f0013000 <unalignedPcA+0x70012e24>
+
+80000070 <noSoftwareInterrupt>:
+80000070: 80000eb7 lui t4,0x80000
+80000074: 007e8e93 addi t4,t4,7 # 80000007 <unalignedPcA+0xfffffe2b>
+80000078: 01ce9463 bne t4,t3,80000080 <noTimerInterrupt>
+8000007c: 30405073 csrwi mie,0
+
+80000080 <noTimerInterrupt>:
+80000080: 80000eb7 lui t4,0x80000
+80000084: 00be8e93 addi t4,t4,11 # 8000000b <unalignedPcA+0xfffffe2f>
+80000088: 01ce9463 bne t4,t3,80000090 <noExernalInterrupt>
+8000008c: 30405073 csrwi mie,0
+
+80000090 <noExernalInterrupt>:
+80000090: 30200073 mret
+
+80000094 <_start>:
+80000094: 00100e13 li t3,1
+80000098: 00000073 ecall
+8000009c: 00200e13 li t3,2
+800000a0: 00800293 li t0,8
+800000a4: 3002a073 csrs mstatus,t0
+800000a8: 00800293 li t0,8
+800000ac: 30429073 csrw mie,t0
+800000b0: f0013c37 lui s8,0xf0013
+800000b4: 00100c93 li s9,1
+800000b8: 019c2023 sw s9,0(s8) # f0013000 <unalignedPcA+0x70012e24>
+800000bc: 00000013 nop
+800000c0: 00000013 nop
+800000c4: 00000013 nop
+800000c8: 00000013 nop
+800000cc: 00000013 nop
+800000d0: 00000013 nop
+800000d4: 00000013 nop
+800000d8: 00000013 nop
+800000dc: 00000013 nop
+800000e0: 00000013 nop
+800000e4: 00000013 nop
+800000e8: 00000013 nop
+800000ec: 00300e13 li t3,3
+800000f0: 08000293 li t0,128
+800000f4: 30429073 csrw mie,t0
+800000f8: 00000013 nop
+800000fc: 00000013 nop
+80000100: 00000013 nop
+80000104: 00000013 nop
+80000108: 00000013 nop
+8000010c: 00000013 nop
+80000110: 00000013 nop
+80000114: 00400e13 li t3,4
+80000118: 000012b7 lui t0,0x1
+8000011c: 80028293 addi t0,t0,-2048 # 800 <trap_entry-0x7ffff820>
+80000120: 30429073 csrw mie,t0
+80000124: 00000013 nop
+80000128: 00000013 nop
+8000012c: 00000013 nop
+80000130: 00000013 nop
+80000134: 00000013 nop
+80000138: 00000013 nop
+8000013c: 00000013 nop
+80000140: 00500e13 li t3,5
+80000144: f01001b7 lui gp,0xf0100
+80000148: f4018193 addi gp,gp,-192 # f00fff40 <unalignedPcA+0x700ffd64>
+8000014c: 0001a203 lw tp,0(gp)
+80000150: 0041a283 lw t0,4(gp)
+80000154: 3ff20213 addi tp,tp,1023 # 3ff <trap_entry-0x7ffffc21>
+80000158: 0041a423 sw tp,8(gp)
+8000015c: 0051a623 sw t0,12(gp)
+80000160: 00000013 nop
+80000164: 00000013 nop
+80000168: 00000013 nop
+8000016c: 00000013 nop
+80000170: 00000013 nop
+80000174: 00000013 nop
+80000178: 00000013 nop
+8000017c: 00000013 nop
+80000180: 00000013 nop
+80000184: 00000013 nop
+80000188: 00000013 nop
+8000018c: 00000013 nop
+80000190: 00000013 nop
+80000194: 00000013 nop
+80000198: 00600e13 li t3,6
+8000019c: 08000213 li tp,128
+800001a0: 30421073 csrw mie,tp
+800001a4: 00700e13 li t3,7
+800001a8: 10500073 wfi
+800001ac: 00800e13 li t3,8
+800001b0: 00100193 li gp,1
+800001b4: 0041a023 sw tp,0(gp)
+800001b8: 00900e13 li t3,9
+800001bc: 00419023 sh tp,0(gp)
+800001c0: 00a00e13 li t3,10
+800001c4: 0001a203 lw tp,0(gp)
+800001c8: 00b00e13 li t3,11
+800001cc: 00019203 lh tp,0(gp)
+800001d0: 00c00e13 li t3,12
+800001d4: 00d00e13 li t3,13
+800001d8: 00002083 lw ra,0(zero) # 0 <trap_entry-0x80000020>
+
+800001dc <unalignedPcA>:
+800001dc: 0020006f j 800001de <unalignedPcA+0x2>
+800001e0: 00002083 lw ra,0(zero) # 0 <trap_entry-0x80000020>
+800001e4: 00e00e13 li t3,14
+800001e8: 20200073 hret
+800001ec: 00f00e13 li t3,15
+800001f0: f01000b7 lui ra,0xf0100
+800001f4: f6008093 addi ra,ra,-160 # f00fff60 <unalignedPcA+0x700ffd84>
+800001f8: 0000a103 lw sp,0(ra)
+800001fc: 01000e13 li t3,16
+80000200: 0020a023 sw sp,0(ra)
+80000204: 01100e13 li t3,17
+80000208: 00008067 ret
+ ...
diff --git a/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsrCompressed.hex b/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsrCompressed.hex
new file mode 100644
index 0000000..d6c33e7
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/machineCsr/build/machineCsrCompressed.hex
@@ -0,0 +1,37 @@
+:0200000480007A
+:100000006F004009130000001300000013000000FF
+:100010001300000013000000130000001300000094
+:10002000732E2034631E0E00130FC0FFF32E103406
+:10003000B3FEEE01938E4E0073901E346F00C0012C
+:10004000B70E0080337FDE0163180F00F32E1034EB
+:10005000938E4E0073901E34B70E0080938E3E0038
+:100060006398CE01373C01F0930C000023209C01E3
+:10007000B70E0080938E7E006394CE0173504030A3
+:10008000B70E0080938EBE006394CE017350403053
+:1000900073002030130E100073000000130E2000B8
+:1000A0009302800073A0023093028000739042306C
+:1000B000373C01F0930C100023209C01130000003A
+:1000C00013000000130000001300000013000000E4
+:1000D00013000000130000001300000013000000D4
+:1000E000130000001300000013000000130E300086
+:1000F00093020008739042301300000013000000C8
+:1001000013000000130000001300000013000000A3
+:1001100013000000130E4000B7120000938202800B
+:100120007390423013000000130000001300000021
+:100130001300000013000000130000001300000073
+:10014000130E5000B70110F0938101F403A20100D7
+:1001500083A241001302F23F23A4410023A65100D1
+:100160001300000013000000130000001300000043
+:100170001300000013000000130000001300000033
+:100180001300000013000000130000001300000023
+:100190001300000013000000130E6000130200089B
+:1001A00073104230130E700073005010130E800055
+:1001B0009301100023A04100130E900023904100F2
+:1001C000130EA00003A20100130EB0000392010061
+:1001D000130EC000130ED000832000006F0020001B
+:1001E00083200000130EE00073002020130EF000A7
+:1001F000B70010F0938000F603A10000130E000179
+:1002000023A02000130E10016780000000000000F2
+:1002100000000000000000000000000000000000DE
+:0400000580000094E3
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/machineCsr/makefile b/VexRiscv/src/test/cpp/raw/machineCsr/makefile
new file mode 100644
index 0000000..4fc2c84
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/machineCsr/makefile
@@ -0,0 +1,11 @@
+ifeq ($(COMPRESSED),yes)
+ PROJ_NAME=machineCsrCompressed
+ CFLAGS=-DCOMPRESSED
+else
+ PROJ_NAME=machineCsr
+endif
+
+
+
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/machineCsr/src/crt.S b/VexRiscv/src/test/cpp/raw/machineCsr/src/crt.S
new file mode 100644
index 0000000..91429db
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/machineCsr/src/crt.S
@@ -0,0 +1,157 @@
+ j _start
+
+#define writeSoftwareInterrupt(value) \
+ li x24, 0xF0013000; \
+ li x25, value; \
+ sw x25, 0(x24); \
+
+.align 5
+.global trap_entry
+trap_entry:
+ csrr x28, mcause
+
+ bnez x28, notICmdAlignementException
+ li x30, 0xFFFFFFFC
+ csrr x29, mepc
+ and x29,x29,x30
+ addi x29, x29, 4
+ csrw mepc, x29
+ j mepcFixed
+
+notICmdAlignementException:
+ li x29, 0x80000000
+ and x30, x28, x29
+ bnez x30, mepcFixed
+ csrr x29, mepc
+ addi x29, x29, 4
+ csrw mepc, x29
+mepcFixed:
+
+
+ li x29, 0x80000003u
+ bne x29, x28, noSoftwareInterrupt
+ writeSoftwareInterrupt(0)
+
+noSoftwareInterrupt:
+
+ li x29, 0x80000007u
+ bne x29, x28, noTimerInterrupt
+ csrw mie, 0
+noTimerInterrupt:
+
+ li x29, 0x8000000bu
+ bne x29, x28, noExernalInterrupt
+ csrw mie, 0
+noExernalInterrupt:
+
+ mret
+
+
+ .text
+ .globl _start
+_start:
+ li x28, 1
+ ecall
+
+ li x28, 2
+ li t0, 0x008
+ csrs mstatus,t0
+ li t0, 0x008
+ csrw mie,t0
+ writeSoftwareInterrupt(1)
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+
+
+ li x28, 3
+ li t0, 0x080
+ csrw mie,t0
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+
+ li x28, 4
+ li t0, 0x800
+ csrw mie,t0
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+
+ li x28, 5
+ li x3, 0xF00FFF40
+ lw x4, 0(x3)
+ lw x5, 4(x3)
+ addi x4, x4, 1023
+ sw x4, 8(x3)
+ sw x5, 12(x3)
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+ li x28, 6
+ li x4, 0x080
+ csrw mie,x4
+ li x28, 7
+ wfi
+
+
+ li x28, 8
+ li x3, 1
+ sw x4,0(x3)
+ li x28, 9
+ sh x4,0(x3)
+ li x28, 10
+ lw x4,0(x3)
+ li x28, 11
+ lh x4,0(x3)
+ li x28, 12
+
+
+
+ li x28, 13
+ lw x1,0(x0)
+#ifndef COMPRESSED
+unalignedPcA:
+ j unalignedPcA+2
+#endif
+ lw x1,0(x0)
+
+ li x28, 14
+ hret
+ li x28, 15
+
+
+ li x1, 0xF00FFF60
+ lw x2, 0(x1)
+ li x28, 16
+ sw x2, 0(x1)
+ li x28, 17
+ jr x1
diff --git a/VexRiscv/src/test/cpp/raw/machineCsr/src/ld b/VexRiscv/src/test/cpp/raw/machineCsr/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/machineCsr/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/mmu/.gitignore b/VexRiscv/src/test/cpp/raw/mmu/.gitignore
new file mode 100644
index 0000000..c12cb2c
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/mmu/.gitignore
@@ -0,0 +1,4 @@
+*.map
+*.v
+*.elf
+*.o \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/mmu/build/mmu.asm b/VexRiscv/src/test/cpp/raw/mmu/build/mmu.asm
new file mode 100644
index 0000000..9bbf17f
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/mmu/build/mmu.asm
@@ -0,0 +1,12430 @@
+
+build/mmu.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: 00000e93 li t4,0
+80000004: 00000097 auipc ra,0x0
+80000008: 59008093 addi ra,ra,1424 # 80000594 <trap>
+8000000c: 30509073 csrw mtvec,ra
+
+80000010 <test1>:
+80000010: 00100e13 li t3,1
+80000014: 00007097 auipc ra,0x7
+80000018: fec08093 addi ra,ra,-20 # 80007000 <ROM_2>
+8000001c: 27262137 lui sp,0x27262
+80000020: 52410113 addi sp,sp,1316 # 27262524 <_start-0x58d9dadc>
+80000024: 0040a083 lw ra,4(ra)
+80000028: 54209263 bne ra,sp,8000056c <fail>
+
+8000002c <test2>:
+8000002c: 00200e13 li t3,2
+80000030: 00000097 auipc ra,0x0
+80000034: 02008093 addi ra,ra,32 # 80000050 <test3>
+80000038: 34109073 csrw mepc,ra
+8000003c: 000020b7 lui ra,0x2
+80000040: 80008093 addi ra,ra,-2048 # 1800 <_start-0x7fffe800>
+80000044: 30009073 csrw mstatus,ra
+80000048: 30200073 mret
+8000004c: 5200006f j 8000056c <fail>
+
+80000050 <test3>:
+80000050: 00300e13 li t3,3
+80000054: 000010b7 lui ra,0x1
+80000058: 80008093 addi ra,ra,-2048 # 800 <_start-0x7ffff800>
+8000005c: 30009073 csrw mstatus,ra
+80000060: 00000097 auipc ra,0x0
+80000064: 01408093 addi ra,ra,20 # 80000074 <test4>
+80000068: 34109073 csrw mepc,ra
+8000006c: 30200073 mret
+80000070: 4fc0006f j 8000056c <fail>
+
+80000074 <test4>:
+80000074: 00400e13 li t3,4
+80000078: 00008097 auipc ra,0x8
+8000007c: f8808093 addi ra,ra,-120 # 80008000 <ROM_3>
+80000080: 37363137 lui sp,0x37363
+80000084: 53410113 addi sp,sp,1332 # 37363534 <_start-0x48c9cacc>
+80000088: 0040a083 lw ra,4(ra)
+8000008c: 4e209063 bne ra,sp,8000056c <fail>
+
+80000090 <test5>:
+80000090: 00500e13 li t3,5
+80000094: 00001097 auipc ra,0x1
+80000098: 76c08093 addi ra,ra,1900 # 80001800 <MMU_TABLE_0+0x800>
+8000009c: 00002117 auipc sp,0x2
+800000a0: f6410113 addi sp,sp,-156 # 80002000 <MMU_TABLE_1>
+800000a4: 00215113 srli sp,sp,0x2
+800000a8: 01116113 ori sp,sp,17
+800000ac: 0020a023 sw sp,0(ra)
+800000b0: 00002097 auipc ra,0x2
+800000b4: f5008093 addi ra,ra,-176 # 80002000 <MMU_TABLE_1>
+800000b8: 80000137 lui sp,0x80000
+800000bc: 00215113 srli sp,sp,0x2
+800000c0: 00f16113 ori sp,sp,15
+800000c4: 0020a023 sw sp,0(ra)
+800000c8: 00500e13 li t3,5
+800000cc: 00002097 auipc ra,0x2
+800000d0: 83408093 addi ra,ra,-1996 # 80001900 <MMU_TABLE_0+0x900>
+800000d4: 00003117 auipc sp,0x3
+800000d8: f2c10113 addi sp,sp,-212 # 80003000 <MMU_TABLE_2>
+800000dc: 00215113 srli sp,sp,0x2
+800000e0: 01116113 ori sp,sp,17
+800000e4: 0020a023 sw sp,0(ra)
+800000e8: 00003097 auipc ra,0x3
+800000ec: f4008093 addi ra,ra,-192 # 80003028 <MMU_TABLE_2+0x28>
+800000f0: 00009117 auipc sp,0x9
+800000f4: f1010113 addi sp,sp,-240 # 80009000 <ROM_4>
+800000f8: 00215113 srli sp,sp,0x2
+800000fc: 01f16113 ori sp,sp,31
+80000100: 0020a023 sw sp,0(ra)
+80000104: 00003097 auipc ra,0x3
+80000108: f3c08093 addi ra,ra,-196 # 80003040 <MMU_TABLE_2+0x40>
+8000010c: 0000a117 auipc sp,0xa
+80000110: ef410113 addi sp,sp,-268 # 8000a000 <ROM_5>
+80000114: 00215113 srli sp,sp,0x2
+80000118: 01316113 ori sp,sp,19
+8000011c: 0020a023 sw sp,0(ra)
+80000120: 00003097 auipc ra,0x3
+80000124: f2408093 addi ra,ra,-220 # 80003044 <MMU_TABLE_2+0x44>
+80000128: 0000a117 auipc sp,0xa
+8000012c: ed810113 addi sp,sp,-296 # 8000a000 <ROM_5>
+80000130: 00215113 srli sp,sp,0x2
+80000134: 01716113 ori sp,sp,23
+80000138: 0020a023 sw sp,0(ra)
+8000013c: 00003097 auipc ra,0x3
+80000140: f0c08093 addi ra,ra,-244 # 80003048 <MMU_TABLE_2+0x48>
+80000144: 0000a117 auipc sp,0xa
+80000148: ebc10113 addi sp,sp,-324 # 8000a000 <ROM_5>
+8000014c: 00215113 srli sp,sp,0x2
+80000150: 01916113 ori sp,sp,25
+80000154: 0020a023 sw sp,0(ra)
+80000158: 00003097 auipc ra,0x3
+8000015c: ef408093 addi ra,ra,-268 # 8000304c <MMU_TABLE_2+0x4c>
+80000160: 0000a117 auipc sp,0xa
+80000164: ea010113 addi sp,sp,-352 # 8000a000 <ROM_5>
+80000168: 00215113 srli sp,sp,0x2
+8000016c: 01b16113 ori sp,sp,27
+80000170: 0020a023 sw sp,0(ra)
+80000174: 00003097 auipc ra,0x3
+80000178: edc08093 addi ra,ra,-292 # 80003050 <MMU_TABLE_2+0x50>
+8000017c: 0000a117 auipc sp,0xa
+80000180: e8410113 addi sp,sp,-380 # 8000a000 <ROM_5>
+80000184: 00215113 srli sp,sp,0x2
+80000188: 00f16113 ori sp,sp,15
+8000018c: 0020a023 sw sp,0(ra)
+80000190: 00500e13 li t3,5
+80000194: 00002097 auipc ra,0x2
+80000198: 86c08093 addi ra,ra,-1940 # 80001a00 <MMU_TABLE_0+0xa00>
+8000019c: 00000117 auipc sp,0x0
+800001a0: e6410113 addi sp,sp,-412 # 80000000 <_start>
+800001a4: 00215113 srli sp,sp,0x2
+800001a8: 01f16113 ori sp,sp,31
+800001ac: 0020a023 sw sp,0(ra)
+800001b0: 00500e13 li t3,5
+800001b4: 00002097 auipc ra,0x2
+800001b8: 94c08093 addi ra,ra,-1716 # 80001b00 <MMU_TABLE_0+0xb00>
+800001bc: 0000a023 sw zero,0(ra)
+800001c0: 000400b7 lui ra,0x40
+800001c4: 1000a073 csrs sstatus,ra
+800001c8: 00001097 auipc ra,0x1
+800001cc: e3808093 addi ra,ra,-456 # 80001000 <MMU_TABLE_0>
+800001d0: 00c0d093 srli ra,ra,0xc
+800001d4: 80000137 lui sp,0x80000
+800001d8: 0020e0b3 or ra,ra,sp
+800001dc: 18009073 csrw satp,ra
+
+800001e0 <test6>:
+800001e0: 00600e13 li t3,6
+800001e4: 9000a0b7 lui ra,0x9000a
+800001e8: 00808093 addi ra,ra,8 # 9000a008 <ROM_7+0xfffe008>
+800001ec: 4b4a5137 lui sp,0x4b4a5
+800001f0: 94810113 addi sp,sp,-1720 # 4b4a4948 <_start-0x34b5b6b8>
+800001f4: 0000a083 lw ra,0(ra)
+800001f8: 36209a63 bne ra,sp,8000056c <fail>
+
+800001fc <test7>:
+800001fc: 00700e13 li t3,7
+80000200: 9000a0b7 lui ra,0x9000a
+80000204: 36008093 addi ra,ra,864 # 9000a360 <ROM_7+0xfffe360>
+80000208: aaee0137 lui sp,0xaaee0
+8000020c: 00110113 addi sp,sp,1 # aaee0001 <ROM_7+0x2aed4001>
+80000210: 0020a023 sw sp,0(ra)
+80000214: 0000a083 lw ra,0(ra)
+80000218: 34209a63 bne ra,sp,8000056c <fail>
+
+8000021c <test8>:
+8000021c: 00800e13 li t3,8
+80000220: 2000c097 auipc ra,0x2000c
+80000224: de408093 addi ra,ra,-540 # a000c004 <ROM_7+0x20000004>
+80000228: 77767137 lui sp,0x77767
+8000022c: 57410113 addi sp,sp,1396 # 77767574 <_start-0x8898a8c>
+80000230: 0000a083 lw ra,0(ra)
+80000234: 32209c63 bne ra,sp,8000056c <fail>
+
+80000238 <test9>:
+80000238: 00900e13 li t3,9
+8000023c: a000a0b7 lui ra,0xa000a
+80000240: 36008093 addi ra,ra,864 # a000a360 <ROM_7+0x1fffe360>
+80000244: aaee0137 lui sp,0xaaee0
+80000248: 00210113 addi sp,sp,2 # aaee0002 <ROM_7+0x2aed4002>
+8000024c: 0020a023 sw sp,0(ra)
+80000250: 0000a083 lw ra,0(ra)
+80000254: 30209c63 bne ra,sp,8000056c <fail>
+
+80000258 <test10>:
+80000258: 00a00e13 li t3,10
+8000025c: 18005073 csrwi satp,0
+80000260: 00009097 auipc ra,0x9
+80000264: 10008093 addi ra,ra,256 # 80009360 <ROM_4+0x360>
+80000268: aaee0137 lui sp,0xaaee0
+8000026c: 00110113 addi sp,sp,1 # aaee0001 <ROM_7+0x2aed4001>
+80000270: 0000a083 lw ra,0(ra)
+80000274: 2e209c63 bne ra,sp,8000056c <fail>
+
+80000278 <test11>:
+80000278: 00b00e13 li t3,11
+8000027c: 0000a097 auipc ra,0xa
+80000280: 0e408093 addi ra,ra,228 # 8000a360 <ROM_5+0x360>
+80000284: aaee0137 lui sp,0xaaee0
+80000288: 00210113 addi sp,sp,2 # aaee0002 <ROM_7+0x2aed4002>
+8000028c: 0000a083 lw ra,0(ra)
+80000290: 2c209e63 bne ra,sp,8000056c <fail>
+80000294: 00001097 auipc ra,0x1
+80000298: d6c08093 addi ra,ra,-660 # 80001000 <MMU_TABLE_0>
+8000029c: 00c0d093 srli ra,ra,0xc
+800002a0: 80000137 lui sp,0x80000
+800002a4: 0020e0b3 or ra,ra,sp
+800002a8: 18009073 csrw satp,ra
+
+800002ac <test12>:
+800002ac: 00c00e13 li t3,12
+800002b0: 00100e93 li t4,1
+800002b4: 00000f17 auipc t5,0x0
+800002b8: 010f0f13 addi t5,t5,16 # 800002c4 <test13>
+800002bc: 00000073 ecall
+800002c0: 2ac0006f j 8000056c <fail>
+
+800002c4 <test13>:
+800002c4: 00d00e13 li t3,13
+800002c8: 00000f17 auipc t5,0x0
+800002cc: 014f0f13 addi t5,t5,20 # 800002dc <test14>
+800002d0: b00000b7 lui ra,0xb0000
+800002d4: 0080a083 lw ra,8(ra) # b0000008 <ROM_7+0x2fff4008>
+800002d8: 2940006f j 8000056c <fail>
+
+800002dc <test14>:
+800002dc: 00e00e13 li t3,14
+800002e0: 00000f17 auipc t5,0x0
+800002e4: 014f0f13 addi t5,t5,20 # 800002f4 <test15>
+800002e8: b00000b7 lui ra,0xb0000
+800002ec: 0010a423 sw ra,8(ra) # b0000008 <ROM_7+0x2fff4008>
+800002f0: 27c0006f j 8000056c <fail>
+
+800002f4 <test15>:
+800002f4: 00f00e13 li t3,15
+800002f8: 00000f17 auipc t5,0x0
+800002fc: 014f0f13 addi t5,t5,20 # 8000030c <test15_end>
+80000300: b00000b7 lui ra,0xb0000
+80000304: 00008067 ret
+80000308: 2640006f j 8000056c <fail>
+
+8000030c <test15_end>:
+8000030c: 01000e13 li t3,16
+80000310: 00000e93 li t4,0
+80000314: 900100b7 lui ra,0x90010
+80000318: 00808093 addi ra,ra,8 # 90010008 <ROM_7+0x10004008>
+8000031c: 5b5a6137 lui sp,0x5b5a6
+80000320: 95810113 addi sp,sp,-1704 # 5b5a5958 <_start-0x24a5a6a8>
+80000324: 0000a083 lw ra,0(ra)
+80000328: 24209263 bne ra,sp,8000056c <fail>
+8000032c: 900110b7 lui ra,0x90011
+80000330: 00808093 addi ra,ra,8 # 90011008 <ROM_7+0x10005008>
+80000334: 5b5a6137 lui sp,0x5b5a6
+80000338: 95810113 addi sp,sp,-1704 # 5b5a5958 <_start-0x24a5a6a8>
+8000033c: 0000a083 lw ra,0(ra)
+80000340: 22209663 bne ra,sp,8000056c <fail>
+80000344: 900130b7 lui ra,0x90013
+80000348: 00808093 addi ra,ra,8 # 90013008 <ROM_7+0x10007008>
+8000034c: 5b5a6137 lui sp,0x5b5a6
+80000350: 95810113 addi sp,sp,-1704 # 5b5a5958 <_start-0x24a5a6a8>
+80000354: 0000a083 lw ra,0(ra)
+80000358: 20209a63 bne ra,sp,8000056c <fail>
+
+8000035c <test17>:
+8000035c: 01100e13 li t3,17
+80000360: 900110b7 lui ra,0x90011
+80000364: 36008093 addi ra,ra,864 # 90011360 <ROM_7+0x10005360>
+80000368: aaee0137 lui sp,0xaaee0
+8000036c: 00310113 addi sp,sp,3 # aaee0003 <ROM_7+0x2aed4003>
+80000370: 0020a023 sw sp,0(ra)
+80000374: 0000a083 lw ra,0(ra)
+80000378: 1e209a63 bne ra,sp,8000056c <fail>
+
+8000037c <test18>:
+8000037c: 01200e13 li t3,18
+80000380: 00000097 auipc ra,0x0
+80000384: 01808093 addi ra,ra,24 # 80000398 <test18_end>
+80000388: 90012137 lui sp,0x90012
+8000038c: 01010113 addi sp,sp,16 # 90012010 <ROM_7+0x10006010>
+80000390: 00010067 jr sp
+80000394: 1d80006f j 8000056c <fail>
+
+80000398 <test18_end>:
+80000398: 01300e13 li t3,19
+8000039c: 00100e93 li t4,1
+800003a0: 00000f17 auipc t5,0x0
+800003a4: 018f0f13 addi t5,t5,24 # 800003b8 <test19_readTrap>
+800003a8: 900120b7 lui ra,0x90012
+800003ac: 01008093 addi ra,ra,16 # 90012010 <ROM_7+0x10006010>
+800003b0: 0000a083 lw ra,0(ra)
+800003b4: 1b80006f j 8000056c <fail>
+
+800003b8 <test19_readTrap>:
+800003b8: 00000f17 auipc t5,0x0
+800003bc: 018f0f13 addi t5,t5,24 # 800003d0 <test19_writeTrap>
+800003c0: 900130b7 lui ra,0x90013
+800003c4: 01008093 addi ra,ra,16 # 90013010 <ROM_7+0x10007010>
+800003c8: 0010a023 sw ra,0(ra)
+800003cc: 1a00006f j 8000056c <fail>
+
+800003d0 <test19_writeTrap>:
+800003d0: 00000f17 auipc t5,0x0
+800003d4: 018f0f13 addi t5,t5,24 # 800003e8 <test19_executeTrap>
+800003d8: 900110b7 lui ra,0x90011
+800003dc: 01008093 addi ra,ra,16 # 90011010 <ROM_7+0x10005010>
+800003e0: 00008067 ret
+800003e4: 1880006f j 8000056c <fail>
+
+800003e8 <test19_executeTrap>:
+800003e8: 01500e13 li t3,21
+800003ec: 00000e93 li t4,0
+800003f0: 000800b7 lui ra,0x80
+800003f4: 1000a073 csrs sstatus,ra
+800003f8: 900120b7 lui ra,0x90012
+800003fc: 00808093 addi ra,ra,8 # 90012008 <ROM_7+0x10006008>
+80000400: 5b5a6137 lui sp,0x5b5a6
+80000404: 95810113 addi sp,sp,-1704 # 5b5a5958 <_start-0x24a5a6a8>
+80000408: 0000a083 lw ra,0(ra)
+8000040c: 16209063 bne ra,sp,8000056c <fail>
+80000410: 000800b7 lui ra,0x80
+80000414: 1000b073 csrc sstatus,ra
+
+80000418 <test21>:
+80000418: 00000e93 li t4,0
+8000041c: 01400e13 li t3,20
+80000420: 900140b7 lui ra,0x90014
+80000424: 38008093 addi ra,ra,896 # 90014380 <ROM_7+0x10008380>
+80000428: aaee0137 lui sp,0xaaee0
+8000042c: 00510113 addi sp,sp,5 # aaee0005 <ROM_7+0x2aed4005>
+80000430: 0020a023 sw sp,0(ra)
+80000434: 0000a083 lw ra,0(ra)
+80000438: 12209a63 bne ra,sp,8000056c <fail>
+8000043c: 000400b7 lui ra,0x40
+80000440: 1000b073 csrc sstatus,ra
+80000444: 00100e93 li t4,1
+80000448: 00000f17 auipc t5,0x0
+8000044c: 018f0f13 addi t5,t5,24 # 80000460 <test21_pass>
+80000450: 900110b7 lui ra,0x90011
+80000454: 64808093 addi ra,ra,1608 # 90011648 <ROM_7+0x10005648>
+80000458: 0010a023 sw ra,0(ra)
+8000045c: 1100006f j 8000056c <fail>
+
+80000460 <test21_pass>:
+80000460: 03200e13 li t3,50
+80000464: 00000e93 li t4,0
+80000468: 000400b7 lui ra,0x40
+8000046c: 1000a073 csrs sstatus,ra
+80000470: 18002573 csrr a0,satp
+80000474: 18001073 csrw satp,zero
+80000478: 00002097 auipc ra,0x2
+8000047c: b8808093 addi ra,ra,-1144 # 80002000 <MMU_TABLE_1>
+80000480: 80000137 lui sp,0x80000
+80000484: 00215113 srli sp,sp,0x2
+80000488: 01f16113 ori sp,sp,31
+8000048c: 0020a023 sw sp,0(ra)
+80000490: 18051073 csrw satp,a0
+80000494: 10000093 li ra,256
+80000498: 1000b073 csrc sstatus,ra
+8000049c: 00000097 auipc ra,0x0
+800004a0: 01808093 addi ra,ra,24 # 800004b4 <test51>
+800004a4: 14109073 csrw sepc,ra
+800004a8: 12000073 sfence.vma
+800004ac: 10200073 sret
+800004b0: 0bc0006f j 8000056c <fail>
+
+800004b4 <test51>:
+800004b4: 03300e13 li t3,51
+800004b8: 900110b7 lui ra,0x90011
+800004bc: 00808093 addi ra,ra,8 # 90011008 <ROM_7+0x10005008>
+800004c0: 5b5a6137 lui sp,0x5b5a6
+800004c4: 95810113 addi sp,sp,-1704 # 5b5a5958 <_start-0x24a5a6a8>
+800004c8: 0000a083 lw ra,0(ra)
+800004cc: 0a209063 bne ra,sp,8000056c <fail>
+800004d0: a000a0b7 lui ra,0xa000a
+800004d4: 32408093 addi ra,ra,804 # a000a324 <ROM_7+0x1fffe324>
+800004d8: aaee0137 lui sp,0xaaee0
+800004dc: 00810113 addi sp,sp,8 # aaee0008 <ROM_7+0x2aed4008>
+800004e0: 0020a023 sw sp,0(ra)
+800004e4: 0000a083 lw ra,0(ra)
+800004e8: 08209263 bne ra,sp,8000056c <fail>
+
+800004ec <test52>:
+800004ec: 03400e13 li t3,52
+800004f0: 00000097 auipc ra,0x0
+800004f4: 01808093 addi ra,ra,24 # 80000508 <test53>
+800004f8: 90012137 lui sp,0x90012
+800004fc: 01010113 addi sp,sp,16 # 90012010 <ROM_7+0x10006010>
+80000500: 00010067 jr sp
+80000504: 0680006f j 8000056c <fail>
+
+80000508 <test53>:
+80000508: 03500e13 li t3,53
+8000050c: 00100e93 li t4,1
+80000510: 00000f17 auipc t5,0x0
+80000514: 018f0f13 addi t5,t5,24 # 80000528 <test54>
+80000518: 900140b7 lui ra,0x90014
+8000051c: 39008093 addi ra,ra,912 # 90014390 <ROM_7+0x10008390>
+80000520: 00008067 ret
+80000524: 0480006f j 8000056c <fail>
+
+80000528 <test54>:
+80000528: 03600e13 li t3,54
+8000052c: 00100e93 li t4,1
+80000530: 00000f17 auipc t5,0x0
+80000534: 018f0f13 addi t5,t5,24 # 80000548 <test55>
+80000538: 900140b7 lui ra,0x90014
+8000053c: 39408093 addi ra,ra,916 # 90014394 <ROM_7+0x10008394>
+80000540: 0000a083 lw ra,0(ra)
+80000544: 0280006f j 8000056c <fail>
+
+80000548 <test55>:
+80000548: 03700e13 li t3,55
+8000054c: 00100e93 li t4,1
+80000550: 00000f17 auipc t5,0x0
+80000554: 018f0f13 addi t5,t5,24 # 80000568 <test56>
+80000558: 900140b7 lui ra,0x90014
+8000055c: 39808093 addi ra,ra,920 # 90014398 <ROM_7+0x10008398>
+80000560: 0010a023 sw ra,0(ra)
+80000564: 0080006f j 8000056c <fail>
+
+80000568 <test56>:
+80000568: 0180006f j 80000580 <pass>
+
+8000056c <fail>:
+8000056c: 00000e93 li t4,0
+80000570: 00000073 ecall
+
+80000574 <failFence>:
+80000574: f0100137 lui sp,0xf0100
+80000578: f2410113 addi sp,sp,-220 # f00fff24 <ROM_7+0x700f3f24>
+8000057c: 01c12023 sw t3,0(sp)
+
+80000580 <pass>:
+80000580: 00200e93 li t4,2
+80000584: 00000073 ecall
+
+80000588 <passFence>:
+80000588: f0100137 lui sp,0xf0100
+8000058c: f2010113 addi sp,sp,-224 # f00fff20 <ROM_7+0x700f3f20>
+80000590: 00012023 sw zero,0(sp)
+
+80000594 <trap>:
+80000594: fe0e80e3 beqz t4,80000574 <failFence>
+80000598: 342020f3 csrr ra,mcause
+8000059c: 341020f3 csrr ra,mepc
+800005a0: 300020f3 csrr ra,mstatus
+800005a4: 343020f3 csrr ra,mbadaddr
+800005a8: 00200093 li ra,2
+800005ac: fc1e8ee3 beq t4,ra,80000588 <passFence>
+800005b0: 341f1073 csrw mepc,t5
+800005b4: 30200073 mret
+800005b8: 00000013 nop
+800005bc: 00000013 nop
+800005c0: 00000013 nop
+800005c4: 00000013 nop
+800005c8: 00000013 nop
+800005cc: 00000013 nop
+800005d0: 00000013 nop
+800005d4: 00000013 nop
+800005d8: 00000013 nop
+800005dc: 00000013 nop
+800005e0: 00000013 nop
+800005e4: 00000013 nop
+800005e8: 00000013 nop
+800005ec: 00000013 nop
+800005f0: 00000013 nop
+800005f4: 00000013 nop
+800005f8: 00000013 nop
+800005fc: 00000013 nop
+80000600: 00000013 nop
+80000604: 00000013 nop
+80000608: 00000013 nop
+8000060c: 00000013 nop
+80000610: 00000013 nop
+80000614: 00000013 nop
+80000618: 00000013 nop
+8000061c: 00000013 nop
+80000620: 00000013 nop
+80000624: 00000013 nop
+80000628: 00000013 nop
+8000062c: 00000013 nop
+80000630: 00000013 nop
+80000634: 00000013 nop
+80000638: 00000013 nop
+8000063c: 00000013 nop
+80000640: 00000013 nop
+80000644: 00000013 nop
+80000648: 00000013 nop
+8000064c: 00000013 nop
+80000650: 00000013 nop
+80000654: 00000013 nop
+80000658: 00000013 nop
+8000065c: 00000013 nop
+80000660: 00000013 nop
+80000664: 00000013 nop
+80000668: 00000013 nop
+8000066c: 00000013 nop
+80000670: 00000013 nop
+80000674: 00000013 nop
+80000678: 00000013 nop
+8000067c: 00000013 nop
+80000680: 00000013 nop
+80000684: 00000013 nop
+80000688: 00000013 nop
+8000068c: 00000013 nop
+80000690: 00000013 nop
+80000694: 00000013 nop
+80000698: 00000013 nop
+8000069c: 00000013 nop
+800006a0: 00000013 nop
+800006a4: 00000013 nop
+800006a8: 00000013 nop
+800006ac: 00000013 nop
+800006b0: 00000013 nop
+800006b4: 00000013 nop
+800006b8: 00000013 nop
+800006bc: 00000013 nop
+800006c0: 00000013 nop
+800006c4: 00000013 nop
+800006c8: 00000013 nop
+800006cc: 00000013 nop
+800006d0: 00000013 nop
+800006d4: 00000013 nop
+800006d8: 00000013 nop
+800006dc: 00000013 nop
+800006e0: 00000013 nop
+800006e4: 00000013 nop
+800006e8: 00000013 nop
+800006ec: 00000013 nop
+800006f0: 00000013 nop
+800006f4: 00000013 nop
+800006f8: 00000013 nop
+800006fc: 00000013 nop
+80000700: 00000013 nop
+80000704: 00000013 nop
+80000708: 00000013 nop
+8000070c: 00000013 nop
+80000710: 00000013 nop
+80000714: 00000013 nop
+80000718: 00000013 nop
+8000071c: 00000013 nop
+80000720: 00000013 nop
+80000724: 00000013 nop
+80000728: 00000013 nop
+8000072c: 00000013 nop
+80000730: 00000013 nop
+80000734: 00000013 nop
+80000738: 00000013 nop
+8000073c: 00000013 nop
+80000740: 00000013 nop
+80000744: 00000013 nop
+80000748: 00000013 nop
+8000074c: 00000013 nop
+80000750: 00000013 nop
+80000754: 00000013 nop
+80000758: 00000013 nop
+8000075c: 00000013 nop
+80000760: 00000013 nop
+80000764: 00000013 nop
+80000768: 00000013 nop
+8000076c: 00000013 nop
+80000770: 00000013 nop
+80000774: 00000013 nop
+80000778: 00000013 nop
+8000077c: 00000013 nop
+80000780: 00000013 nop
+80000784: 00000013 nop
+80000788: 00000013 nop
+8000078c: 00000013 nop
+80000790: 00000013 nop
+80000794: 00000013 nop
+80000798: 00000013 nop
+8000079c: 00000013 nop
+800007a0: 00000013 nop
+800007a4: 00000013 nop
+800007a8: 00000013 nop
+800007ac: 00000013 nop
+800007b0: 00000013 nop
+800007b4: 00000013 nop
+800007b8: 00000013 nop
+800007bc: 00000013 nop
+800007c0: 00000013 nop
+800007c4: 00000013 nop
+800007c8: 00000013 nop
+800007cc: 00000013 nop
+800007d0: 00000013 nop
+800007d4: 00000013 nop
+800007d8: 00000013 nop
+800007dc: 00000013 nop
+800007e0: 00000013 nop
+800007e4: 00000013 nop
+800007e8: 00000013 nop
+800007ec: 00000013 nop
+800007f0: 00000013 nop
+800007f4: 00000013 nop
+800007f8: 00000013 nop
+800007fc: 00000013 nop
+80000800: 00000013 nop
+80000804: 00000013 nop
+80000808: 00000013 nop
+8000080c: 00000013 nop
+80000810: 00000013 nop
+80000814: 00000013 nop
+80000818: 00000013 nop
+8000081c: 00000013 nop
+80000820: 00000013 nop
+80000824: 00000013 nop
+80000828: 00000013 nop
+8000082c: 00000013 nop
+80000830: 00000013 nop
+80000834: 00000013 nop
+80000838: 00000013 nop
+8000083c: 00000013 nop
+80000840: 00000013 nop
+80000844: 00000013 nop
+80000848: 00000013 nop
+8000084c: 00000013 nop
+80000850: 00000013 nop
+80000854: 00000013 nop
+80000858: 00000013 nop
+8000085c: 00000013 nop
+80000860: 00000013 nop
+80000864: 00000013 nop
+80000868: 00000013 nop
+8000086c: 00000013 nop
+80000870: 00000013 nop
+80000874: 00000013 nop
+80000878: 00000013 nop
+8000087c: 00000013 nop
+80000880: 00000013 nop
+80000884: 00000013 nop
+80000888: 00000013 nop
+8000088c: 00000013 nop
+80000890: 00000013 nop
+80000894: 00000013 nop
+80000898: 00000013 nop
+8000089c: 00000013 nop
+800008a0: 00000013 nop
+800008a4: 00000013 nop
+800008a8: 00000013 nop
+800008ac: 00000013 nop
+800008b0: 00000013 nop
+800008b4: 00000013 nop
+800008b8: 00000013 nop
+800008bc: 00000013 nop
+800008c0: 00000013 nop
+800008c4: 00000013 nop
+800008c8: 00000013 nop
+800008cc: 00000013 nop
+800008d0: 00000013 nop
+800008d4: 00000013 nop
+800008d8: 00000013 nop
+800008dc: 00000013 nop
+800008e0: 00000013 nop
+800008e4: 00000013 nop
+800008e8: 00000013 nop
+800008ec: 00000013 nop
+800008f0: 00000013 nop
+800008f4: 00000013 nop
+800008f8: 00000013 nop
+800008fc: 00000013 nop
+80000900: 00000013 nop
+80000904: 00000013 nop
+80000908: 00000013 nop
+8000090c: 00000013 nop
+80000910: 00000013 nop
+80000914: 00000013 nop
+80000918: 00000013 nop
+8000091c: 00000013 nop
+80000920: 00000013 nop
+80000924: 00000013 nop
+80000928: 00000013 nop
+8000092c: 00000013 nop
+80000930: 00000013 nop
+80000934: 00000013 nop
+80000938: 00000013 nop
+8000093c: 00000013 nop
+80000940: 00000013 nop
+80000944: 00000013 nop
+80000948: 00000013 nop
+8000094c: 00000013 nop
+80000950: 00000013 nop
+80000954: 00000013 nop
+80000958: 00000013 nop
+8000095c: 00000013 nop
+80000960: 00000013 nop
+80000964: 00000013 nop
+80000968: 00000013 nop
+8000096c: 00000013 nop
+80000970: 00000013 nop
+80000974: 00000013 nop
+80000978: 00000013 nop
+8000097c: 00000013 nop
+80000980: 00000013 nop
+80000984: 00000013 nop
+80000988: 00000013 nop
+8000098c: 00000013 nop
+80000990: 00000013 nop
+80000994: 00000013 nop
+80000998: 00000013 nop
+8000099c: 00000013 nop
+800009a0: 00000013 nop
+800009a4: 00000013 nop
+800009a8: 00000013 nop
+800009ac: 00000013 nop
+800009b0: 00000013 nop
+800009b4: 00000013 nop
+800009b8: 00000013 nop
+800009bc: 00000013 nop
+800009c0: 00000013 nop
+800009c4: 00000013 nop
+800009c8: 00000013 nop
+800009cc: 00000013 nop
+800009d0: 00000013 nop
+800009d4: 00000013 nop
+800009d8: 00000013 nop
+800009dc: 00000013 nop
+800009e0: 00000013 nop
+800009e4: 00000013 nop
+800009e8: 00000013 nop
+800009ec: 00000013 nop
+800009f0: 00000013 nop
+800009f4: 00000013 nop
+800009f8: 00000013 nop
+800009fc: 00000013 nop
+80000a00: 00000013 nop
+80000a04: 00000013 nop
+80000a08: 00000013 nop
+80000a0c: 00000013 nop
+80000a10: 00000013 nop
+80000a14: 00000013 nop
+80000a18: 00000013 nop
+80000a1c: 00000013 nop
+80000a20: 00000013 nop
+80000a24: 00000013 nop
+80000a28: 00000013 nop
+80000a2c: 00000013 nop
+80000a30: 00000013 nop
+80000a34: 00000013 nop
+80000a38: 00000013 nop
+80000a3c: 00000013 nop
+80000a40: 00000013 nop
+80000a44: 00000013 nop
+80000a48: 00000013 nop
+80000a4c: 00000013 nop
+80000a50: 00000013 nop
+80000a54: 00000013 nop
+80000a58: 00000013 nop
+80000a5c: 00000013 nop
+80000a60: 00000013 nop
+80000a64: 00000013 nop
+80000a68: 00000013 nop
+80000a6c: 00000013 nop
+80000a70: 00000013 nop
+80000a74: 00000013 nop
+80000a78: 00000013 nop
+80000a7c: 00000013 nop
+80000a80: 00000013 nop
+80000a84: 00000013 nop
+80000a88: 00000013 nop
+80000a8c: 00000013 nop
+80000a90: 00000013 nop
+80000a94: 00000013 nop
+80000a98: 00000013 nop
+80000a9c: 00000013 nop
+80000aa0: 00000013 nop
+80000aa4: 00000013 nop
+80000aa8: 00000013 nop
+80000aac: 00000013 nop
+80000ab0: 00000013 nop
+80000ab4: 00000013 nop
+80000ab8: 00000013 nop
+80000abc: 00000013 nop
+80000ac0: 00000013 nop
+80000ac4: 00000013 nop
+80000ac8: 00000013 nop
+80000acc: 00000013 nop
+80000ad0: 00000013 nop
+80000ad4: 00000013 nop
+80000ad8: 00000013 nop
+80000adc: 00000013 nop
+80000ae0: 00000013 nop
+80000ae4: 00000013 nop
+80000ae8: 00000013 nop
+80000aec: 00000013 nop
+80000af0: 00000013 nop
+80000af4: 00000013 nop
+80000af8: 00000013 nop
+80000afc: 00000013 nop
+80000b00: 00000013 nop
+80000b04: 00000013 nop
+80000b08: 00000013 nop
+80000b0c: 00000013 nop
+80000b10: 00000013 nop
+80000b14: 00000013 nop
+80000b18: 00000013 nop
+80000b1c: 00000013 nop
+80000b20: 00000013 nop
+80000b24: 00000013 nop
+80000b28: 00000013 nop
+80000b2c: 00000013 nop
+80000b30: 00000013 nop
+80000b34: 00000013 nop
+80000b38: 00000013 nop
+80000b3c: 00000013 nop
+80000b40: 00000013 nop
+80000b44: 00000013 nop
+80000b48: 00000013 nop
+80000b4c: 00000013 nop
+80000b50: 00000013 nop
+80000b54: 00000013 nop
+80000b58: 00000013 nop
+80000b5c: 00000013 nop
+80000b60: 00000013 nop
+80000b64: 00000013 nop
+80000b68: 00000013 nop
+80000b6c: 00000013 nop
+80000b70: 00000013 nop
+80000b74: 00000013 nop
+80000b78: 00000013 nop
+80000b7c: 00000013 nop
+80000b80: 00000013 nop
+80000b84: 00000013 nop
+80000b88: 00000013 nop
+80000b8c: 00000013 nop
+80000b90: 00000013 nop
+80000b94: 00000013 nop
+80000b98: 00000013 nop
+80000b9c: 00000013 nop
+80000ba0: 00000013 nop
+80000ba4: 00000013 nop
+80000ba8: 00000013 nop
+80000bac: 00000013 nop
+80000bb0: 00000013 nop
+80000bb4: 00000013 nop
+80000bb8: 00000013 nop
+80000bbc: 00000013 nop
+80000bc0: 00000013 nop
+80000bc4: 00000013 nop
+80000bc8: 00000013 nop
+80000bcc: 00000013 nop
+80000bd0: 00000013 nop
+80000bd4: 00000013 nop
+80000bd8: 00000013 nop
+80000bdc: 00000013 nop
+80000be0: 00000013 nop
+80000be4: 00000013 nop
+80000be8: 00000013 nop
+80000bec: 00000013 nop
+80000bf0: 00000013 nop
+80000bf4: 00000013 nop
+80000bf8: 00000013 nop
+80000bfc: 00000013 nop
+80000c00: 00000013 nop
+80000c04: 00000013 nop
+80000c08: 00000013 nop
+80000c0c: 00000013 nop
+80000c10: 00000013 nop
+80000c14: 00000013 nop
+80000c18: 00000013 nop
+80000c1c: 00000013 nop
+80000c20: 00000013 nop
+80000c24: 00000013 nop
+80000c28: 00000013 nop
+80000c2c: 00000013 nop
+80000c30: 00000013 nop
+80000c34: 00000013 nop
+80000c38: 00000013 nop
+80000c3c: 00000013 nop
+80000c40: 00000013 nop
+80000c44: 00000013 nop
+80000c48: 00000013 nop
+80000c4c: 00000013 nop
+80000c50: 00000013 nop
+80000c54: 00000013 nop
+80000c58: 00000013 nop
+80000c5c: 00000013 nop
+80000c60: 00000013 nop
+80000c64: 00000013 nop
+80000c68: 00000013 nop
+80000c6c: 00000013 nop
+80000c70: 00000013 nop
+80000c74: 00000013 nop
+80000c78: 00000013 nop
+80000c7c: 00000013 nop
+80000c80: 00000013 nop
+80000c84: 00000013 nop
+80000c88: 00000013 nop
+80000c8c: 00000013 nop
+80000c90: 00000013 nop
+80000c94: 00000013 nop
+80000c98: 00000013 nop
+80000c9c: 00000013 nop
+80000ca0: 00000013 nop
+80000ca4: 00000013 nop
+80000ca8: 00000013 nop
+80000cac: 00000013 nop
+80000cb0: 00000013 nop
+80000cb4: 00000013 nop
+80000cb8: 00000013 nop
+80000cbc: 00000013 nop
+80000cc0: 00000013 nop
+80000cc4: 00000013 nop
+80000cc8: 00000013 nop
+80000ccc: 00000013 nop
+80000cd0: 00000013 nop
+80000cd4: 00000013 nop
+80000cd8: 00000013 nop
+80000cdc: 00000013 nop
+80000ce0: 00000013 nop
+80000ce4: 00000013 nop
+80000ce8: 00000013 nop
+80000cec: 00000013 nop
+80000cf0: 00000013 nop
+80000cf4: 00000013 nop
+80000cf8: 00000013 nop
+80000cfc: 00000013 nop
+80000d00: 00000013 nop
+80000d04: 00000013 nop
+80000d08: 00000013 nop
+80000d0c: 00000013 nop
+80000d10: 00000013 nop
+80000d14: 00000013 nop
+80000d18: 00000013 nop
+80000d1c: 00000013 nop
+80000d20: 00000013 nop
+80000d24: 00000013 nop
+80000d28: 00000013 nop
+80000d2c: 00000013 nop
+80000d30: 00000013 nop
+80000d34: 00000013 nop
+80000d38: 00000013 nop
+80000d3c: 00000013 nop
+80000d40: 00000013 nop
+80000d44: 00000013 nop
+80000d48: 00000013 nop
+80000d4c: 00000013 nop
+80000d50: 00000013 nop
+80000d54: 00000013 nop
+80000d58: 00000013 nop
+80000d5c: 00000013 nop
+80000d60: 00000013 nop
+80000d64: 00000013 nop
+80000d68: 00000013 nop
+80000d6c: 00000013 nop
+80000d70: 00000013 nop
+80000d74: 00000013 nop
+80000d78: 00000013 nop
+80000d7c: 00000013 nop
+80000d80: 00000013 nop
+80000d84: 00000013 nop
+80000d88: 00000013 nop
+80000d8c: 00000013 nop
+80000d90: 00000013 nop
+80000d94: 00000013 nop
+80000d98: 00000013 nop
+80000d9c: 00000013 nop
+80000da0: 00000013 nop
+80000da4: 00000013 nop
+80000da8: 00000013 nop
+80000dac: 00000013 nop
+80000db0: 00000013 nop
+80000db4: 00000013 nop
+80000db8: 00000013 nop
+80000dbc: 00000013 nop
+80000dc0: 00000013 nop
+80000dc4: 00000013 nop
+80000dc8: 00000013 nop
+80000dcc: 00000013 nop
+80000dd0: 00000013 nop
+80000dd4: 00000013 nop
+80000dd8: 00000013 nop
+80000ddc: 00000013 nop
+80000de0: 00000013 nop
+80000de4: 00000013 nop
+80000de8: 00000013 nop
+80000dec: 00000013 nop
+80000df0: 00000013 nop
+80000df4: 00000013 nop
+80000df8: 00000013 nop
+80000dfc: 00000013 nop
+80000e00: 00000013 nop
+80000e04: 00000013 nop
+80000e08: 00000013 nop
+80000e0c: 00000013 nop
+80000e10: 00000013 nop
+80000e14: 00000013 nop
+80000e18: 00000013 nop
+80000e1c: 00000013 nop
+80000e20: 00000013 nop
+80000e24: 00000013 nop
+80000e28: 00000013 nop
+80000e2c: 00000013 nop
+80000e30: 00000013 nop
+80000e34: 00000013 nop
+80000e38: 00000013 nop
+80000e3c: 00000013 nop
+80000e40: 00000013 nop
+80000e44: 00000013 nop
+80000e48: 00000013 nop
+80000e4c: 00000013 nop
+80000e50: 00000013 nop
+80000e54: 00000013 nop
+80000e58: 00000013 nop
+80000e5c: 00000013 nop
+80000e60: 00000013 nop
+80000e64: 00000013 nop
+80000e68: 00000013 nop
+80000e6c: 00000013 nop
+80000e70: 00000013 nop
+80000e74: 00000013 nop
+80000e78: 00000013 nop
+80000e7c: 00000013 nop
+80000e80: 00000013 nop
+80000e84: 00000013 nop
+80000e88: 00000013 nop
+80000e8c: 00000013 nop
+80000e90: 00000013 nop
+80000e94: 00000013 nop
+80000e98: 00000013 nop
+80000e9c: 00000013 nop
+80000ea0: 00000013 nop
+80000ea4: 00000013 nop
+80000ea8: 00000013 nop
+80000eac: 00000013 nop
+80000eb0: 00000013 nop
+80000eb4: 00000013 nop
+80000eb8: 00000013 nop
+80000ebc: 00000013 nop
+80000ec0: 00000013 nop
+80000ec4: 00000013 nop
+80000ec8: 00000013 nop
+80000ecc: 00000013 nop
+80000ed0: 00000013 nop
+80000ed4: 00000013 nop
+80000ed8: 00000013 nop
+80000edc: 00000013 nop
+80000ee0: 00000013 nop
+80000ee4: 00000013 nop
+80000ee8: 00000013 nop
+80000eec: 00000013 nop
+80000ef0: 00000013 nop
+80000ef4: 00000013 nop
+80000ef8: 00000013 nop
+80000efc: 00000013 nop
+80000f00: 00000013 nop
+80000f04: 00000013 nop
+80000f08: 00000013 nop
+80000f0c: 00000013 nop
+80000f10: 00000013 nop
+80000f14: 00000013 nop
+80000f18: 00000013 nop
+80000f1c: 00000013 nop
+80000f20: 00000013 nop
+80000f24: 00000013 nop
+80000f28: 00000013 nop
+80000f2c: 00000013 nop
+80000f30: 00000013 nop
+80000f34: 00000013 nop
+80000f38: 00000013 nop
+80000f3c: 00000013 nop
+80000f40: 00000013 nop
+80000f44: 00000013 nop
+80000f48: 00000013 nop
+80000f4c: 00000013 nop
+80000f50: 00000013 nop
+80000f54: 00000013 nop
+80000f58: 00000013 nop
+80000f5c: 00000013 nop
+80000f60: 00000013 nop
+80000f64: 00000013 nop
+80000f68: 00000013 nop
+80000f6c: 00000013 nop
+80000f70: 00000013 nop
+80000f74: 00000013 nop
+80000f78: 00000013 nop
+80000f7c: 00000013 nop
+80000f80: 00000013 nop
+80000f84: 00000013 nop
+80000f88: 00000013 nop
+80000f8c: 00000013 nop
+80000f90: 00000013 nop
+80000f94: 00000013 nop
+80000f98: 00000013 nop
+80000f9c: 00000013 nop
+80000fa0: 00000013 nop
+80000fa4: 00000013 nop
+80000fa8: 00000013 nop
+80000fac: 00000013 nop
+80000fb0: 00000013 nop
+80000fb4: 00000013 nop
+80000fb8: 00000013 nop
+80000fbc: 00000013 nop
+80000fc0: 00000013 nop
+80000fc4: 00000013 nop
+80000fc8: 00000013 nop
+80000fcc: 00000013 nop
+80000fd0: 00000013 nop
+80000fd4: 00000013 nop
+80000fd8: 00000013 nop
+80000fdc: 00000013 nop
+80000fe0: 00000013 nop
+80000fe4: 00000013 nop
+80000fe8: 00000013 nop
+80000fec: 00000013 nop
+80000ff0: 00000013 nop
+80000ff4: 00000013 nop
+80000ff8: 00000013 nop
+80000ffc: 00000013 nop
+
+80001000 <MMU_TABLE_0>:
+80001000: 0000 unimp
+80001002: 0000 unimp
+80001004: 00000013 nop
+80001008: 00000013 nop
+8000100c: 00000013 nop
+80001010: 00000013 nop
+80001014: 00000013 nop
+80001018: 00000013 nop
+8000101c: 00000013 nop
+80001020: 00000013 nop
+80001024: 00000013 nop
+80001028: 00000013 nop
+8000102c: 00000013 nop
+80001030: 00000013 nop
+80001034: 00000013 nop
+80001038: 00000013 nop
+8000103c: 00000013 nop
+80001040: 00000013 nop
+80001044: 00000013 nop
+80001048: 00000013 nop
+8000104c: 00000013 nop
+80001050: 00000013 nop
+80001054: 00000013 nop
+80001058: 00000013 nop
+8000105c: 00000013 nop
+80001060: 00000013 nop
+80001064: 00000013 nop
+80001068: 00000013 nop
+8000106c: 00000013 nop
+80001070: 00000013 nop
+80001074: 00000013 nop
+80001078: 00000013 nop
+8000107c: 00000013 nop
+80001080: 00000013 nop
+80001084: 00000013 nop
+80001088: 00000013 nop
+8000108c: 00000013 nop
+80001090: 00000013 nop
+80001094: 00000013 nop
+80001098: 00000013 nop
+8000109c: 00000013 nop
+800010a0: 00000013 nop
+800010a4: 00000013 nop
+800010a8: 00000013 nop
+800010ac: 00000013 nop
+800010b0: 00000013 nop
+800010b4: 00000013 nop
+800010b8: 00000013 nop
+800010bc: 00000013 nop
+800010c0: 00000013 nop
+800010c4: 00000013 nop
+800010c8: 00000013 nop
+800010cc: 00000013 nop
+800010d0: 00000013 nop
+800010d4: 00000013 nop
+800010d8: 00000013 nop
+800010dc: 00000013 nop
+800010e0: 00000013 nop
+800010e4: 00000013 nop
+800010e8: 00000013 nop
+800010ec: 00000013 nop
+800010f0: 00000013 nop
+800010f4: 00000013 nop
+800010f8: 00000013 nop
+800010fc: 00000013 nop
+80001100: 00000013 nop
+80001104: 00000013 nop
+80001108: 00000013 nop
+8000110c: 00000013 nop
+80001110: 00000013 nop
+80001114: 00000013 nop
+80001118: 00000013 nop
+8000111c: 00000013 nop
+80001120: 00000013 nop
+80001124: 00000013 nop
+80001128: 00000013 nop
+8000112c: 00000013 nop
+80001130: 00000013 nop
+80001134: 00000013 nop
+80001138: 00000013 nop
+8000113c: 00000013 nop
+80001140: 00000013 nop
+80001144: 00000013 nop
+80001148: 00000013 nop
+8000114c: 00000013 nop
+80001150: 00000013 nop
+80001154: 00000013 nop
+80001158: 00000013 nop
+8000115c: 00000013 nop
+80001160: 00000013 nop
+80001164: 00000013 nop
+80001168: 00000013 nop
+8000116c: 00000013 nop
+80001170: 00000013 nop
+80001174: 00000013 nop
+80001178: 00000013 nop
+8000117c: 00000013 nop
+80001180: 00000013 nop
+80001184: 00000013 nop
+80001188: 00000013 nop
+8000118c: 00000013 nop
+80001190: 00000013 nop
+80001194: 00000013 nop
+80001198: 00000013 nop
+8000119c: 00000013 nop
+800011a0: 00000013 nop
+800011a4: 00000013 nop
+800011a8: 00000013 nop
+800011ac: 00000013 nop
+800011b0: 00000013 nop
+800011b4: 00000013 nop
+800011b8: 00000013 nop
+800011bc: 00000013 nop
+800011c0: 00000013 nop
+800011c4: 00000013 nop
+800011c8: 00000013 nop
+800011cc: 00000013 nop
+800011d0: 00000013 nop
+800011d4: 00000013 nop
+800011d8: 00000013 nop
+800011dc: 00000013 nop
+800011e0: 00000013 nop
+800011e4: 00000013 nop
+800011e8: 00000013 nop
+800011ec: 00000013 nop
+800011f0: 00000013 nop
+800011f4: 00000013 nop
+800011f8: 00000013 nop
+800011fc: 00000013 nop
+80001200: 00000013 nop
+80001204: 00000013 nop
+80001208: 00000013 nop
+8000120c: 00000013 nop
+80001210: 00000013 nop
+80001214: 00000013 nop
+80001218: 00000013 nop
+8000121c: 00000013 nop
+80001220: 00000013 nop
+80001224: 00000013 nop
+80001228: 00000013 nop
+8000122c: 00000013 nop
+80001230: 00000013 nop
+80001234: 00000013 nop
+80001238: 00000013 nop
+8000123c: 00000013 nop
+80001240: 00000013 nop
+80001244: 00000013 nop
+80001248: 00000013 nop
+8000124c: 00000013 nop
+80001250: 00000013 nop
+80001254: 00000013 nop
+80001258: 00000013 nop
+8000125c: 00000013 nop
+80001260: 00000013 nop
+80001264: 00000013 nop
+80001268: 00000013 nop
+8000126c: 00000013 nop
+80001270: 00000013 nop
+80001274: 00000013 nop
+80001278: 00000013 nop
+8000127c: 00000013 nop
+80001280: 00000013 nop
+80001284: 00000013 nop
+80001288: 00000013 nop
+8000128c: 00000013 nop
+80001290: 00000013 nop
+80001294: 00000013 nop
+80001298: 00000013 nop
+8000129c: 00000013 nop
+800012a0: 00000013 nop
+800012a4: 00000013 nop
+800012a8: 00000013 nop
+800012ac: 00000013 nop
+800012b0: 00000013 nop
+800012b4: 00000013 nop
+800012b8: 00000013 nop
+800012bc: 00000013 nop
+800012c0: 00000013 nop
+800012c4: 00000013 nop
+800012c8: 00000013 nop
+800012cc: 00000013 nop
+800012d0: 00000013 nop
+800012d4: 00000013 nop
+800012d8: 00000013 nop
+800012dc: 00000013 nop
+800012e0: 00000013 nop
+800012e4: 00000013 nop
+800012e8: 00000013 nop
+800012ec: 00000013 nop
+800012f0: 00000013 nop
+800012f4: 00000013 nop
+800012f8: 00000013 nop
+800012fc: 00000013 nop
+80001300: 00000013 nop
+80001304: 00000013 nop
+80001308: 00000013 nop
+8000130c: 00000013 nop
+80001310: 00000013 nop
+80001314: 00000013 nop
+80001318: 00000013 nop
+8000131c: 00000013 nop
+80001320: 00000013 nop
+80001324: 00000013 nop
+80001328: 00000013 nop
+8000132c: 00000013 nop
+80001330: 00000013 nop
+80001334: 00000013 nop
+80001338: 00000013 nop
+8000133c: 00000013 nop
+80001340: 00000013 nop
+80001344: 00000013 nop
+80001348: 00000013 nop
+8000134c: 00000013 nop
+80001350: 00000013 nop
+80001354: 00000013 nop
+80001358: 00000013 nop
+8000135c: 00000013 nop
+80001360: 00000013 nop
+80001364: 00000013 nop
+80001368: 00000013 nop
+8000136c: 00000013 nop
+80001370: 00000013 nop
+80001374: 00000013 nop
+80001378: 00000013 nop
+8000137c: 00000013 nop
+80001380: 00000013 nop
+80001384: 00000013 nop
+80001388: 00000013 nop
+8000138c: 00000013 nop
+80001390: 00000013 nop
+80001394: 00000013 nop
+80001398: 00000013 nop
+8000139c: 00000013 nop
+800013a0: 00000013 nop
+800013a4: 00000013 nop
+800013a8: 00000013 nop
+800013ac: 00000013 nop
+800013b0: 00000013 nop
+800013b4: 00000013 nop
+800013b8: 00000013 nop
+800013bc: 00000013 nop
+800013c0: 00000013 nop
+800013c4: 00000013 nop
+800013c8: 00000013 nop
+800013cc: 00000013 nop
+800013d0: 00000013 nop
+800013d4: 00000013 nop
+800013d8: 00000013 nop
+800013dc: 00000013 nop
+800013e0: 00000013 nop
+800013e4: 00000013 nop
+800013e8: 00000013 nop
+800013ec: 00000013 nop
+800013f0: 00000013 nop
+800013f4: 00000013 nop
+800013f8: 00000013 nop
+800013fc: 00000013 nop
+80001400: 00000013 nop
+80001404: 00000013 nop
+80001408: 00000013 nop
+8000140c: 00000013 nop
+80001410: 00000013 nop
+80001414: 00000013 nop
+80001418: 00000013 nop
+8000141c: 00000013 nop
+80001420: 00000013 nop
+80001424: 00000013 nop
+80001428: 00000013 nop
+8000142c: 00000013 nop
+80001430: 00000013 nop
+80001434: 00000013 nop
+80001438: 00000013 nop
+8000143c: 00000013 nop
+80001440: 00000013 nop
+80001444: 00000013 nop
+80001448: 00000013 nop
+8000144c: 00000013 nop
+80001450: 00000013 nop
+80001454: 00000013 nop
+80001458: 00000013 nop
+8000145c: 00000013 nop
+80001460: 00000013 nop
+80001464: 00000013 nop
+80001468: 00000013 nop
+8000146c: 00000013 nop
+80001470: 00000013 nop
+80001474: 00000013 nop
+80001478: 00000013 nop
+8000147c: 00000013 nop
+80001480: 00000013 nop
+80001484: 00000013 nop
+80001488: 00000013 nop
+8000148c: 00000013 nop
+80001490: 00000013 nop
+80001494: 00000013 nop
+80001498: 00000013 nop
+8000149c: 00000013 nop
+800014a0: 00000013 nop
+800014a4: 00000013 nop
+800014a8: 00000013 nop
+800014ac: 00000013 nop
+800014b0: 00000013 nop
+800014b4: 00000013 nop
+800014b8: 00000013 nop
+800014bc: 00000013 nop
+800014c0: 00000013 nop
+800014c4: 00000013 nop
+800014c8: 00000013 nop
+800014cc: 00000013 nop
+800014d0: 00000013 nop
+800014d4: 00000013 nop
+800014d8: 00000013 nop
+800014dc: 00000013 nop
+800014e0: 00000013 nop
+800014e4: 00000013 nop
+800014e8: 00000013 nop
+800014ec: 00000013 nop
+800014f0: 00000013 nop
+800014f4: 00000013 nop
+800014f8: 00000013 nop
+800014fc: 00000013 nop
+80001500: 00000013 nop
+80001504: 00000013 nop
+80001508: 00000013 nop
+8000150c: 00000013 nop
+80001510: 00000013 nop
+80001514: 00000013 nop
+80001518: 00000013 nop
+8000151c: 00000013 nop
+80001520: 00000013 nop
+80001524: 00000013 nop
+80001528: 00000013 nop
+8000152c: 00000013 nop
+80001530: 00000013 nop
+80001534: 00000013 nop
+80001538: 00000013 nop
+8000153c: 00000013 nop
+80001540: 00000013 nop
+80001544: 00000013 nop
+80001548: 00000013 nop
+8000154c: 00000013 nop
+80001550: 00000013 nop
+80001554: 00000013 nop
+80001558: 00000013 nop
+8000155c: 00000013 nop
+80001560: 00000013 nop
+80001564: 00000013 nop
+80001568: 00000013 nop
+8000156c: 00000013 nop
+80001570: 00000013 nop
+80001574: 00000013 nop
+80001578: 00000013 nop
+8000157c: 00000013 nop
+80001580: 00000013 nop
+80001584: 00000013 nop
+80001588: 00000013 nop
+8000158c: 00000013 nop
+80001590: 00000013 nop
+80001594: 00000013 nop
+80001598: 00000013 nop
+8000159c: 00000013 nop
+800015a0: 00000013 nop
+800015a4: 00000013 nop
+800015a8: 00000013 nop
+800015ac: 00000013 nop
+800015b0: 00000013 nop
+800015b4: 00000013 nop
+800015b8: 00000013 nop
+800015bc: 00000013 nop
+800015c0: 00000013 nop
+800015c4: 00000013 nop
+800015c8: 00000013 nop
+800015cc: 00000013 nop
+800015d0: 00000013 nop
+800015d4: 00000013 nop
+800015d8: 00000013 nop
+800015dc: 00000013 nop
+800015e0: 00000013 nop
+800015e4: 00000013 nop
+800015e8: 00000013 nop
+800015ec: 00000013 nop
+800015f0: 00000013 nop
+800015f4: 00000013 nop
+800015f8: 00000013 nop
+800015fc: 00000013 nop
+80001600: 00000013 nop
+80001604: 00000013 nop
+80001608: 00000013 nop
+8000160c: 00000013 nop
+80001610: 00000013 nop
+80001614: 00000013 nop
+80001618: 00000013 nop
+8000161c: 00000013 nop
+80001620: 00000013 nop
+80001624: 00000013 nop
+80001628: 00000013 nop
+8000162c: 00000013 nop
+80001630: 00000013 nop
+80001634: 00000013 nop
+80001638: 00000013 nop
+8000163c: 00000013 nop
+80001640: 00000013 nop
+80001644: 00000013 nop
+80001648: 00000013 nop
+8000164c: 00000013 nop
+80001650: 00000013 nop
+80001654: 00000013 nop
+80001658: 00000013 nop
+8000165c: 00000013 nop
+80001660: 00000013 nop
+80001664: 00000013 nop
+80001668: 00000013 nop
+8000166c: 00000013 nop
+80001670: 00000013 nop
+80001674: 00000013 nop
+80001678: 00000013 nop
+8000167c: 00000013 nop
+80001680: 00000013 nop
+80001684: 00000013 nop
+80001688: 00000013 nop
+8000168c: 00000013 nop
+80001690: 00000013 nop
+80001694: 00000013 nop
+80001698: 00000013 nop
+8000169c: 00000013 nop
+800016a0: 00000013 nop
+800016a4: 00000013 nop
+800016a8: 00000013 nop
+800016ac: 00000013 nop
+800016b0: 00000013 nop
+800016b4: 00000013 nop
+800016b8: 00000013 nop
+800016bc: 00000013 nop
+800016c0: 00000013 nop
+800016c4: 00000013 nop
+800016c8: 00000013 nop
+800016cc: 00000013 nop
+800016d0: 00000013 nop
+800016d4: 00000013 nop
+800016d8: 00000013 nop
+800016dc: 00000013 nop
+800016e0: 00000013 nop
+800016e4: 00000013 nop
+800016e8: 00000013 nop
+800016ec: 00000013 nop
+800016f0: 00000013 nop
+800016f4: 00000013 nop
+800016f8: 00000013 nop
+800016fc: 00000013 nop
+80001700: 00000013 nop
+80001704: 00000013 nop
+80001708: 00000013 nop
+8000170c: 00000013 nop
+80001710: 00000013 nop
+80001714: 00000013 nop
+80001718: 00000013 nop
+8000171c: 00000013 nop
+80001720: 00000013 nop
+80001724: 00000013 nop
+80001728: 00000013 nop
+8000172c: 00000013 nop
+80001730: 00000013 nop
+80001734: 00000013 nop
+80001738: 00000013 nop
+8000173c: 00000013 nop
+80001740: 00000013 nop
+80001744: 00000013 nop
+80001748: 00000013 nop
+8000174c: 00000013 nop
+80001750: 00000013 nop
+80001754: 00000013 nop
+80001758: 00000013 nop
+8000175c: 00000013 nop
+80001760: 00000013 nop
+80001764: 00000013 nop
+80001768: 00000013 nop
+8000176c: 00000013 nop
+80001770: 00000013 nop
+80001774: 00000013 nop
+80001778: 00000013 nop
+8000177c: 00000013 nop
+80001780: 00000013 nop
+80001784: 00000013 nop
+80001788: 00000013 nop
+8000178c: 00000013 nop
+80001790: 00000013 nop
+80001794: 00000013 nop
+80001798: 00000013 nop
+8000179c: 00000013 nop
+800017a0: 00000013 nop
+800017a4: 00000013 nop
+800017a8: 00000013 nop
+800017ac: 00000013 nop
+800017b0: 00000013 nop
+800017b4: 00000013 nop
+800017b8: 00000013 nop
+800017bc: 00000013 nop
+800017c0: 00000013 nop
+800017c4: 00000013 nop
+800017c8: 00000013 nop
+800017cc: 00000013 nop
+800017d0: 00000013 nop
+800017d4: 00000013 nop
+800017d8: 00000013 nop
+800017dc: 00000013 nop
+800017e0: 00000013 nop
+800017e4: 00000013 nop
+800017e8: 00000013 nop
+800017ec: 00000013 nop
+800017f0: 00000013 nop
+800017f4: 00000013 nop
+800017f8: 00000013 nop
+800017fc: 00000013 nop
+80001800: 00000013 nop
+80001804: 00000013 nop
+80001808: 00000013 nop
+8000180c: 00000013 nop
+80001810: 00000013 nop
+80001814: 00000013 nop
+80001818: 00000013 nop
+8000181c: 00000013 nop
+80001820: 00000013 nop
+80001824: 00000013 nop
+80001828: 00000013 nop
+8000182c: 00000013 nop
+80001830: 00000013 nop
+80001834: 00000013 nop
+80001838: 00000013 nop
+8000183c: 00000013 nop
+80001840: 00000013 nop
+80001844: 00000013 nop
+80001848: 00000013 nop
+8000184c: 00000013 nop
+80001850: 00000013 nop
+80001854: 00000013 nop
+80001858: 00000013 nop
+8000185c: 00000013 nop
+80001860: 00000013 nop
+80001864: 00000013 nop
+80001868: 00000013 nop
+8000186c: 00000013 nop
+80001870: 00000013 nop
+80001874: 00000013 nop
+80001878: 00000013 nop
+8000187c: 00000013 nop
+80001880: 00000013 nop
+80001884: 00000013 nop
+80001888: 00000013 nop
+8000188c: 00000013 nop
+80001890: 00000013 nop
+80001894: 00000013 nop
+80001898: 00000013 nop
+8000189c: 00000013 nop
+800018a0: 00000013 nop
+800018a4: 00000013 nop
+800018a8: 00000013 nop
+800018ac: 00000013 nop
+800018b0: 00000013 nop
+800018b4: 00000013 nop
+800018b8: 00000013 nop
+800018bc: 00000013 nop
+800018c0: 00000013 nop
+800018c4: 00000013 nop
+800018c8: 00000013 nop
+800018cc: 00000013 nop
+800018d0: 00000013 nop
+800018d4: 00000013 nop
+800018d8: 00000013 nop
+800018dc: 00000013 nop
+800018e0: 00000013 nop
+800018e4: 00000013 nop
+800018e8: 00000013 nop
+800018ec: 00000013 nop
+800018f0: 00000013 nop
+800018f4: 00000013 nop
+800018f8: 00000013 nop
+800018fc: 00000013 nop
+80001900: 00000013 nop
+80001904: 00000013 nop
+80001908: 00000013 nop
+8000190c: 00000013 nop
+80001910: 00000013 nop
+80001914: 00000013 nop
+80001918: 00000013 nop
+8000191c: 00000013 nop
+80001920: 00000013 nop
+80001924: 00000013 nop
+80001928: 00000013 nop
+8000192c: 00000013 nop
+80001930: 00000013 nop
+80001934: 00000013 nop
+80001938: 00000013 nop
+8000193c: 00000013 nop
+80001940: 00000013 nop
+80001944: 00000013 nop
+80001948: 00000013 nop
+8000194c: 00000013 nop
+80001950: 00000013 nop
+80001954: 00000013 nop
+80001958: 00000013 nop
+8000195c: 00000013 nop
+80001960: 00000013 nop
+80001964: 00000013 nop
+80001968: 00000013 nop
+8000196c: 00000013 nop
+80001970: 00000013 nop
+80001974: 00000013 nop
+80001978: 00000013 nop
+8000197c: 00000013 nop
+80001980: 00000013 nop
+80001984: 00000013 nop
+80001988: 00000013 nop
+8000198c: 00000013 nop
+80001990: 00000013 nop
+80001994: 00000013 nop
+80001998: 00000013 nop
+8000199c: 00000013 nop
+800019a0: 00000013 nop
+800019a4: 00000013 nop
+800019a8: 00000013 nop
+800019ac: 00000013 nop
+800019b0: 00000013 nop
+800019b4: 00000013 nop
+800019b8: 00000013 nop
+800019bc: 00000013 nop
+800019c0: 00000013 nop
+800019c4: 00000013 nop
+800019c8: 00000013 nop
+800019cc: 00000013 nop
+800019d0: 00000013 nop
+800019d4: 00000013 nop
+800019d8: 00000013 nop
+800019dc: 00000013 nop
+800019e0: 00000013 nop
+800019e4: 00000013 nop
+800019e8: 00000013 nop
+800019ec: 00000013 nop
+800019f0: 00000013 nop
+800019f4: 00000013 nop
+800019f8: 00000013 nop
+800019fc: 00000013 nop
+80001a00: 00000013 nop
+80001a04: 00000013 nop
+80001a08: 00000013 nop
+80001a0c: 00000013 nop
+80001a10: 00000013 nop
+80001a14: 00000013 nop
+80001a18: 00000013 nop
+80001a1c: 00000013 nop
+80001a20: 00000013 nop
+80001a24: 00000013 nop
+80001a28: 00000013 nop
+80001a2c: 00000013 nop
+80001a30: 00000013 nop
+80001a34: 00000013 nop
+80001a38: 00000013 nop
+80001a3c: 00000013 nop
+80001a40: 00000013 nop
+80001a44: 00000013 nop
+80001a48: 00000013 nop
+80001a4c: 00000013 nop
+80001a50: 00000013 nop
+80001a54: 00000013 nop
+80001a58: 00000013 nop
+80001a5c: 00000013 nop
+80001a60: 00000013 nop
+80001a64: 00000013 nop
+80001a68: 00000013 nop
+80001a6c: 00000013 nop
+80001a70: 00000013 nop
+80001a74: 00000013 nop
+80001a78: 00000013 nop
+80001a7c: 00000013 nop
+80001a80: 00000013 nop
+80001a84: 00000013 nop
+80001a88: 00000013 nop
+80001a8c: 00000013 nop
+80001a90: 00000013 nop
+80001a94: 00000013 nop
+80001a98: 00000013 nop
+80001a9c: 00000013 nop
+80001aa0: 00000013 nop
+80001aa4: 00000013 nop
+80001aa8: 00000013 nop
+80001aac: 00000013 nop
+80001ab0: 00000013 nop
+80001ab4: 00000013 nop
+80001ab8: 00000013 nop
+80001abc: 00000013 nop
+80001ac0: 00000013 nop
+80001ac4: 00000013 nop
+80001ac8: 00000013 nop
+80001acc: 00000013 nop
+80001ad0: 00000013 nop
+80001ad4: 00000013 nop
+80001ad8: 00000013 nop
+80001adc: 00000013 nop
+80001ae0: 00000013 nop
+80001ae4: 00000013 nop
+80001ae8: 00000013 nop
+80001aec: 00000013 nop
+80001af0: 00000013 nop
+80001af4: 00000013 nop
+80001af8: 00000013 nop
+80001afc: 00000013 nop
+80001b00: 00000013 nop
+80001b04: 00000013 nop
+80001b08: 00000013 nop
+80001b0c: 00000013 nop
+80001b10: 00000013 nop
+80001b14: 00000013 nop
+80001b18: 00000013 nop
+80001b1c: 00000013 nop
+80001b20: 00000013 nop
+80001b24: 00000013 nop
+80001b28: 00000013 nop
+80001b2c: 00000013 nop
+80001b30: 00000013 nop
+80001b34: 00000013 nop
+80001b38: 00000013 nop
+80001b3c: 00000013 nop
+80001b40: 00000013 nop
+80001b44: 00000013 nop
+80001b48: 00000013 nop
+80001b4c: 00000013 nop
+80001b50: 00000013 nop
+80001b54: 00000013 nop
+80001b58: 00000013 nop
+80001b5c: 00000013 nop
+80001b60: 00000013 nop
+80001b64: 00000013 nop
+80001b68: 00000013 nop
+80001b6c: 00000013 nop
+80001b70: 00000013 nop
+80001b74: 00000013 nop
+80001b78: 00000013 nop
+80001b7c: 00000013 nop
+80001b80: 00000013 nop
+80001b84: 00000013 nop
+80001b88: 00000013 nop
+80001b8c: 00000013 nop
+80001b90: 00000013 nop
+80001b94: 00000013 nop
+80001b98: 00000013 nop
+80001b9c: 00000013 nop
+80001ba0: 00000013 nop
+80001ba4: 00000013 nop
+80001ba8: 00000013 nop
+80001bac: 00000013 nop
+80001bb0: 00000013 nop
+80001bb4: 00000013 nop
+80001bb8: 00000013 nop
+80001bbc: 00000013 nop
+80001bc0: 00000013 nop
+80001bc4: 00000013 nop
+80001bc8: 00000013 nop
+80001bcc: 00000013 nop
+80001bd0: 00000013 nop
+80001bd4: 00000013 nop
+80001bd8: 00000013 nop
+80001bdc: 00000013 nop
+80001be0: 00000013 nop
+80001be4: 00000013 nop
+80001be8: 00000013 nop
+80001bec: 00000013 nop
+80001bf0: 00000013 nop
+80001bf4: 00000013 nop
+80001bf8: 00000013 nop
+80001bfc: 00000013 nop
+80001c00: 00000013 nop
+80001c04: 00000013 nop
+80001c08: 00000013 nop
+80001c0c: 00000013 nop
+80001c10: 00000013 nop
+80001c14: 00000013 nop
+80001c18: 00000013 nop
+80001c1c: 00000013 nop
+80001c20: 00000013 nop
+80001c24: 00000013 nop
+80001c28: 00000013 nop
+80001c2c: 00000013 nop
+80001c30: 00000013 nop
+80001c34: 00000013 nop
+80001c38: 00000013 nop
+80001c3c: 00000013 nop
+80001c40: 00000013 nop
+80001c44: 00000013 nop
+80001c48: 00000013 nop
+80001c4c: 00000013 nop
+80001c50: 00000013 nop
+80001c54: 00000013 nop
+80001c58: 00000013 nop
+80001c5c: 00000013 nop
+80001c60: 00000013 nop
+80001c64: 00000013 nop
+80001c68: 00000013 nop
+80001c6c: 00000013 nop
+80001c70: 00000013 nop
+80001c74: 00000013 nop
+80001c78: 00000013 nop
+80001c7c: 00000013 nop
+80001c80: 00000013 nop
+80001c84: 00000013 nop
+80001c88: 00000013 nop
+80001c8c: 00000013 nop
+80001c90: 00000013 nop
+80001c94: 00000013 nop
+80001c98: 00000013 nop
+80001c9c: 00000013 nop
+80001ca0: 00000013 nop
+80001ca4: 00000013 nop
+80001ca8: 00000013 nop
+80001cac: 00000013 nop
+80001cb0: 00000013 nop
+80001cb4: 00000013 nop
+80001cb8: 00000013 nop
+80001cbc: 00000013 nop
+80001cc0: 00000013 nop
+80001cc4: 00000013 nop
+80001cc8: 00000013 nop
+80001ccc: 00000013 nop
+80001cd0: 00000013 nop
+80001cd4: 00000013 nop
+80001cd8: 00000013 nop
+80001cdc: 00000013 nop
+80001ce0: 00000013 nop
+80001ce4: 00000013 nop
+80001ce8: 00000013 nop
+80001cec: 00000013 nop
+80001cf0: 00000013 nop
+80001cf4: 00000013 nop
+80001cf8: 00000013 nop
+80001cfc: 00000013 nop
+80001d00: 00000013 nop
+80001d04: 00000013 nop
+80001d08: 00000013 nop
+80001d0c: 00000013 nop
+80001d10: 00000013 nop
+80001d14: 00000013 nop
+80001d18: 00000013 nop
+80001d1c: 00000013 nop
+80001d20: 00000013 nop
+80001d24: 00000013 nop
+80001d28: 00000013 nop
+80001d2c: 00000013 nop
+80001d30: 00000013 nop
+80001d34: 00000013 nop
+80001d38: 00000013 nop
+80001d3c: 00000013 nop
+80001d40: 00000013 nop
+80001d44: 00000013 nop
+80001d48: 00000013 nop
+80001d4c: 00000013 nop
+80001d50: 00000013 nop
+80001d54: 00000013 nop
+80001d58: 00000013 nop
+80001d5c: 00000013 nop
+80001d60: 00000013 nop
+80001d64: 00000013 nop
+80001d68: 00000013 nop
+80001d6c: 00000013 nop
+80001d70: 00000013 nop
+80001d74: 00000013 nop
+80001d78: 00000013 nop
+80001d7c: 00000013 nop
+80001d80: 00000013 nop
+80001d84: 00000013 nop
+80001d88: 00000013 nop
+80001d8c: 00000013 nop
+80001d90: 00000013 nop
+80001d94: 00000013 nop
+80001d98: 00000013 nop
+80001d9c: 00000013 nop
+80001da0: 00000013 nop
+80001da4: 00000013 nop
+80001da8: 00000013 nop
+80001dac: 00000013 nop
+80001db0: 00000013 nop
+80001db4: 00000013 nop
+80001db8: 00000013 nop
+80001dbc: 00000013 nop
+80001dc0: 00000013 nop
+80001dc4: 00000013 nop
+80001dc8: 00000013 nop
+80001dcc: 00000013 nop
+80001dd0: 00000013 nop
+80001dd4: 00000013 nop
+80001dd8: 00000013 nop
+80001ddc: 00000013 nop
+80001de0: 00000013 nop
+80001de4: 00000013 nop
+80001de8: 00000013 nop
+80001dec: 00000013 nop
+80001df0: 00000013 nop
+80001df4: 00000013 nop
+80001df8: 00000013 nop
+80001dfc: 00000013 nop
+80001e00: 00000013 nop
+80001e04: 00000013 nop
+80001e08: 00000013 nop
+80001e0c: 00000013 nop
+80001e10: 00000013 nop
+80001e14: 00000013 nop
+80001e18: 00000013 nop
+80001e1c: 00000013 nop
+80001e20: 00000013 nop
+80001e24: 00000013 nop
+80001e28: 00000013 nop
+80001e2c: 00000013 nop
+80001e30: 00000013 nop
+80001e34: 00000013 nop
+80001e38: 00000013 nop
+80001e3c: 00000013 nop
+80001e40: 00000013 nop
+80001e44: 00000013 nop
+80001e48: 00000013 nop
+80001e4c: 00000013 nop
+80001e50: 00000013 nop
+80001e54: 00000013 nop
+80001e58: 00000013 nop
+80001e5c: 00000013 nop
+80001e60: 00000013 nop
+80001e64: 00000013 nop
+80001e68: 00000013 nop
+80001e6c: 00000013 nop
+80001e70: 00000013 nop
+80001e74: 00000013 nop
+80001e78: 00000013 nop
+80001e7c: 00000013 nop
+80001e80: 00000013 nop
+80001e84: 00000013 nop
+80001e88: 00000013 nop
+80001e8c: 00000013 nop
+80001e90: 00000013 nop
+80001e94: 00000013 nop
+80001e98: 00000013 nop
+80001e9c: 00000013 nop
+80001ea0: 00000013 nop
+80001ea4: 00000013 nop
+80001ea8: 00000013 nop
+80001eac: 00000013 nop
+80001eb0: 00000013 nop
+80001eb4: 00000013 nop
+80001eb8: 00000013 nop
+80001ebc: 00000013 nop
+80001ec0: 00000013 nop
+80001ec4: 00000013 nop
+80001ec8: 00000013 nop
+80001ecc: 00000013 nop
+80001ed0: 00000013 nop
+80001ed4: 00000013 nop
+80001ed8: 00000013 nop
+80001edc: 00000013 nop
+80001ee0: 00000013 nop
+80001ee4: 00000013 nop
+80001ee8: 00000013 nop
+80001eec: 00000013 nop
+80001ef0: 00000013 nop
+80001ef4: 00000013 nop
+80001ef8: 00000013 nop
+80001efc: 00000013 nop
+80001f00: 00000013 nop
+80001f04: 00000013 nop
+80001f08: 00000013 nop
+80001f0c: 00000013 nop
+80001f10: 00000013 nop
+80001f14: 00000013 nop
+80001f18: 00000013 nop
+80001f1c: 00000013 nop
+80001f20: 00000013 nop
+80001f24: 00000013 nop
+80001f28: 00000013 nop
+80001f2c: 00000013 nop
+80001f30: 00000013 nop
+80001f34: 00000013 nop
+80001f38: 00000013 nop
+80001f3c: 00000013 nop
+80001f40: 00000013 nop
+80001f44: 00000013 nop
+80001f48: 00000013 nop
+80001f4c: 00000013 nop
+80001f50: 00000013 nop
+80001f54: 00000013 nop
+80001f58: 00000013 nop
+80001f5c: 00000013 nop
+80001f60: 00000013 nop
+80001f64: 00000013 nop
+80001f68: 00000013 nop
+80001f6c: 00000013 nop
+80001f70: 00000013 nop
+80001f74: 00000013 nop
+80001f78: 00000013 nop
+80001f7c: 00000013 nop
+80001f80: 00000013 nop
+80001f84: 00000013 nop
+80001f88: 00000013 nop
+80001f8c: 00000013 nop
+80001f90: 00000013 nop
+80001f94: 00000013 nop
+80001f98: 00000013 nop
+80001f9c: 00000013 nop
+80001fa0: 00000013 nop
+80001fa4: 00000013 nop
+80001fa8: 00000013 nop
+80001fac: 00000013 nop
+80001fb0: 00000013 nop
+80001fb4: 00000013 nop
+80001fb8: 00000013 nop
+80001fbc: 00000013 nop
+80001fc0: 00000013 nop
+80001fc4: 00000013 nop
+80001fc8: 00000013 nop
+80001fcc: 00000013 nop
+80001fd0: 00000013 nop
+80001fd4: 00000013 nop
+80001fd8: 00000013 nop
+80001fdc: 00000013 nop
+80001fe0: 00000013 nop
+80001fe4: 00000013 nop
+80001fe8: 00000013 nop
+80001fec: 00000013 nop
+80001ff0: 00000013 nop
+80001ff4: 00000013 nop
+80001ff8: 00000013 nop
+80001ffc: 00000013 nop
+
+80002000 <MMU_TABLE_1>:
+80002000: 0000 unimp
+80002002: 0000 unimp
+80002004: 00000013 nop
+80002008: 00000013 nop
+8000200c: 00000013 nop
+80002010: 00000013 nop
+80002014: 00000013 nop
+80002018: 00000013 nop
+8000201c: 00000013 nop
+80002020: 00000013 nop
+80002024: 00000013 nop
+80002028: 00000013 nop
+8000202c: 00000013 nop
+80002030: 00000013 nop
+80002034: 00000013 nop
+80002038: 00000013 nop
+8000203c: 00000013 nop
+80002040: 00000013 nop
+80002044: 00000013 nop
+80002048: 00000013 nop
+8000204c: 00000013 nop
+80002050: 00000013 nop
+80002054: 00000013 nop
+80002058: 00000013 nop
+8000205c: 00000013 nop
+80002060: 00000013 nop
+80002064: 00000013 nop
+80002068: 00000013 nop
+8000206c: 00000013 nop
+80002070: 00000013 nop
+80002074: 00000013 nop
+80002078: 00000013 nop
+8000207c: 00000013 nop
+80002080: 00000013 nop
+80002084: 00000013 nop
+80002088: 00000013 nop
+8000208c: 00000013 nop
+80002090: 00000013 nop
+80002094: 00000013 nop
+80002098: 00000013 nop
+8000209c: 00000013 nop
+800020a0: 00000013 nop
+800020a4: 00000013 nop
+800020a8: 00000013 nop
+800020ac: 00000013 nop
+800020b0: 00000013 nop
+800020b4: 00000013 nop
+800020b8: 00000013 nop
+800020bc: 00000013 nop
+800020c0: 00000013 nop
+800020c4: 00000013 nop
+800020c8: 00000013 nop
+800020cc: 00000013 nop
+800020d0: 00000013 nop
+800020d4: 00000013 nop
+800020d8: 00000013 nop
+800020dc: 00000013 nop
+800020e0: 00000013 nop
+800020e4: 00000013 nop
+800020e8: 00000013 nop
+800020ec: 00000013 nop
+800020f0: 00000013 nop
+800020f4: 00000013 nop
+800020f8: 00000013 nop
+800020fc: 00000013 nop
+80002100: 00000013 nop
+80002104: 00000013 nop
+80002108: 00000013 nop
+8000210c: 00000013 nop
+80002110: 00000013 nop
+80002114: 00000013 nop
+80002118: 00000013 nop
+8000211c: 00000013 nop
+80002120: 00000013 nop
+80002124: 00000013 nop
+80002128: 00000013 nop
+8000212c: 00000013 nop
+80002130: 00000013 nop
+80002134: 00000013 nop
+80002138: 00000013 nop
+8000213c: 00000013 nop
+80002140: 00000013 nop
+80002144: 00000013 nop
+80002148: 00000013 nop
+8000214c: 00000013 nop
+80002150: 00000013 nop
+80002154: 00000013 nop
+80002158: 00000013 nop
+8000215c: 00000013 nop
+80002160: 00000013 nop
+80002164: 00000013 nop
+80002168: 00000013 nop
+8000216c: 00000013 nop
+80002170: 00000013 nop
+80002174: 00000013 nop
+80002178: 00000013 nop
+8000217c: 00000013 nop
+80002180: 00000013 nop
+80002184: 00000013 nop
+80002188: 00000013 nop
+8000218c: 00000013 nop
+80002190: 00000013 nop
+80002194: 00000013 nop
+80002198: 00000013 nop
+8000219c: 00000013 nop
+800021a0: 00000013 nop
+800021a4: 00000013 nop
+800021a8: 00000013 nop
+800021ac: 00000013 nop
+800021b0: 00000013 nop
+800021b4: 00000013 nop
+800021b8: 00000013 nop
+800021bc: 00000013 nop
+800021c0: 00000013 nop
+800021c4: 00000013 nop
+800021c8: 00000013 nop
+800021cc: 00000013 nop
+800021d0: 00000013 nop
+800021d4: 00000013 nop
+800021d8: 00000013 nop
+800021dc: 00000013 nop
+800021e0: 00000013 nop
+800021e4: 00000013 nop
+800021e8: 00000013 nop
+800021ec: 00000013 nop
+800021f0: 00000013 nop
+800021f4: 00000013 nop
+800021f8: 00000013 nop
+800021fc: 00000013 nop
+80002200: 00000013 nop
+80002204: 00000013 nop
+80002208: 00000013 nop
+8000220c: 00000013 nop
+80002210: 00000013 nop
+80002214: 00000013 nop
+80002218: 00000013 nop
+8000221c: 00000013 nop
+80002220: 00000013 nop
+80002224: 00000013 nop
+80002228: 00000013 nop
+8000222c: 00000013 nop
+80002230: 00000013 nop
+80002234: 00000013 nop
+80002238: 00000013 nop
+8000223c: 00000013 nop
+80002240: 00000013 nop
+80002244: 00000013 nop
+80002248: 00000013 nop
+8000224c: 00000013 nop
+80002250: 00000013 nop
+80002254: 00000013 nop
+80002258: 00000013 nop
+8000225c: 00000013 nop
+80002260: 00000013 nop
+80002264: 00000013 nop
+80002268: 00000013 nop
+8000226c: 00000013 nop
+80002270: 00000013 nop
+80002274: 00000013 nop
+80002278: 00000013 nop
+8000227c: 00000013 nop
+80002280: 00000013 nop
+80002284: 00000013 nop
+80002288: 00000013 nop
+8000228c: 00000013 nop
+80002290: 00000013 nop
+80002294: 00000013 nop
+80002298: 00000013 nop
+8000229c: 00000013 nop
+800022a0: 00000013 nop
+800022a4: 00000013 nop
+800022a8: 00000013 nop
+800022ac: 00000013 nop
+800022b0: 00000013 nop
+800022b4: 00000013 nop
+800022b8: 00000013 nop
+800022bc: 00000013 nop
+800022c0: 00000013 nop
+800022c4: 00000013 nop
+800022c8: 00000013 nop
+800022cc: 00000013 nop
+800022d0: 00000013 nop
+800022d4: 00000013 nop
+800022d8: 00000013 nop
+800022dc: 00000013 nop
+800022e0: 00000013 nop
+800022e4: 00000013 nop
+800022e8: 00000013 nop
+800022ec: 00000013 nop
+800022f0: 00000013 nop
+800022f4: 00000013 nop
+800022f8: 00000013 nop
+800022fc: 00000013 nop
+80002300: 00000013 nop
+80002304: 00000013 nop
+80002308: 00000013 nop
+8000230c: 00000013 nop
+80002310: 00000013 nop
+80002314: 00000013 nop
+80002318: 00000013 nop
+8000231c: 00000013 nop
+80002320: 00000013 nop
+80002324: 00000013 nop
+80002328: 00000013 nop
+8000232c: 00000013 nop
+80002330: 00000013 nop
+80002334: 00000013 nop
+80002338: 00000013 nop
+8000233c: 00000013 nop
+80002340: 00000013 nop
+80002344: 00000013 nop
+80002348: 00000013 nop
+8000234c: 00000013 nop
+80002350: 00000013 nop
+80002354: 00000013 nop
+80002358: 00000013 nop
+8000235c: 00000013 nop
+80002360: 00000013 nop
+80002364: 00000013 nop
+80002368: 00000013 nop
+8000236c: 00000013 nop
+80002370: 00000013 nop
+80002374: 00000013 nop
+80002378: 00000013 nop
+8000237c: 00000013 nop
+80002380: 00000013 nop
+80002384: 00000013 nop
+80002388: 00000013 nop
+8000238c: 00000013 nop
+80002390: 00000013 nop
+80002394: 00000013 nop
+80002398: 00000013 nop
+8000239c: 00000013 nop
+800023a0: 00000013 nop
+800023a4: 00000013 nop
+800023a8: 00000013 nop
+800023ac: 00000013 nop
+800023b0: 00000013 nop
+800023b4: 00000013 nop
+800023b8: 00000013 nop
+800023bc: 00000013 nop
+800023c0: 00000013 nop
+800023c4: 00000013 nop
+800023c8: 00000013 nop
+800023cc: 00000013 nop
+800023d0: 00000013 nop
+800023d4: 00000013 nop
+800023d8: 00000013 nop
+800023dc: 00000013 nop
+800023e0: 00000013 nop
+800023e4: 00000013 nop
+800023e8: 00000013 nop
+800023ec: 00000013 nop
+800023f0: 00000013 nop
+800023f4: 00000013 nop
+800023f8: 00000013 nop
+800023fc: 00000013 nop
+80002400: 00000013 nop
+80002404: 00000013 nop
+80002408: 00000013 nop
+8000240c: 00000013 nop
+80002410: 00000013 nop
+80002414: 00000013 nop
+80002418: 00000013 nop
+8000241c: 00000013 nop
+80002420: 00000013 nop
+80002424: 00000013 nop
+80002428: 00000013 nop
+8000242c: 00000013 nop
+80002430: 00000013 nop
+80002434: 00000013 nop
+80002438: 00000013 nop
+8000243c: 00000013 nop
+80002440: 00000013 nop
+80002444: 00000013 nop
+80002448: 00000013 nop
+8000244c: 00000013 nop
+80002450: 00000013 nop
+80002454: 00000013 nop
+80002458: 00000013 nop
+8000245c: 00000013 nop
+80002460: 00000013 nop
+80002464: 00000013 nop
+80002468: 00000013 nop
+8000246c: 00000013 nop
+80002470: 00000013 nop
+80002474: 00000013 nop
+80002478: 00000013 nop
+8000247c: 00000013 nop
+80002480: 00000013 nop
+80002484: 00000013 nop
+80002488: 00000013 nop
+8000248c: 00000013 nop
+80002490: 00000013 nop
+80002494: 00000013 nop
+80002498: 00000013 nop
+8000249c: 00000013 nop
+800024a0: 00000013 nop
+800024a4: 00000013 nop
+800024a8: 00000013 nop
+800024ac: 00000013 nop
+800024b0: 00000013 nop
+800024b4: 00000013 nop
+800024b8: 00000013 nop
+800024bc: 00000013 nop
+800024c0: 00000013 nop
+800024c4: 00000013 nop
+800024c8: 00000013 nop
+800024cc: 00000013 nop
+800024d0: 00000013 nop
+800024d4: 00000013 nop
+800024d8: 00000013 nop
+800024dc: 00000013 nop
+800024e0: 00000013 nop
+800024e4: 00000013 nop
+800024e8: 00000013 nop
+800024ec: 00000013 nop
+800024f0: 00000013 nop
+800024f4: 00000013 nop
+800024f8: 00000013 nop
+800024fc: 00000013 nop
+80002500: 00000013 nop
+80002504: 00000013 nop
+80002508: 00000013 nop
+8000250c: 00000013 nop
+80002510: 00000013 nop
+80002514: 00000013 nop
+80002518: 00000013 nop
+8000251c: 00000013 nop
+80002520: 00000013 nop
+80002524: 00000013 nop
+80002528: 00000013 nop
+8000252c: 00000013 nop
+80002530: 00000013 nop
+80002534: 00000013 nop
+80002538: 00000013 nop
+8000253c: 00000013 nop
+80002540: 00000013 nop
+80002544: 00000013 nop
+80002548: 00000013 nop
+8000254c: 00000013 nop
+80002550: 00000013 nop
+80002554: 00000013 nop
+80002558: 00000013 nop
+8000255c: 00000013 nop
+80002560: 00000013 nop
+80002564: 00000013 nop
+80002568: 00000013 nop
+8000256c: 00000013 nop
+80002570: 00000013 nop
+80002574: 00000013 nop
+80002578: 00000013 nop
+8000257c: 00000013 nop
+80002580: 00000013 nop
+80002584: 00000013 nop
+80002588: 00000013 nop
+8000258c: 00000013 nop
+80002590: 00000013 nop
+80002594: 00000013 nop
+80002598: 00000013 nop
+8000259c: 00000013 nop
+800025a0: 00000013 nop
+800025a4: 00000013 nop
+800025a8: 00000013 nop
+800025ac: 00000013 nop
+800025b0: 00000013 nop
+800025b4: 00000013 nop
+800025b8: 00000013 nop
+800025bc: 00000013 nop
+800025c0: 00000013 nop
+800025c4: 00000013 nop
+800025c8: 00000013 nop
+800025cc: 00000013 nop
+800025d0: 00000013 nop
+800025d4: 00000013 nop
+800025d8: 00000013 nop
+800025dc: 00000013 nop
+800025e0: 00000013 nop
+800025e4: 00000013 nop
+800025e8: 00000013 nop
+800025ec: 00000013 nop
+800025f0: 00000013 nop
+800025f4: 00000013 nop
+800025f8: 00000013 nop
+800025fc: 00000013 nop
+80002600: 00000013 nop
+80002604: 00000013 nop
+80002608: 00000013 nop
+8000260c: 00000013 nop
+80002610: 00000013 nop
+80002614: 00000013 nop
+80002618: 00000013 nop
+8000261c: 00000013 nop
+80002620: 00000013 nop
+80002624: 00000013 nop
+80002628: 00000013 nop
+8000262c: 00000013 nop
+80002630: 00000013 nop
+80002634: 00000013 nop
+80002638: 00000013 nop
+8000263c: 00000013 nop
+80002640: 00000013 nop
+80002644: 00000013 nop
+80002648: 00000013 nop
+8000264c: 00000013 nop
+80002650: 00000013 nop
+80002654: 00000013 nop
+80002658: 00000013 nop
+8000265c: 00000013 nop
+80002660: 00000013 nop
+80002664: 00000013 nop
+80002668: 00000013 nop
+8000266c: 00000013 nop
+80002670: 00000013 nop
+80002674: 00000013 nop
+80002678: 00000013 nop
+8000267c: 00000013 nop
+80002680: 00000013 nop
+80002684: 00000013 nop
+80002688: 00000013 nop
+8000268c: 00000013 nop
+80002690: 00000013 nop
+80002694: 00000013 nop
+80002698: 00000013 nop
+8000269c: 00000013 nop
+800026a0: 00000013 nop
+800026a4: 00000013 nop
+800026a8: 00000013 nop
+800026ac: 00000013 nop
+800026b0: 00000013 nop
+800026b4: 00000013 nop
+800026b8: 00000013 nop
+800026bc: 00000013 nop
+800026c0: 00000013 nop
+800026c4: 00000013 nop
+800026c8: 00000013 nop
+800026cc: 00000013 nop
+800026d0: 00000013 nop
+800026d4: 00000013 nop
+800026d8: 00000013 nop
+800026dc: 00000013 nop
+800026e0: 00000013 nop
+800026e4: 00000013 nop
+800026e8: 00000013 nop
+800026ec: 00000013 nop
+800026f0: 00000013 nop
+800026f4: 00000013 nop
+800026f8: 00000013 nop
+800026fc: 00000013 nop
+80002700: 00000013 nop
+80002704: 00000013 nop
+80002708: 00000013 nop
+8000270c: 00000013 nop
+80002710: 00000013 nop
+80002714: 00000013 nop
+80002718: 00000013 nop
+8000271c: 00000013 nop
+80002720: 00000013 nop
+80002724: 00000013 nop
+80002728: 00000013 nop
+8000272c: 00000013 nop
+80002730: 00000013 nop
+80002734: 00000013 nop
+80002738: 00000013 nop
+8000273c: 00000013 nop
+80002740: 00000013 nop
+80002744: 00000013 nop
+80002748: 00000013 nop
+8000274c: 00000013 nop
+80002750: 00000013 nop
+80002754: 00000013 nop
+80002758: 00000013 nop
+8000275c: 00000013 nop
+80002760: 00000013 nop
+80002764: 00000013 nop
+80002768: 00000013 nop
+8000276c: 00000013 nop
+80002770: 00000013 nop
+80002774: 00000013 nop
+80002778: 00000013 nop
+8000277c: 00000013 nop
+80002780: 00000013 nop
+80002784: 00000013 nop
+80002788: 00000013 nop
+8000278c: 00000013 nop
+80002790: 00000013 nop
+80002794: 00000013 nop
+80002798: 00000013 nop
+8000279c: 00000013 nop
+800027a0: 00000013 nop
+800027a4: 00000013 nop
+800027a8: 00000013 nop
+800027ac: 00000013 nop
+800027b0: 00000013 nop
+800027b4: 00000013 nop
+800027b8: 00000013 nop
+800027bc: 00000013 nop
+800027c0: 00000013 nop
+800027c4: 00000013 nop
+800027c8: 00000013 nop
+800027cc: 00000013 nop
+800027d0: 00000013 nop
+800027d4: 00000013 nop
+800027d8: 00000013 nop
+800027dc: 00000013 nop
+800027e0: 00000013 nop
+800027e4: 00000013 nop
+800027e8: 00000013 nop
+800027ec: 00000013 nop
+800027f0: 00000013 nop
+800027f4: 00000013 nop
+800027f8: 00000013 nop
+800027fc: 00000013 nop
+80002800: 00000013 nop
+80002804: 00000013 nop
+80002808: 00000013 nop
+8000280c: 00000013 nop
+80002810: 00000013 nop
+80002814: 00000013 nop
+80002818: 00000013 nop
+8000281c: 00000013 nop
+80002820: 00000013 nop
+80002824: 00000013 nop
+80002828: 00000013 nop
+8000282c: 00000013 nop
+80002830: 00000013 nop
+80002834: 00000013 nop
+80002838: 00000013 nop
+8000283c: 00000013 nop
+80002840: 00000013 nop
+80002844: 00000013 nop
+80002848: 00000013 nop
+8000284c: 00000013 nop
+80002850: 00000013 nop
+80002854: 00000013 nop
+80002858: 00000013 nop
+8000285c: 00000013 nop
+80002860: 00000013 nop
+80002864: 00000013 nop
+80002868: 00000013 nop
+8000286c: 00000013 nop
+80002870: 00000013 nop
+80002874: 00000013 nop
+80002878: 00000013 nop
+8000287c: 00000013 nop
+80002880: 00000013 nop
+80002884: 00000013 nop
+80002888: 00000013 nop
+8000288c: 00000013 nop
+80002890: 00000013 nop
+80002894: 00000013 nop
+80002898: 00000013 nop
+8000289c: 00000013 nop
+800028a0: 00000013 nop
+800028a4: 00000013 nop
+800028a8: 00000013 nop
+800028ac: 00000013 nop
+800028b0: 00000013 nop
+800028b4: 00000013 nop
+800028b8: 00000013 nop
+800028bc: 00000013 nop
+800028c0: 00000013 nop
+800028c4: 00000013 nop
+800028c8: 00000013 nop
+800028cc: 00000013 nop
+800028d0: 00000013 nop
+800028d4: 00000013 nop
+800028d8: 00000013 nop
+800028dc: 00000013 nop
+800028e0: 00000013 nop
+800028e4: 00000013 nop
+800028e8: 00000013 nop
+800028ec: 00000013 nop
+800028f0: 00000013 nop
+800028f4: 00000013 nop
+800028f8: 00000013 nop
+800028fc: 00000013 nop
+80002900: 00000013 nop
+80002904: 00000013 nop
+80002908: 00000013 nop
+8000290c: 00000013 nop
+80002910: 00000013 nop
+80002914: 00000013 nop
+80002918: 00000013 nop
+8000291c: 00000013 nop
+80002920: 00000013 nop
+80002924: 00000013 nop
+80002928: 00000013 nop
+8000292c: 00000013 nop
+80002930: 00000013 nop
+80002934: 00000013 nop
+80002938: 00000013 nop
+8000293c: 00000013 nop
+80002940: 00000013 nop
+80002944: 00000013 nop
+80002948: 00000013 nop
+8000294c: 00000013 nop
+80002950: 00000013 nop
+80002954: 00000013 nop
+80002958: 00000013 nop
+8000295c: 00000013 nop
+80002960: 00000013 nop
+80002964: 00000013 nop
+80002968: 00000013 nop
+8000296c: 00000013 nop
+80002970: 00000013 nop
+80002974: 00000013 nop
+80002978: 00000013 nop
+8000297c: 00000013 nop
+80002980: 00000013 nop
+80002984: 00000013 nop
+80002988: 00000013 nop
+8000298c: 00000013 nop
+80002990: 00000013 nop
+80002994: 00000013 nop
+80002998: 00000013 nop
+8000299c: 00000013 nop
+800029a0: 00000013 nop
+800029a4: 00000013 nop
+800029a8: 00000013 nop
+800029ac: 00000013 nop
+800029b0: 00000013 nop
+800029b4: 00000013 nop
+800029b8: 00000013 nop
+800029bc: 00000013 nop
+800029c0: 00000013 nop
+800029c4: 00000013 nop
+800029c8: 00000013 nop
+800029cc: 00000013 nop
+800029d0: 00000013 nop
+800029d4: 00000013 nop
+800029d8: 00000013 nop
+800029dc: 00000013 nop
+800029e0: 00000013 nop
+800029e4: 00000013 nop
+800029e8: 00000013 nop
+800029ec: 00000013 nop
+800029f0: 00000013 nop
+800029f4: 00000013 nop
+800029f8: 00000013 nop
+800029fc: 00000013 nop
+80002a00: 00000013 nop
+80002a04: 00000013 nop
+80002a08: 00000013 nop
+80002a0c: 00000013 nop
+80002a10: 00000013 nop
+80002a14: 00000013 nop
+80002a18: 00000013 nop
+80002a1c: 00000013 nop
+80002a20: 00000013 nop
+80002a24: 00000013 nop
+80002a28: 00000013 nop
+80002a2c: 00000013 nop
+80002a30: 00000013 nop
+80002a34: 00000013 nop
+80002a38: 00000013 nop
+80002a3c: 00000013 nop
+80002a40: 00000013 nop
+80002a44: 00000013 nop
+80002a48: 00000013 nop
+80002a4c: 00000013 nop
+80002a50: 00000013 nop
+80002a54: 00000013 nop
+80002a58: 00000013 nop
+80002a5c: 00000013 nop
+80002a60: 00000013 nop
+80002a64: 00000013 nop
+80002a68: 00000013 nop
+80002a6c: 00000013 nop
+80002a70: 00000013 nop
+80002a74: 00000013 nop
+80002a78: 00000013 nop
+80002a7c: 00000013 nop
+80002a80: 00000013 nop
+80002a84: 00000013 nop
+80002a88: 00000013 nop
+80002a8c: 00000013 nop
+80002a90: 00000013 nop
+80002a94: 00000013 nop
+80002a98: 00000013 nop
+80002a9c: 00000013 nop
+80002aa0: 00000013 nop
+80002aa4: 00000013 nop
+80002aa8: 00000013 nop
+80002aac: 00000013 nop
+80002ab0: 00000013 nop
+80002ab4: 00000013 nop
+80002ab8: 00000013 nop
+80002abc: 00000013 nop
+80002ac0: 00000013 nop
+80002ac4: 00000013 nop
+80002ac8: 00000013 nop
+80002acc: 00000013 nop
+80002ad0: 00000013 nop
+80002ad4: 00000013 nop
+80002ad8: 00000013 nop
+80002adc: 00000013 nop
+80002ae0: 00000013 nop
+80002ae4: 00000013 nop
+80002ae8: 00000013 nop
+80002aec: 00000013 nop
+80002af0: 00000013 nop
+80002af4: 00000013 nop
+80002af8: 00000013 nop
+80002afc: 00000013 nop
+80002b00: 00000013 nop
+80002b04: 00000013 nop
+80002b08: 00000013 nop
+80002b0c: 00000013 nop
+80002b10: 00000013 nop
+80002b14: 00000013 nop
+80002b18: 00000013 nop
+80002b1c: 00000013 nop
+80002b20: 00000013 nop
+80002b24: 00000013 nop
+80002b28: 00000013 nop
+80002b2c: 00000013 nop
+80002b30: 00000013 nop
+80002b34: 00000013 nop
+80002b38: 00000013 nop
+80002b3c: 00000013 nop
+80002b40: 00000013 nop
+80002b44: 00000013 nop
+80002b48: 00000013 nop
+80002b4c: 00000013 nop
+80002b50: 00000013 nop
+80002b54: 00000013 nop
+80002b58: 00000013 nop
+80002b5c: 00000013 nop
+80002b60: 00000013 nop
+80002b64: 00000013 nop
+80002b68: 00000013 nop
+80002b6c: 00000013 nop
+80002b70: 00000013 nop
+80002b74: 00000013 nop
+80002b78: 00000013 nop
+80002b7c: 00000013 nop
+80002b80: 00000013 nop
+80002b84: 00000013 nop
+80002b88: 00000013 nop
+80002b8c: 00000013 nop
+80002b90: 00000013 nop
+80002b94: 00000013 nop
+80002b98: 00000013 nop
+80002b9c: 00000013 nop
+80002ba0: 00000013 nop
+80002ba4: 00000013 nop
+80002ba8: 00000013 nop
+80002bac: 00000013 nop
+80002bb0: 00000013 nop
+80002bb4: 00000013 nop
+80002bb8: 00000013 nop
+80002bbc: 00000013 nop
+80002bc0: 00000013 nop
+80002bc4: 00000013 nop
+80002bc8: 00000013 nop
+80002bcc: 00000013 nop
+80002bd0: 00000013 nop
+80002bd4: 00000013 nop
+80002bd8: 00000013 nop
+80002bdc: 00000013 nop
+80002be0: 00000013 nop
+80002be4: 00000013 nop
+80002be8: 00000013 nop
+80002bec: 00000013 nop
+80002bf0: 00000013 nop
+80002bf4: 00000013 nop
+80002bf8: 00000013 nop
+80002bfc: 00000013 nop
+80002c00: 00000013 nop
+80002c04: 00000013 nop
+80002c08: 00000013 nop
+80002c0c: 00000013 nop
+80002c10: 00000013 nop
+80002c14: 00000013 nop
+80002c18: 00000013 nop
+80002c1c: 00000013 nop
+80002c20: 00000013 nop
+80002c24: 00000013 nop
+80002c28: 00000013 nop
+80002c2c: 00000013 nop
+80002c30: 00000013 nop
+80002c34: 00000013 nop
+80002c38: 00000013 nop
+80002c3c: 00000013 nop
+80002c40: 00000013 nop
+80002c44: 00000013 nop
+80002c48: 00000013 nop
+80002c4c: 00000013 nop
+80002c50: 00000013 nop
+80002c54: 00000013 nop
+80002c58: 00000013 nop
+80002c5c: 00000013 nop
+80002c60: 00000013 nop
+80002c64: 00000013 nop
+80002c68: 00000013 nop
+80002c6c: 00000013 nop
+80002c70: 00000013 nop
+80002c74: 00000013 nop
+80002c78: 00000013 nop
+80002c7c: 00000013 nop
+80002c80: 00000013 nop
+80002c84: 00000013 nop
+80002c88: 00000013 nop
+80002c8c: 00000013 nop
+80002c90: 00000013 nop
+80002c94: 00000013 nop
+80002c98: 00000013 nop
+80002c9c: 00000013 nop
+80002ca0: 00000013 nop
+80002ca4: 00000013 nop
+80002ca8: 00000013 nop
+80002cac: 00000013 nop
+80002cb0: 00000013 nop
+80002cb4: 00000013 nop
+80002cb8: 00000013 nop
+80002cbc: 00000013 nop
+80002cc0: 00000013 nop
+80002cc4: 00000013 nop
+80002cc8: 00000013 nop
+80002ccc: 00000013 nop
+80002cd0: 00000013 nop
+80002cd4: 00000013 nop
+80002cd8: 00000013 nop
+80002cdc: 00000013 nop
+80002ce0: 00000013 nop
+80002ce4: 00000013 nop
+80002ce8: 00000013 nop
+80002cec: 00000013 nop
+80002cf0: 00000013 nop
+80002cf4: 00000013 nop
+80002cf8: 00000013 nop
+80002cfc: 00000013 nop
+80002d00: 00000013 nop
+80002d04: 00000013 nop
+80002d08: 00000013 nop
+80002d0c: 00000013 nop
+80002d10: 00000013 nop
+80002d14: 00000013 nop
+80002d18: 00000013 nop
+80002d1c: 00000013 nop
+80002d20: 00000013 nop
+80002d24: 00000013 nop
+80002d28: 00000013 nop
+80002d2c: 00000013 nop
+80002d30: 00000013 nop
+80002d34: 00000013 nop
+80002d38: 00000013 nop
+80002d3c: 00000013 nop
+80002d40: 00000013 nop
+80002d44: 00000013 nop
+80002d48: 00000013 nop
+80002d4c: 00000013 nop
+80002d50: 00000013 nop
+80002d54: 00000013 nop
+80002d58: 00000013 nop
+80002d5c: 00000013 nop
+80002d60: 00000013 nop
+80002d64: 00000013 nop
+80002d68: 00000013 nop
+80002d6c: 00000013 nop
+80002d70: 00000013 nop
+80002d74: 00000013 nop
+80002d78: 00000013 nop
+80002d7c: 00000013 nop
+80002d80: 00000013 nop
+80002d84: 00000013 nop
+80002d88: 00000013 nop
+80002d8c: 00000013 nop
+80002d90: 00000013 nop
+80002d94: 00000013 nop
+80002d98: 00000013 nop
+80002d9c: 00000013 nop
+80002da0: 00000013 nop
+80002da4: 00000013 nop
+80002da8: 00000013 nop
+80002dac: 00000013 nop
+80002db0: 00000013 nop
+80002db4: 00000013 nop
+80002db8: 00000013 nop
+80002dbc: 00000013 nop
+80002dc0: 00000013 nop
+80002dc4: 00000013 nop
+80002dc8: 00000013 nop
+80002dcc: 00000013 nop
+80002dd0: 00000013 nop
+80002dd4: 00000013 nop
+80002dd8: 00000013 nop
+80002ddc: 00000013 nop
+80002de0: 00000013 nop
+80002de4: 00000013 nop
+80002de8: 00000013 nop
+80002dec: 00000013 nop
+80002df0: 00000013 nop
+80002df4: 00000013 nop
+80002df8: 00000013 nop
+80002dfc: 00000013 nop
+80002e00: 00000013 nop
+80002e04: 00000013 nop
+80002e08: 00000013 nop
+80002e0c: 00000013 nop
+80002e10: 00000013 nop
+80002e14: 00000013 nop
+80002e18: 00000013 nop
+80002e1c: 00000013 nop
+80002e20: 00000013 nop
+80002e24: 00000013 nop
+80002e28: 00000013 nop
+80002e2c: 00000013 nop
+80002e30: 00000013 nop
+80002e34: 00000013 nop
+80002e38: 00000013 nop
+80002e3c: 00000013 nop
+80002e40: 00000013 nop
+80002e44: 00000013 nop
+80002e48: 00000013 nop
+80002e4c: 00000013 nop
+80002e50: 00000013 nop
+80002e54: 00000013 nop
+80002e58: 00000013 nop
+80002e5c: 00000013 nop
+80002e60: 00000013 nop
+80002e64: 00000013 nop
+80002e68: 00000013 nop
+80002e6c: 00000013 nop
+80002e70: 00000013 nop
+80002e74: 00000013 nop
+80002e78: 00000013 nop
+80002e7c: 00000013 nop
+80002e80: 00000013 nop
+80002e84: 00000013 nop
+80002e88: 00000013 nop
+80002e8c: 00000013 nop
+80002e90: 00000013 nop
+80002e94: 00000013 nop
+80002e98: 00000013 nop
+80002e9c: 00000013 nop
+80002ea0: 00000013 nop
+80002ea4: 00000013 nop
+80002ea8: 00000013 nop
+80002eac: 00000013 nop
+80002eb0: 00000013 nop
+80002eb4: 00000013 nop
+80002eb8: 00000013 nop
+80002ebc: 00000013 nop
+80002ec0: 00000013 nop
+80002ec4: 00000013 nop
+80002ec8: 00000013 nop
+80002ecc: 00000013 nop
+80002ed0: 00000013 nop
+80002ed4: 00000013 nop
+80002ed8: 00000013 nop
+80002edc: 00000013 nop
+80002ee0: 00000013 nop
+80002ee4: 00000013 nop
+80002ee8: 00000013 nop
+80002eec: 00000013 nop
+80002ef0: 00000013 nop
+80002ef4: 00000013 nop
+80002ef8: 00000013 nop
+80002efc: 00000013 nop
+80002f00: 00000013 nop
+80002f04: 00000013 nop
+80002f08: 00000013 nop
+80002f0c: 00000013 nop
+80002f10: 00000013 nop
+80002f14: 00000013 nop
+80002f18: 00000013 nop
+80002f1c: 00000013 nop
+80002f20: 00000013 nop
+80002f24: 00000013 nop
+80002f28: 00000013 nop
+80002f2c: 00000013 nop
+80002f30: 00000013 nop
+80002f34: 00000013 nop
+80002f38: 00000013 nop
+80002f3c: 00000013 nop
+80002f40: 00000013 nop
+80002f44: 00000013 nop
+80002f48: 00000013 nop
+80002f4c: 00000013 nop
+80002f50: 00000013 nop
+80002f54: 00000013 nop
+80002f58: 00000013 nop
+80002f5c: 00000013 nop
+80002f60: 00000013 nop
+80002f64: 00000013 nop
+80002f68: 00000013 nop
+80002f6c: 00000013 nop
+80002f70: 00000013 nop
+80002f74: 00000013 nop
+80002f78: 00000013 nop
+80002f7c: 00000013 nop
+80002f80: 00000013 nop
+80002f84: 00000013 nop
+80002f88: 00000013 nop
+80002f8c: 00000013 nop
+80002f90: 00000013 nop
+80002f94: 00000013 nop
+80002f98: 00000013 nop
+80002f9c: 00000013 nop
+80002fa0: 00000013 nop
+80002fa4: 00000013 nop
+80002fa8: 00000013 nop
+80002fac: 00000013 nop
+80002fb0: 00000013 nop
+80002fb4: 00000013 nop
+80002fb8: 00000013 nop
+80002fbc: 00000013 nop
+80002fc0: 00000013 nop
+80002fc4: 00000013 nop
+80002fc8: 00000013 nop
+80002fcc: 00000013 nop
+80002fd0: 00000013 nop
+80002fd4: 00000013 nop
+80002fd8: 00000013 nop
+80002fdc: 00000013 nop
+80002fe0: 00000013 nop
+80002fe4: 00000013 nop
+80002fe8: 00000013 nop
+80002fec: 00000013 nop
+80002ff0: 00000013 nop
+80002ff4: 00000013 nop
+80002ff8: 00000013 nop
+80002ffc: 00000013 nop
+
+80003000 <MMU_TABLE_2>:
+80003000: 0000 unimp
+80003002: 0000 unimp
+80003004: 00000013 nop
+80003008: 00000013 nop
+8000300c: 00000013 nop
+80003010: 00000013 nop
+80003014: 00000013 nop
+80003018: 00000013 nop
+8000301c: 00000013 nop
+80003020: 00000013 nop
+80003024: 00000013 nop
+80003028: 00000013 nop
+8000302c: 00000013 nop
+80003030: 00000013 nop
+80003034: 00000013 nop
+80003038: 00000013 nop
+8000303c: 00000013 nop
+80003040: 00000013 nop
+80003044: 00000013 nop
+80003048: 00000013 nop
+8000304c: 00000013 nop
+80003050: 00000013 nop
+80003054: 00000013 nop
+80003058: 00000013 nop
+8000305c: 00000013 nop
+80003060: 00000013 nop
+80003064: 00000013 nop
+80003068: 00000013 nop
+8000306c: 00000013 nop
+80003070: 00000013 nop
+80003074: 00000013 nop
+80003078: 00000013 nop
+8000307c: 00000013 nop
+80003080: 00000013 nop
+80003084: 00000013 nop
+80003088: 00000013 nop
+8000308c: 00000013 nop
+80003090: 00000013 nop
+80003094: 00000013 nop
+80003098: 00000013 nop
+8000309c: 00000013 nop
+800030a0: 00000013 nop
+800030a4: 00000013 nop
+800030a8: 00000013 nop
+800030ac: 00000013 nop
+800030b0: 00000013 nop
+800030b4: 00000013 nop
+800030b8: 00000013 nop
+800030bc: 00000013 nop
+800030c0: 00000013 nop
+800030c4: 00000013 nop
+800030c8: 00000013 nop
+800030cc: 00000013 nop
+800030d0: 00000013 nop
+800030d4: 00000013 nop
+800030d8: 00000013 nop
+800030dc: 00000013 nop
+800030e0: 00000013 nop
+800030e4: 00000013 nop
+800030e8: 00000013 nop
+800030ec: 00000013 nop
+800030f0: 00000013 nop
+800030f4: 00000013 nop
+800030f8: 00000013 nop
+800030fc: 00000013 nop
+80003100: 00000013 nop
+80003104: 00000013 nop
+80003108: 00000013 nop
+8000310c: 00000013 nop
+80003110: 00000013 nop
+80003114: 00000013 nop
+80003118: 00000013 nop
+8000311c: 00000013 nop
+80003120: 00000013 nop
+80003124: 00000013 nop
+80003128: 00000013 nop
+8000312c: 00000013 nop
+80003130: 00000013 nop
+80003134: 00000013 nop
+80003138: 00000013 nop
+8000313c: 00000013 nop
+80003140: 00000013 nop
+80003144: 00000013 nop
+80003148: 00000013 nop
+8000314c: 00000013 nop
+80003150: 00000013 nop
+80003154: 00000013 nop
+80003158: 00000013 nop
+8000315c: 00000013 nop
+80003160: 00000013 nop
+80003164: 00000013 nop
+80003168: 00000013 nop
+8000316c: 00000013 nop
+80003170: 00000013 nop
+80003174: 00000013 nop
+80003178: 00000013 nop
+8000317c: 00000013 nop
+80003180: 00000013 nop
+80003184: 00000013 nop
+80003188: 00000013 nop
+8000318c: 00000013 nop
+80003190: 00000013 nop
+80003194: 00000013 nop
+80003198: 00000013 nop
+8000319c: 00000013 nop
+800031a0: 00000013 nop
+800031a4: 00000013 nop
+800031a8: 00000013 nop
+800031ac: 00000013 nop
+800031b0: 00000013 nop
+800031b4: 00000013 nop
+800031b8: 00000013 nop
+800031bc: 00000013 nop
+800031c0: 00000013 nop
+800031c4: 00000013 nop
+800031c8: 00000013 nop
+800031cc: 00000013 nop
+800031d0: 00000013 nop
+800031d4: 00000013 nop
+800031d8: 00000013 nop
+800031dc: 00000013 nop
+800031e0: 00000013 nop
+800031e4: 00000013 nop
+800031e8: 00000013 nop
+800031ec: 00000013 nop
+800031f0: 00000013 nop
+800031f4: 00000013 nop
+800031f8: 00000013 nop
+800031fc: 00000013 nop
+80003200: 00000013 nop
+80003204: 00000013 nop
+80003208: 00000013 nop
+8000320c: 00000013 nop
+80003210: 00000013 nop
+80003214: 00000013 nop
+80003218: 00000013 nop
+8000321c: 00000013 nop
+80003220: 00000013 nop
+80003224: 00000013 nop
+80003228: 00000013 nop
+8000322c: 00000013 nop
+80003230: 00000013 nop
+80003234: 00000013 nop
+80003238: 00000013 nop
+8000323c: 00000013 nop
+80003240: 00000013 nop
+80003244: 00000013 nop
+80003248: 00000013 nop
+8000324c: 00000013 nop
+80003250: 00000013 nop
+80003254: 00000013 nop
+80003258: 00000013 nop
+8000325c: 00000013 nop
+80003260: 00000013 nop
+80003264: 00000013 nop
+80003268: 00000013 nop
+8000326c: 00000013 nop
+80003270: 00000013 nop
+80003274: 00000013 nop
+80003278: 00000013 nop
+8000327c: 00000013 nop
+80003280: 00000013 nop
+80003284: 00000013 nop
+80003288: 00000013 nop
+8000328c: 00000013 nop
+80003290: 00000013 nop
+80003294: 00000013 nop
+80003298: 00000013 nop
+8000329c: 00000013 nop
+800032a0: 00000013 nop
+800032a4: 00000013 nop
+800032a8: 00000013 nop
+800032ac: 00000013 nop
+800032b0: 00000013 nop
+800032b4: 00000013 nop
+800032b8: 00000013 nop
+800032bc: 00000013 nop
+800032c0: 00000013 nop
+800032c4: 00000013 nop
+800032c8: 00000013 nop
+800032cc: 00000013 nop
+800032d0: 00000013 nop
+800032d4: 00000013 nop
+800032d8: 00000013 nop
+800032dc: 00000013 nop
+800032e0: 00000013 nop
+800032e4: 00000013 nop
+800032e8: 00000013 nop
+800032ec: 00000013 nop
+800032f0: 00000013 nop
+800032f4: 00000013 nop
+800032f8: 00000013 nop
+800032fc: 00000013 nop
+80003300: 00000013 nop
+80003304: 00000013 nop
+80003308: 00000013 nop
+8000330c: 00000013 nop
+80003310: 00000013 nop
+80003314: 00000013 nop
+80003318: 00000013 nop
+8000331c: 00000013 nop
+80003320: 00000013 nop
+80003324: 00000013 nop
+80003328: 00000013 nop
+8000332c: 00000013 nop
+80003330: 00000013 nop
+80003334: 00000013 nop
+80003338: 00000013 nop
+8000333c: 00000013 nop
+80003340: 00000013 nop
+80003344: 00000013 nop
+80003348: 00000013 nop
+8000334c: 00000013 nop
+80003350: 00000013 nop
+80003354: 00000013 nop
+80003358: 00000013 nop
+8000335c: 00000013 nop
+80003360: 00000013 nop
+80003364: 00000013 nop
+80003368: 00000013 nop
+8000336c: 00000013 nop
+80003370: 00000013 nop
+80003374: 00000013 nop
+80003378: 00000013 nop
+8000337c: 00000013 nop
+80003380: 00000013 nop
+80003384: 00000013 nop
+80003388: 00000013 nop
+8000338c: 00000013 nop
+80003390: 00000013 nop
+80003394: 00000013 nop
+80003398: 00000013 nop
+8000339c: 00000013 nop
+800033a0: 00000013 nop
+800033a4: 00000013 nop
+800033a8: 00000013 nop
+800033ac: 00000013 nop
+800033b0: 00000013 nop
+800033b4: 00000013 nop
+800033b8: 00000013 nop
+800033bc: 00000013 nop
+800033c0: 00000013 nop
+800033c4: 00000013 nop
+800033c8: 00000013 nop
+800033cc: 00000013 nop
+800033d0: 00000013 nop
+800033d4: 00000013 nop
+800033d8: 00000013 nop
+800033dc: 00000013 nop
+800033e0: 00000013 nop
+800033e4: 00000013 nop
+800033e8: 00000013 nop
+800033ec: 00000013 nop
+800033f0: 00000013 nop
+800033f4: 00000013 nop
+800033f8: 00000013 nop
+800033fc: 00000013 nop
+80003400: 00000013 nop
+80003404: 00000013 nop
+80003408: 00000013 nop
+8000340c: 00000013 nop
+80003410: 00000013 nop
+80003414: 00000013 nop
+80003418: 00000013 nop
+8000341c: 00000013 nop
+80003420: 00000013 nop
+80003424: 00000013 nop
+80003428: 00000013 nop
+8000342c: 00000013 nop
+80003430: 00000013 nop
+80003434: 00000013 nop
+80003438: 00000013 nop
+8000343c: 00000013 nop
+80003440: 00000013 nop
+80003444: 00000013 nop
+80003448: 00000013 nop
+8000344c: 00000013 nop
+80003450: 00000013 nop
+80003454: 00000013 nop
+80003458: 00000013 nop
+8000345c: 00000013 nop
+80003460: 00000013 nop
+80003464: 00000013 nop
+80003468: 00000013 nop
+8000346c: 00000013 nop
+80003470: 00000013 nop
+80003474: 00000013 nop
+80003478: 00000013 nop
+8000347c: 00000013 nop
+80003480: 00000013 nop
+80003484: 00000013 nop
+80003488: 00000013 nop
+8000348c: 00000013 nop
+80003490: 00000013 nop
+80003494: 00000013 nop
+80003498: 00000013 nop
+8000349c: 00000013 nop
+800034a0: 00000013 nop
+800034a4: 00000013 nop
+800034a8: 00000013 nop
+800034ac: 00000013 nop
+800034b0: 00000013 nop
+800034b4: 00000013 nop
+800034b8: 00000013 nop
+800034bc: 00000013 nop
+800034c0: 00000013 nop
+800034c4: 00000013 nop
+800034c8: 00000013 nop
+800034cc: 00000013 nop
+800034d0: 00000013 nop
+800034d4: 00000013 nop
+800034d8: 00000013 nop
+800034dc: 00000013 nop
+800034e0: 00000013 nop
+800034e4: 00000013 nop
+800034e8: 00000013 nop
+800034ec: 00000013 nop
+800034f0: 00000013 nop
+800034f4: 00000013 nop
+800034f8: 00000013 nop
+800034fc: 00000013 nop
+80003500: 00000013 nop
+80003504: 00000013 nop
+80003508: 00000013 nop
+8000350c: 00000013 nop
+80003510: 00000013 nop
+80003514: 00000013 nop
+80003518: 00000013 nop
+8000351c: 00000013 nop
+80003520: 00000013 nop
+80003524: 00000013 nop
+80003528: 00000013 nop
+8000352c: 00000013 nop
+80003530: 00000013 nop
+80003534: 00000013 nop
+80003538: 00000013 nop
+8000353c: 00000013 nop
+80003540: 00000013 nop
+80003544: 00000013 nop
+80003548: 00000013 nop
+8000354c: 00000013 nop
+80003550: 00000013 nop
+80003554: 00000013 nop
+80003558: 00000013 nop
+8000355c: 00000013 nop
+80003560: 00000013 nop
+80003564: 00000013 nop
+80003568: 00000013 nop
+8000356c: 00000013 nop
+80003570: 00000013 nop
+80003574: 00000013 nop
+80003578: 00000013 nop
+8000357c: 00000013 nop
+80003580: 00000013 nop
+80003584: 00000013 nop
+80003588: 00000013 nop
+8000358c: 00000013 nop
+80003590: 00000013 nop
+80003594: 00000013 nop
+80003598: 00000013 nop
+8000359c: 00000013 nop
+800035a0: 00000013 nop
+800035a4: 00000013 nop
+800035a8: 00000013 nop
+800035ac: 00000013 nop
+800035b0: 00000013 nop
+800035b4: 00000013 nop
+800035b8: 00000013 nop
+800035bc: 00000013 nop
+800035c0: 00000013 nop
+800035c4: 00000013 nop
+800035c8: 00000013 nop
+800035cc: 00000013 nop
+800035d0: 00000013 nop
+800035d4: 00000013 nop
+800035d8: 00000013 nop
+800035dc: 00000013 nop
+800035e0: 00000013 nop
+800035e4: 00000013 nop
+800035e8: 00000013 nop
+800035ec: 00000013 nop
+800035f0: 00000013 nop
+800035f4: 00000013 nop
+800035f8: 00000013 nop
+800035fc: 00000013 nop
+80003600: 00000013 nop
+80003604: 00000013 nop
+80003608: 00000013 nop
+8000360c: 00000013 nop
+80003610: 00000013 nop
+80003614: 00000013 nop
+80003618: 00000013 nop
+8000361c: 00000013 nop
+80003620: 00000013 nop
+80003624: 00000013 nop
+80003628: 00000013 nop
+8000362c: 00000013 nop
+80003630: 00000013 nop
+80003634: 00000013 nop
+80003638: 00000013 nop
+8000363c: 00000013 nop
+80003640: 00000013 nop
+80003644: 00000013 nop
+80003648: 00000013 nop
+8000364c: 00000013 nop
+80003650: 00000013 nop
+80003654: 00000013 nop
+80003658: 00000013 nop
+8000365c: 00000013 nop
+80003660: 00000013 nop
+80003664: 00000013 nop
+80003668: 00000013 nop
+8000366c: 00000013 nop
+80003670: 00000013 nop
+80003674: 00000013 nop
+80003678: 00000013 nop
+8000367c: 00000013 nop
+80003680: 00000013 nop
+80003684: 00000013 nop
+80003688: 00000013 nop
+8000368c: 00000013 nop
+80003690: 00000013 nop
+80003694: 00000013 nop
+80003698: 00000013 nop
+8000369c: 00000013 nop
+800036a0: 00000013 nop
+800036a4: 00000013 nop
+800036a8: 00000013 nop
+800036ac: 00000013 nop
+800036b0: 00000013 nop
+800036b4: 00000013 nop
+800036b8: 00000013 nop
+800036bc: 00000013 nop
+800036c0: 00000013 nop
+800036c4: 00000013 nop
+800036c8: 00000013 nop
+800036cc: 00000013 nop
+800036d0: 00000013 nop
+800036d4: 00000013 nop
+800036d8: 00000013 nop
+800036dc: 00000013 nop
+800036e0: 00000013 nop
+800036e4: 00000013 nop
+800036e8: 00000013 nop
+800036ec: 00000013 nop
+800036f0: 00000013 nop
+800036f4: 00000013 nop
+800036f8: 00000013 nop
+800036fc: 00000013 nop
+80003700: 00000013 nop
+80003704: 00000013 nop
+80003708: 00000013 nop
+8000370c: 00000013 nop
+80003710: 00000013 nop
+80003714: 00000013 nop
+80003718: 00000013 nop
+8000371c: 00000013 nop
+80003720: 00000013 nop
+80003724: 00000013 nop
+80003728: 00000013 nop
+8000372c: 00000013 nop
+80003730: 00000013 nop
+80003734: 00000013 nop
+80003738: 00000013 nop
+8000373c: 00000013 nop
+80003740: 00000013 nop
+80003744: 00000013 nop
+80003748: 00000013 nop
+8000374c: 00000013 nop
+80003750: 00000013 nop
+80003754: 00000013 nop
+80003758: 00000013 nop
+8000375c: 00000013 nop
+80003760: 00000013 nop
+80003764: 00000013 nop
+80003768: 00000013 nop
+8000376c: 00000013 nop
+80003770: 00000013 nop
+80003774: 00000013 nop
+80003778: 00000013 nop
+8000377c: 00000013 nop
+80003780: 00000013 nop
+80003784: 00000013 nop
+80003788: 00000013 nop
+8000378c: 00000013 nop
+80003790: 00000013 nop
+80003794: 00000013 nop
+80003798: 00000013 nop
+8000379c: 00000013 nop
+800037a0: 00000013 nop
+800037a4: 00000013 nop
+800037a8: 00000013 nop
+800037ac: 00000013 nop
+800037b0: 00000013 nop
+800037b4: 00000013 nop
+800037b8: 00000013 nop
+800037bc: 00000013 nop
+800037c0: 00000013 nop
+800037c4: 00000013 nop
+800037c8: 00000013 nop
+800037cc: 00000013 nop
+800037d0: 00000013 nop
+800037d4: 00000013 nop
+800037d8: 00000013 nop
+800037dc: 00000013 nop
+800037e0: 00000013 nop
+800037e4: 00000013 nop
+800037e8: 00000013 nop
+800037ec: 00000013 nop
+800037f0: 00000013 nop
+800037f4: 00000013 nop
+800037f8: 00000013 nop
+800037fc: 00000013 nop
+80003800: 00000013 nop
+80003804: 00000013 nop
+80003808: 00000013 nop
+8000380c: 00000013 nop
+80003810: 00000013 nop
+80003814: 00000013 nop
+80003818: 00000013 nop
+8000381c: 00000013 nop
+80003820: 00000013 nop
+80003824: 00000013 nop
+80003828: 00000013 nop
+8000382c: 00000013 nop
+80003830: 00000013 nop
+80003834: 00000013 nop
+80003838: 00000013 nop
+8000383c: 00000013 nop
+80003840: 00000013 nop
+80003844: 00000013 nop
+80003848: 00000013 nop
+8000384c: 00000013 nop
+80003850: 00000013 nop
+80003854: 00000013 nop
+80003858: 00000013 nop
+8000385c: 00000013 nop
+80003860: 00000013 nop
+80003864: 00000013 nop
+80003868: 00000013 nop
+8000386c: 00000013 nop
+80003870: 00000013 nop
+80003874: 00000013 nop
+80003878: 00000013 nop
+8000387c: 00000013 nop
+80003880: 00000013 nop
+80003884: 00000013 nop
+80003888: 00000013 nop
+8000388c: 00000013 nop
+80003890: 00000013 nop
+80003894: 00000013 nop
+80003898: 00000013 nop
+8000389c: 00000013 nop
+800038a0: 00000013 nop
+800038a4: 00000013 nop
+800038a8: 00000013 nop
+800038ac: 00000013 nop
+800038b0: 00000013 nop
+800038b4: 00000013 nop
+800038b8: 00000013 nop
+800038bc: 00000013 nop
+800038c0: 00000013 nop
+800038c4: 00000013 nop
+800038c8: 00000013 nop
+800038cc: 00000013 nop
+800038d0: 00000013 nop
+800038d4: 00000013 nop
+800038d8: 00000013 nop
+800038dc: 00000013 nop
+800038e0: 00000013 nop
+800038e4: 00000013 nop
+800038e8: 00000013 nop
+800038ec: 00000013 nop
+800038f0: 00000013 nop
+800038f4: 00000013 nop
+800038f8: 00000013 nop
+800038fc: 00000013 nop
+80003900: 00000013 nop
+80003904: 00000013 nop
+80003908: 00000013 nop
+8000390c: 00000013 nop
+80003910: 00000013 nop
+80003914: 00000013 nop
+80003918: 00000013 nop
+8000391c: 00000013 nop
+80003920: 00000013 nop
+80003924: 00000013 nop
+80003928: 00000013 nop
+8000392c: 00000013 nop
+80003930: 00000013 nop
+80003934: 00000013 nop
+80003938: 00000013 nop
+8000393c: 00000013 nop
+80003940: 00000013 nop
+80003944: 00000013 nop
+80003948: 00000013 nop
+8000394c: 00000013 nop
+80003950: 00000013 nop
+80003954: 00000013 nop
+80003958: 00000013 nop
+8000395c: 00000013 nop
+80003960: 00000013 nop
+80003964: 00000013 nop
+80003968: 00000013 nop
+8000396c: 00000013 nop
+80003970: 00000013 nop
+80003974: 00000013 nop
+80003978: 00000013 nop
+8000397c: 00000013 nop
+80003980: 00000013 nop
+80003984: 00000013 nop
+80003988: 00000013 nop
+8000398c: 00000013 nop
+80003990: 00000013 nop
+80003994: 00000013 nop
+80003998: 00000013 nop
+8000399c: 00000013 nop
+800039a0: 00000013 nop
+800039a4: 00000013 nop
+800039a8: 00000013 nop
+800039ac: 00000013 nop
+800039b0: 00000013 nop
+800039b4: 00000013 nop
+800039b8: 00000013 nop
+800039bc: 00000013 nop
+800039c0: 00000013 nop
+800039c4: 00000013 nop
+800039c8: 00000013 nop
+800039cc: 00000013 nop
+800039d0: 00000013 nop
+800039d4: 00000013 nop
+800039d8: 00000013 nop
+800039dc: 00000013 nop
+800039e0: 00000013 nop
+800039e4: 00000013 nop
+800039e8: 00000013 nop
+800039ec: 00000013 nop
+800039f0: 00000013 nop
+800039f4: 00000013 nop
+800039f8: 00000013 nop
+800039fc: 00000013 nop
+80003a00: 00000013 nop
+80003a04: 00000013 nop
+80003a08: 00000013 nop
+80003a0c: 00000013 nop
+80003a10: 00000013 nop
+80003a14: 00000013 nop
+80003a18: 00000013 nop
+80003a1c: 00000013 nop
+80003a20: 00000013 nop
+80003a24: 00000013 nop
+80003a28: 00000013 nop
+80003a2c: 00000013 nop
+80003a30: 00000013 nop
+80003a34: 00000013 nop
+80003a38: 00000013 nop
+80003a3c: 00000013 nop
+80003a40: 00000013 nop
+80003a44: 00000013 nop
+80003a48: 00000013 nop
+80003a4c: 00000013 nop
+80003a50: 00000013 nop
+80003a54: 00000013 nop
+80003a58: 00000013 nop
+80003a5c: 00000013 nop
+80003a60: 00000013 nop
+80003a64: 00000013 nop
+80003a68: 00000013 nop
+80003a6c: 00000013 nop
+80003a70: 00000013 nop
+80003a74: 00000013 nop
+80003a78: 00000013 nop
+80003a7c: 00000013 nop
+80003a80: 00000013 nop
+80003a84: 00000013 nop
+80003a88: 00000013 nop
+80003a8c: 00000013 nop
+80003a90: 00000013 nop
+80003a94: 00000013 nop
+80003a98: 00000013 nop
+80003a9c: 00000013 nop
+80003aa0: 00000013 nop
+80003aa4: 00000013 nop
+80003aa8: 00000013 nop
+80003aac: 00000013 nop
+80003ab0: 00000013 nop
+80003ab4: 00000013 nop
+80003ab8: 00000013 nop
+80003abc: 00000013 nop
+80003ac0: 00000013 nop
+80003ac4: 00000013 nop
+80003ac8: 00000013 nop
+80003acc: 00000013 nop
+80003ad0: 00000013 nop
+80003ad4: 00000013 nop
+80003ad8: 00000013 nop
+80003adc: 00000013 nop
+80003ae0: 00000013 nop
+80003ae4: 00000013 nop
+80003ae8: 00000013 nop
+80003aec: 00000013 nop
+80003af0: 00000013 nop
+80003af4: 00000013 nop
+80003af8: 00000013 nop
+80003afc: 00000013 nop
+80003b00: 00000013 nop
+80003b04: 00000013 nop
+80003b08: 00000013 nop
+80003b0c: 00000013 nop
+80003b10: 00000013 nop
+80003b14: 00000013 nop
+80003b18: 00000013 nop
+80003b1c: 00000013 nop
+80003b20: 00000013 nop
+80003b24: 00000013 nop
+80003b28: 00000013 nop
+80003b2c: 00000013 nop
+80003b30: 00000013 nop
+80003b34: 00000013 nop
+80003b38: 00000013 nop
+80003b3c: 00000013 nop
+80003b40: 00000013 nop
+80003b44: 00000013 nop
+80003b48: 00000013 nop
+80003b4c: 00000013 nop
+80003b50: 00000013 nop
+80003b54: 00000013 nop
+80003b58: 00000013 nop
+80003b5c: 00000013 nop
+80003b60: 00000013 nop
+80003b64: 00000013 nop
+80003b68: 00000013 nop
+80003b6c: 00000013 nop
+80003b70: 00000013 nop
+80003b74: 00000013 nop
+80003b78: 00000013 nop
+80003b7c: 00000013 nop
+80003b80: 00000013 nop
+80003b84: 00000013 nop
+80003b88: 00000013 nop
+80003b8c: 00000013 nop
+80003b90: 00000013 nop
+80003b94: 00000013 nop
+80003b98: 00000013 nop
+80003b9c: 00000013 nop
+80003ba0: 00000013 nop
+80003ba4: 00000013 nop
+80003ba8: 00000013 nop
+80003bac: 00000013 nop
+80003bb0: 00000013 nop
+80003bb4: 00000013 nop
+80003bb8: 00000013 nop
+80003bbc: 00000013 nop
+80003bc0: 00000013 nop
+80003bc4: 00000013 nop
+80003bc8: 00000013 nop
+80003bcc: 00000013 nop
+80003bd0: 00000013 nop
+80003bd4: 00000013 nop
+80003bd8: 00000013 nop
+80003bdc: 00000013 nop
+80003be0: 00000013 nop
+80003be4: 00000013 nop
+80003be8: 00000013 nop
+80003bec: 00000013 nop
+80003bf0: 00000013 nop
+80003bf4: 00000013 nop
+80003bf8: 00000013 nop
+80003bfc: 00000013 nop
+80003c00: 00000013 nop
+80003c04: 00000013 nop
+80003c08: 00000013 nop
+80003c0c: 00000013 nop
+80003c10: 00000013 nop
+80003c14: 00000013 nop
+80003c18: 00000013 nop
+80003c1c: 00000013 nop
+80003c20: 00000013 nop
+80003c24: 00000013 nop
+80003c28: 00000013 nop
+80003c2c: 00000013 nop
+80003c30: 00000013 nop
+80003c34: 00000013 nop
+80003c38: 00000013 nop
+80003c3c: 00000013 nop
+80003c40: 00000013 nop
+80003c44: 00000013 nop
+80003c48: 00000013 nop
+80003c4c: 00000013 nop
+80003c50: 00000013 nop
+80003c54: 00000013 nop
+80003c58: 00000013 nop
+80003c5c: 00000013 nop
+80003c60: 00000013 nop
+80003c64: 00000013 nop
+80003c68: 00000013 nop
+80003c6c: 00000013 nop
+80003c70: 00000013 nop
+80003c74: 00000013 nop
+80003c78: 00000013 nop
+80003c7c: 00000013 nop
+80003c80: 00000013 nop
+80003c84: 00000013 nop
+80003c88: 00000013 nop
+80003c8c: 00000013 nop
+80003c90: 00000013 nop
+80003c94: 00000013 nop
+80003c98: 00000013 nop
+80003c9c: 00000013 nop
+80003ca0: 00000013 nop
+80003ca4: 00000013 nop
+80003ca8: 00000013 nop
+80003cac: 00000013 nop
+80003cb0: 00000013 nop
+80003cb4: 00000013 nop
+80003cb8: 00000013 nop
+80003cbc: 00000013 nop
+80003cc0: 00000013 nop
+80003cc4: 00000013 nop
+80003cc8: 00000013 nop
+80003ccc: 00000013 nop
+80003cd0: 00000013 nop
+80003cd4: 00000013 nop
+80003cd8: 00000013 nop
+80003cdc: 00000013 nop
+80003ce0: 00000013 nop
+80003ce4: 00000013 nop
+80003ce8: 00000013 nop
+80003cec: 00000013 nop
+80003cf0: 00000013 nop
+80003cf4: 00000013 nop
+80003cf8: 00000013 nop
+80003cfc: 00000013 nop
+80003d00: 00000013 nop
+80003d04: 00000013 nop
+80003d08: 00000013 nop
+80003d0c: 00000013 nop
+80003d10: 00000013 nop
+80003d14: 00000013 nop
+80003d18: 00000013 nop
+80003d1c: 00000013 nop
+80003d20: 00000013 nop
+80003d24: 00000013 nop
+80003d28: 00000013 nop
+80003d2c: 00000013 nop
+80003d30: 00000013 nop
+80003d34: 00000013 nop
+80003d38: 00000013 nop
+80003d3c: 00000013 nop
+80003d40: 00000013 nop
+80003d44: 00000013 nop
+80003d48: 00000013 nop
+80003d4c: 00000013 nop
+80003d50: 00000013 nop
+80003d54: 00000013 nop
+80003d58: 00000013 nop
+80003d5c: 00000013 nop
+80003d60: 00000013 nop
+80003d64: 00000013 nop
+80003d68: 00000013 nop
+80003d6c: 00000013 nop
+80003d70: 00000013 nop
+80003d74: 00000013 nop
+80003d78: 00000013 nop
+80003d7c: 00000013 nop
+80003d80: 00000013 nop
+80003d84: 00000013 nop
+80003d88: 00000013 nop
+80003d8c: 00000013 nop
+80003d90: 00000013 nop
+80003d94: 00000013 nop
+80003d98: 00000013 nop
+80003d9c: 00000013 nop
+80003da0: 00000013 nop
+80003da4: 00000013 nop
+80003da8: 00000013 nop
+80003dac: 00000013 nop
+80003db0: 00000013 nop
+80003db4: 00000013 nop
+80003db8: 00000013 nop
+80003dbc: 00000013 nop
+80003dc0: 00000013 nop
+80003dc4: 00000013 nop
+80003dc8: 00000013 nop
+80003dcc: 00000013 nop
+80003dd0: 00000013 nop
+80003dd4: 00000013 nop
+80003dd8: 00000013 nop
+80003ddc: 00000013 nop
+80003de0: 00000013 nop
+80003de4: 00000013 nop
+80003de8: 00000013 nop
+80003dec: 00000013 nop
+80003df0: 00000013 nop
+80003df4: 00000013 nop
+80003df8: 00000013 nop
+80003dfc: 00000013 nop
+80003e00: 00000013 nop
+80003e04: 00000013 nop
+80003e08: 00000013 nop
+80003e0c: 00000013 nop
+80003e10: 00000013 nop
+80003e14: 00000013 nop
+80003e18: 00000013 nop
+80003e1c: 00000013 nop
+80003e20: 00000013 nop
+80003e24: 00000013 nop
+80003e28: 00000013 nop
+80003e2c: 00000013 nop
+80003e30: 00000013 nop
+80003e34: 00000013 nop
+80003e38: 00000013 nop
+80003e3c: 00000013 nop
+80003e40: 00000013 nop
+80003e44: 00000013 nop
+80003e48: 00000013 nop
+80003e4c: 00000013 nop
+80003e50: 00000013 nop
+80003e54: 00000013 nop
+80003e58: 00000013 nop
+80003e5c: 00000013 nop
+80003e60: 00000013 nop
+80003e64: 00000013 nop
+80003e68: 00000013 nop
+80003e6c: 00000013 nop
+80003e70: 00000013 nop
+80003e74: 00000013 nop
+80003e78: 00000013 nop
+80003e7c: 00000013 nop
+80003e80: 00000013 nop
+80003e84: 00000013 nop
+80003e88: 00000013 nop
+80003e8c: 00000013 nop
+80003e90: 00000013 nop
+80003e94: 00000013 nop
+80003e98: 00000013 nop
+80003e9c: 00000013 nop
+80003ea0: 00000013 nop
+80003ea4: 00000013 nop
+80003ea8: 00000013 nop
+80003eac: 00000013 nop
+80003eb0: 00000013 nop
+80003eb4: 00000013 nop
+80003eb8: 00000013 nop
+80003ebc: 00000013 nop
+80003ec0: 00000013 nop
+80003ec4: 00000013 nop
+80003ec8: 00000013 nop
+80003ecc: 00000013 nop
+80003ed0: 00000013 nop
+80003ed4: 00000013 nop
+80003ed8: 00000013 nop
+80003edc: 00000013 nop
+80003ee0: 00000013 nop
+80003ee4: 00000013 nop
+80003ee8: 00000013 nop
+80003eec: 00000013 nop
+80003ef0: 00000013 nop
+80003ef4: 00000013 nop
+80003ef8: 00000013 nop
+80003efc: 00000013 nop
+80003f00: 00000013 nop
+80003f04: 00000013 nop
+80003f08: 00000013 nop
+80003f0c: 00000013 nop
+80003f10: 00000013 nop
+80003f14: 00000013 nop
+80003f18: 00000013 nop
+80003f1c: 00000013 nop
+80003f20: 00000013 nop
+80003f24: 00000013 nop
+80003f28: 00000013 nop
+80003f2c: 00000013 nop
+80003f30: 00000013 nop
+80003f34: 00000013 nop
+80003f38: 00000013 nop
+80003f3c: 00000013 nop
+80003f40: 00000013 nop
+80003f44: 00000013 nop
+80003f48: 00000013 nop
+80003f4c: 00000013 nop
+80003f50: 00000013 nop
+80003f54: 00000013 nop
+80003f58: 00000013 nop
+80003f5c: 00000013 nop
+80003f60: 00000013 nop
+80003f64: 00000013 nop
+80003f68: 00000013 nop
+80003f6c: 00000013 nop
+80003f70: 00000013 nop
+80003f74: 00000013 nop
+80003f78: 00000013 nop
+80003f7c: 00000013 nop
+80003f80: 00000013 nop
+80003f84: 00000013 nop
+80003f88: 00000013 nop
+80003f8c: 00000013 nop
+80003f90: 00000013 nop
+80003f94: 00000013 nop
+80003f98: 00000013 nop
+80003f9c: 00000013 nop
+80003fa0: 00000013 nop
+80003fa4: 00000013 nop
+80003fa8: 00000013 nop
+80003fac: 00000013 nop
+80003fb0: 00000013 nop
+80003fb4: 00000013 nop
+80003fb8: 00000013 nop
+80003fbc: 00000013 nop
+80003fc0: 00000013 nop
+80003fc4: 00000013 nop
+80003fc8: 00000013 nop
+80003fcc: 00000013 nop
+80003fd0: 00000013 nop
+80003fd4: 00000013 nop
+80003fd8: 00000013 nop
+80003fdc: 00000013 nop
+80003fe0: 00000013 nop
+80003fe4: 00000013 nop
+80003fe8: 00000013 nop
+80003fec: 00000013 nop
+80003ff0: 00000013 nop
+80003ff4: 00000013 nop
+80003ff8: 00000013 nop
+80003ffc: 00000013 nop
+
+80004000 <MMU_TABLE_3>:
+80004000: 0000 unimp
+80004002: 0000 unimp
+80004004: 00000013 nop
+80004008: 00000013 nop
+8000400c: 00000013 nop
+80004010: 00000013 nop
+80004014: 00000013 nop
+80004018: 00000013 nop
+8000401c: 00000013 nop
+80004020: 00000013 nop
+80004024: 00000013 nop
+80004028: 00000013 nop
+8000402c: 00000013 nop
+80004030: 00000013 nop
+80004034: 00000013 nop
+80004038: 00000013 nop
+8000403c: 00000013 nop
+80004040: 00000013 nop
+80004044: 00000013 nop
+80004048: 00000013 nop
+8000404c: 00000013 nop
+80004050: 00000013 nop
+80004054: 00000013 nop
+80004058: 00000013 nop
+8000405c: 00000013 nop
+80004060: 00000013 nop
+80004064: 00000013 nop
+80004068: 00000013 nop
+8000406c: 00000013 nop
+80004070: 00000013 nop
+80004074: 00000013 nop
+80004078: 00000013 nop
+8000407c: 00000013 nop
+80004080: 00000013 nop
+80004084: 00000013 nop
+80004088: 00000013 nop
+8000408c: 00000013 nop
+80004090: 00000013 nop
+80004094: 00000013 nop
+80004098: 00000013 nop
+8000409c: 00000013 nop
+800040a0: 00000013 nop
+800040a4: 00000013 nop
+800040a8: 00000013 nop
+800040ac: 00000013 nop
+800040b0: 00000013 nop
+800040b4: 00000013 nop
+800040b8: 00000013 nop
+800040bc: 00000013 nop
+800040c0: 00000013 nop
+800040c4: 00000013 nop
+800040c8: 00000013 nop
+800040cc: 00000013 nop
+800040d0: 00000013 nop
+800040d4: 00000013 nop
+800040d8: 00000013 nop
+800040dc: 00000013 nop
+800040e0: 00000013 nop
+800040e4: 00000013 nop
+800040e8: 00000013 nop
+800040ec: 00000013 nop
+800040f0: 00000013 nop
+800040f4: 00000013 nop
+800040f8: 00000013 nop
+800040fc: 00000013 nop
+80004100: 00000013 nop
+80004104: 00000013 nop
+80004108: 00000013 nop
+8000410c: 00000013 nop
+80004110: 00000013 nop
+80004114: 00000013 nop
+80004118: 00000013 nop
+8000411c: 00000013 nop
+80004120: 00000013 nop
+80004124: 00000013 nop
+80004128: 00000013 nop
+8000412c: 00000013 nop
+80004130: 00000013 nop
+80004134: 00000013 nop
+80004138: 00000013 nop
+8000413c: 00000013 nop
+80004140: 00000013 nop
+80004144: 00000013 nop
+80004148: 00000013 nop
+8000414c: 00000013 nop
+80004150: 00000013 nop
+80004154: 00000013 nop
+80004158: 00000013 nop
+8000415c: 00000013 nop
+80004160: 00000013 nop
+80004164: 00000013 nop
+80004168: 00000013 nop
+8000416c: 00000013 nop
+80004170: 00000013 nop
+80004174: 00000013 nop
+80004178: 00000013 nop
+8000417c: 00000013 nop
+80004180: 00000013 nop
+80004184: 00000013 nop
+80004188: 00000013 nop
+8000418c: 00000013 nop
+80004190: 00000013 nop
+80004194: 00000013 nop
+80004198: 00000013 nop
+8000419c: 00000013 nop
+800041a0: 00000013 nop
+800041a4: 00000013 nop
+800041a8: 00000013 nop
+800041ac: 00000013 nop
+800041b0: 00000013 nop
+800041b4: 00000013 nop
+800041b8: 00000013 nop
+800041bc: 00000013 nop
+800041c0: 00000013 nop
+800041c4: 00000013 nop
+800041c8: 00000013 nop
+800041cc: 00000013 nop
+800041d0: 00000013 nop
+800041d4: 00000013 nop
+800041d8: 00000013 nop
+800041dc: 00000013 nop
+800041e0: 00000013 nop
+800041e4: 00000013 nop
+800041e8: 00000013 nop
+800041ec: 00000013 nop
+800041f0: 00000013 nop
+800041f4: 00000013 nop
+800041f8: 00000013 nop
+800041fc: 00000013 nop
+80004200: 00000013 nop
+80004204: 00000013 nop
+80004208: 00000013 nop
+8000420c: 00000013 nop
+80004210: 00000013 nop
+80004214: 00000013 nop
+80004218: 00000013 nop
+8000421c: 00000013 nop
+80004220: 00000013 nop
+80004224: 00000013 nop
+80004228: 00000013 nop
+8000422c: 00000013 nop
+80004230: 00000013 nop
+80004234: 00000013 nop
+80004238: 00000013 nop
+8000423c: 00000013 nop
+80004240: 00000013 nop
+80004244: 00000013 nop
+80004248: 00000013 nop
+8000424c: 00000013 nop
+80004250: 00000013 nop
+80004254: 00000013 nop
+80004258: 00000013 nop
+8000425c: 00000013 nop
+80004260: 00000013 nop
+80004264: 00000013 nop
+80004268: 00000013 nop
+8000426c: 00000013 nop
+80004270: 00000013 nop
+80004274: 00000013 nop
+80004278: 00000013 nop
+8000427c: 00000013 nop
+80004280: 00000013 nop
+80004284: 00000013 nop
+80004288: 00000013 nop
+8000428c: 00000013 nop
+80004290: 00000013 nop
+80004294: 00000013 nop
+80004298: 00000013 nop
+8000429c: 00000013 nop
+800042a0: 00000013 nop
+800042a4: 00000013 nop
+800042a8: 00000013 nop
+800042ac: 00000013 nop
+800042b0: 00000013 nop
+800042b4: 00000013 nop
+800042b8: 00000013 nop
+800042bc: 00000013 nop
+800042c0: 00000013 nop
+800042c4: 00000013 nop
+800042c8: 00000013 nop
+800042cc: 00000013 nop
+800042d0: 00000013 nop
+800042d4: 00000013 nop
+800042d8: 00000013 nop
+800042dc: 00000013 nop
+800042e0: 00000013 nop
+800042e4: 00000013 nop
+800042e8: 00000013 nop
+800042ec: 00000013 nop
+800042f0: 00000013 nop
+800042f4: 00000013 nop
+800042f8: 00000013 nop
+800042fc: 00000013 nop
+80004300: 00000013 nop
+80004304: 00000013 nop
+80004308: 00000013 nop
+8000430c: 00000013 nop
+80004310: 00000013 nop
+80004314: 00000013 nop
+80004318: 00000013 nop
+8000431c: 00000013 nop
+80004320: 00000013 nop
+80004324: 00000013 nop
+80004328: 00000013 nop
+8000432c: 00000013 nop
+80004330: 00000013 nop
+80004334: 00000013 nop
+80004338: 00000013 nop
+8000433c: 00000013 nop
+80004340: 00000013 nop
+80004344: 00000013 nop
+80004348: 00000013 nop
+8000434c: 00000013 nop
+80004350: 00000013 nop
+80004354: 00000013 nop
+80004358: 00000013 nop
+8000435c: 00000013 nop
+80004360: 00000013 nop
+80004364: 00000013 nop
+80004368: 00000013 nop
+8000436c: 00000013 nop
+80004370: 00000013 nop
+80004374: 00000013 nop
+80004378: 00000013 nop
+8000437c: 00000013 nop
+80004380: 00000013 nop
+80004384: 00000013 nop
+80004388: 00000013 nop
+8000438c: 00000013 nop
+80004390: 00000013 nop
+80004394: 00000013 nop
+80004398: 00000013 nop
+8000439c: 00000013 nop
+800043a0: 00000013 nop
+800043a4: 00000013 nop
+800043a8: 00000013 nop
+800043ac: 00000013 nop
+800043b0: 00000013 nop
+800043b4: 00000013 nop
+800043b8: 00000013 nop
+800043bc: 00000013 nop
+800043c0: 00000013 nop
+800043c4: 00000013 nop
+800043c8: 00000013 nop
+800043cc: 00000013 nop
+800043d0: 00000013 nop
+800043d4: 00000013 nop
+800043d8: 00000013 nop
+800043dc: 00000013 nop
+800043e0: 00000013 nop
+800043e4: 00000013 nop
+800043e8: 00000013 nop
+800043ec: 00000013 nop
+800043f0: 00000013 nop
+800043f4: 00000013 nop
+800043f8: 00000013 nop
+800043fc: 00000013 nop
+80004400: 00000013 nop
+80004404: 00000013 nop
+80004408: 00000013 nop
+8000440c: 00000013 nop
+80004410: 00000013 nop
+80004414: 00000013 nop
+80004418: 00000013 nop
+8000441c: 00000013 nop
+80004420: 00000013 nop
+80004424: 00000013 nop
+80004428: 00000013 nop
+8000442c: 00000013 nop
+80004430: 00000013 nop
+80004434: 00000013 nop
+80004438: 00000013 nop
+8000443c: 00000013 nop
+80004440: 00000013 nop
+80004444: 00000013 nop
+80004448: 00000013 nop
+8000444c: 00000013 nop
+80004450: 00000013 nop
+80004454: 00000013 nop
+80004458: 00000013 nop
+8000445c: 00000013 nop
+80004460: 00000013 nop
+80004464: 00000013 nop
+80004468: 00000013 nop
+8000446c: 00000013 nop
+80004470: 00000013 nop
+80004474: 00000013 nop
+80004478: 00000013 nop
+8000447c: 00000013 nop
+80004480: 00000013 nop
+80004484: 00000013 nop
+80004488: 00000013 nop
+8000448c: 00000013 nop
+80004490: 00000013 nop
+80004494: 00000013 nop
+80004498: 00000013 nop
+8000449c: 00000013 nop
+800044a0: 00000013 nop
+800044a4: 00000013 nop
+800044a8: 00000013 nop
+800044ac: 00000013 nop
+800044b0: 00000013 nop
+800044b4: 00000013 nop
+800044b8: 00000013 nop
+800044bc: 00000013 nop
+800044c0: 00000013 nop
+800044c4: 00000013 nop
+800044c8: 00000013 nop
+800044cc: 00000013 nop
+800044d0: 00000013 nop
+800044d4: 00000013 nop
+800044d8: 00000013 nop
+800044dc: 00000013 nop
+800044e0: 00000013 nop
+800044e4: 00000013 nop
+800044e8: 00000013 nop
+800044ec: 00000013 nop
+800044f0: 00000013 nop
+800044f4: 00000013 nop
+800044f8: 00000013 nop
+800044fc: 00000013 nop
+80004500: 00000013 nop
+80004504: 00000013 nop
+80004508: 00000013 nop
+8000450c: 00000013 nop
+80004510: 00000013 nop
+80004514: 00000013 nop
+80004518: 00000013 nop
+8000451c: 00000013 nop
+80004520: 00000013 nop
+80004524: 00000013 nop
+80004528: 00000013 nop
+8000452c: 00000013 nop
+80004530: 00000013 nop
+80004534: 00000013 nop
+80004538: 00000013 nop
+8000453c: 00000013 nop
+80004540: 00000013 nop
+80004544: 00000013 nop
+80004548: 00000013 nop
+8000454c: 00000013 nop
+80004550: 00000013 nop
+80004554: 00000013 nop
+80004558: 00000013 nop
+8000455c: 00000013 nop
+80004560: 00000013 nop
+80004564: 00000013 nop
+80004568: 00000013 nop
+8000456c: 00000013 nop
+80004570: 00000013 nop
+80004574: 00000013 nop
+80004578: 00000013 nop
+8000457c: 00000013 nop
+80004580: 00000013 nop
+80004584: 00000013 nop
+80004588: 00000013 nop
+8000458c: 00000013 nop
+80004590: 00000013 nop
+80004594: 00000013 nop
+80004598: 00000013 nop
+8000459c: 00000013 nop
+800045a0: 00000013 nop
+800045a4: 00000013 nop
+800045a8: 00000013 nop
+800045ac: 00000013 nop
+800045b0: 00000013 nop
+800045b4: 00000013 nop
+800045b8: 00000013 nop
+800045bc: 00000013 nop
+800045c0: 00000013 nop
+800045c4: 00000013 nop
+800045c8: 00000013 nop
+800045cc: 00000013 nop
+800045d0: 00000013 nop
+800045d4: 00000013 nop
+800045d8: 00000013 nop
+800045dc: 00000013 nop
+800045e0: 00000013 nop
+800045e4: 00000013 nop
+800045e8: 00000013 nop
+800045ec: 00000013 nop
+800045f0: 00000013 nop
+800045f4: 00000013 nop
+800045f8: 00000013 nop
+800045fc: 00000013 nop
+80004600: 00000013 nop
+80004604: 00000013 nop
+80004608: 00000013 nop
+8000460c: 00000013 nop
+80004610: 00000013 nop
+80004614: 00000013 nop
+80004618: 00000013 nop
+8000461c: 00000013 nop
+80004620: 00000013 nop
+80004624: 00000013 nop
+80004628: 00000013 nop
+8000462c: 00000013 nop
+80004630: 00000013 nop
+80004634: 00000013 nop
+80004638: 00000013 nop
+8000463c: 00000013 nop
+80004640: 00000013 nop
+80004644: 00000013 nop
+80004648: 00000013 nop
+8000464c: 00000013 nop
+80004650: 00000013 nop
+80004654: 00000013 nop
+80004658: 00000013 nop
+8000465c: 00000013 nop
+80004660: 00000013 nop
+80004664: 00000013 nop
+80004668: 00000013 nop
+8000466c: 00000013 nop
+80004670: 00000013 nop
+80004674: 00000013 nop
+80004678: 00000013 nop
+8000467c: 00000013 nop
+80004680: 00000013 nop
+80004684: 00000013 nop
+80004688: 00000013 nop
+8000468c: 00000013 nop
+80004690: 00000013 nop
+80004694: 00000013 nop
+80004698: 00000013 nop
+8000469c: 00000013 nop
+800046a0: 00000013 nop
+800046a4: 00000013 nop
+800046a8: 00000013 nop
+800046ac: 00000013 nop
+800046b0: 00000013 nop
+800046b4: 00000013 nop
+800046b8: 00000013 nop
+800046bc: 00000013 nop
+800046c0: 00000013 nop
+800046c4: 00000013 nop
+800046c8: 00000013 nop
+800046cc: 00000013 nop
+800046d0: 00000013 nop
+800046d4: 00000013 nop
+800046d8: 00000013 nop
+800046dc: 00000013 nop
+800046e0: 00000013 nop
+800046e4: 00000013 nop
+800046e8: 00000013 nop
+800046ec: 00000013 nop
+800046f0: 00000013 nop
+800046f4: 00000013 nop
+800046f8: 00000013 nop
+800046fc: 00000013 nop
+80004700: 00000013 nop
+80004704: 00000013 nop
+80004708: 00000013 nop
+8000470c: 00000013 nop
+80004710: 00000013 nop
+80004714: 00000013 nop
+80004718: 00000013 nop
+8000471c: 00000013 nop
+80004720: 00000013 nop
+80004724: 00000013 nop
+80004728: 00000013 nop
+8000472c: 00000013 nop
+80004730: 00000013 nop
+80004734: 00000013 nop
+80004738: 00000013 nop
+8000473c: 00000013 nop
+80004740: 00000013 nop
+80004744: 00000013 nop
+80004748: 00000013 nop
+8000474c: 00000013 nop
+80004750: 00000013 nop
+80004754: 00000013 nop
+80004758: 00000013 nop
+8000475c: 00000013 nop
+80004760: 00000013 nop
+80004764: 00000013 nop
+80004768: 00000013 nop
+8000476c: 00000013 nop
+80004770: 00000013 nop
+80004774: 00000013 nop
+80004778: 00000013 nop
+8000477c: 00000013 nop
+80004780: 00000013 nop
+80004784: 00000013 nop
+80004788: 00000013 nop
+8000478c: 00000013 nop
+80004790: 00000013 nop
+80004794: 00000013 nop
+80004798: 00000013 nop
+8000479c: 00000013 nop
+800047a0: 00000013 nop
+800047a4: 00000013 nop
+800047a8: 00000013 nop
+800047ac: 00000013 nop
+800047b0: 00000013 nop
+800047b4: 00000013 nop
+800047b8: 00000013 nop
+800047bc: 00000013 nop
+800047c0: 00000013 nop
+800047c4: 00000013 nop
+800047c8: 00000013 nop
+800047cc: 00000013 nop
+800047d0: 00000013 nop
+800047d4: 00000013 nop
+800047d8: 00000013 nop
+800047dc: 00000013 nop
+800047e0: 00000013 nop
+800047e4: 00000013 nop
+800047e8: 00000013 nop
+800047ec: 00000013 nop
+800047f0: 00000013 nop
+800047f4: 00000013 nop
+800047f8: 00000013 nop
+800047fc: 00000013 nop
+80004800: 00000013 nop
+80004804: 00000013 nop
+80004808: 00000013 nop
+8000480c: 00000013 nop
+80004810: 00000013 nop
+80004814: 00000013 nop
+80004818: 00000013 nop
+8000481c: 00000013 nop
+80004820: 00000013 nop
+80004824: 00000013 nop
+80004828: 00000013 nop
+8000482c: 00000013 nop
+80004830: 00000013 nop
+80004834: 00000013 nop
+80004838: 00000013 nop
+8000483c: 00000013 nop
+80004840: 00000013 nop
+80004844: 00000013 nop
+80004848: 00000013 nop
+8000484c: 00000013 nop
+80004850: 00000013 nop
+80004854: 00000013 nop
+80004858: 00000013 nop
+8000485c: 00000013 nop
+80004860: 00000013 nop
+80004864: 00000013 nop
+80004868: 00000013 nop
+8000486c: 00000013 nop
+80004870: 00000013 nop
+80004874: 00000013 nop
+80004878: 00000013 nop
+8000487c: 00000013 nop
+80004880: 00000013 nop
+80004884: 00000013 nop
+80004888: 00000013 nop
+8000488c: 00000013 nop
+80004890: 00000013 nop
+80004894: 00000013 nop
+80004898: 00000013 nop
+8000489c: 00000013 nop
+800048a0: 00000013 nop
+800048a4: 00000013 nop
+800048a8: 00000013 nop
+800048ac: 00000013 nop
+800048b0: 00000013 nop
+800048b4: 00000013 nop
+800048b8: 00000013 nop
+800048bc: 00000013 nop
+800048c0: 00000013 nop
+800048c4: 00000013 nop
+800048c8: 00000013 nop
+800048cc: 00000013 nop
+800048d0: 00000013 nop
+800048d4: 00000013 nop
+800048d8: 00000013 nop
+800048dc: 00000013 nop
+800048e0: 00000013 nop
+800048e4: 00000013 nop
+800048e8: 00000013 nop
+800048ec: 00000013 nop
+800048f0: 00000013 nop
+800048f4: 00000013 nop
+800048f8: 00000013 nop
+800048fc: 00000013 nop
+80004900: 00000013 nop
+80004904: 00000013 nop
+80004908: 00000013 nop
+8000490c: 00000013 nop
+80004910: 00000013 nop
+80004914: 00000013 nop
+80004918: 00000013 nop
+8000491c: 00000013 nop
+80004920: 00000013 nop
+80004924: 00000013 nop
+80004928: 00000013 nop
+8000492c: 00000013 nop
+80004930: 00000013 nop
+80004934: 00000013 nop
+80004938: 00000013 nop
+8000493c: 00000013 nop
+80004940: 00000013 nop
+80004944: 00000013 nop
+80004948: 00000013 nop
+8000494c: 00000013 nop
+80004950: 00000013 nop
+80004954: 00000013 nop
+80004958: 00000013 nop
+8000495c: 00000013 nop
+80004960: 00000013 nop
+80004964: 00000013 nop
+80004968: 00000013 nop
+8000496c: 00000013 nop
+80004970: 00000013 nop
+80004974: 00000013 nop
+80004978: 00000013 nop
+8000497c: 00000013 nop
+80004980: 00000013 nop
+80004984: 00000013 nop
+80004988: 00000013 nop
+8000498c: 00000013 nop
+80004990: 00000013 nop
+80004994: 00000013 nop
+80004998: 00000013 nop
+8000499c: 00000013 nop
+800049a0: 00000013 nop
+800049a4: 00000013 nop
+800049a8: 00000013 nop
+800049ac: 00000013 nop
+800049b0: 00000013 nop
+800049b4: 00000013 nop
+800049b8: 00000013 nop
+800049bc: 00000013 nop
+800049c0: 00000013 nop
+800049c4: 00000013 nop
+800049c8: 00000013 nop
+800049cc: 00000013 nop
+800049d0: 00000013 nop
+800049d4: 00000013 nop
+800049d8: 00000013 nop
+800049dc: 00000013 nop
+800049e0: 00000013 nop
+800049e4: 00000013 nop
+800049e8: 00000013 nop
+800049ec: 00000013 nop
+800049f0: 00000013 nop
+800049f4: 00000013 nop
+800049f8: 00000013 nop
+800049fc: 00000013 nop
+80004a00: 00000013 nop
+80004a04: 00000013 nop
+80004a08: 00000013 nop
+80004a0c: 00000013 nop
+80004a10: 00000013 nop
+80004a14: 00000013 nop
+80004a18: 00000013 nop
+80004a1c: 00000013 nop
+80004a20: 00000013 nop
+80004a24: 00000013 nop
+80004a28: 00000013 nop
+80004a2c: 00000013 nop
+80004a30: 00000013 nop
+80004a34: 00000013 nop
+80004a38: 00000013 nop
+80004a3c: 00000013 nop
+80004a40: 00000013 nop
+80004a44: 00000013 nop
+80004a48: 00000013 nop
+80004a4c: 00000013 nop
+80004a50: 00000013 nop
+80004a54: 00000013 nop
+80004a58: 00000013 nop
+80004a5c: 00000013 nop
+80004a60: 00000013 nop
+80004a64: 00000013 nop
+80004a68: 00000013 nop
+80004a6c: 00000013 nop
+80004a70: 00000013 nop
+80004a74: 00000013 nop
+80004a78: 00000013 nop
+80004a7c: 00000013 nop
+80004a80: 00000013 nop
+80004a84: 00000013 nop
+80004a88: 00000013 nop
+80004a8c: 00000013 nop
+80004a90: 00000013 nop
+80004a94: 00000013 nop
+80004a98: 00000013 nop
+80004a9c: 00000013 nop
+80004aa0: 00000013 nop
+80004aa4: 00000013 nop
+80004aa8: 00000013 nop
+80004aac: 00000013 nop
+80004ab0: 00000013 nop
+80004ab4: 00000013 nop
+80004ab8: 00000013 nop
+80004abc: 00000013 nop
+80004ac0: 00000013 nop
+80004ac4: 00000013 nop
+80004ac8: 00000013 nop
+80004acc: 00000013 nop
+80004ad0: 00000013 nop
+80004ad4: 00000013 nop
+80004ad8: 00000013 nop
+80004adc: 00000013 nop
+80004ae0: 00000013 nop
+80004ae4: 00000013 nop
+80004ae8: 00000013 nop
+80004aec: 00000013 nop
+80004af0: 00000013 nop
+80004af4: 00000013 nop
+80004af8: 00000013 nop
+80004afc: 00000013 nop
+80004b00: 00000013 nop
+80004b04: 00000013 nop
+80004b08: 00000013 nop
+80004b0c: 00000013 nop
+80004b10: 00000013 nop
+80004b14: 00000013 nop
+80004b18: 00000013 nop
+80004b1c: 00000013 nop
+80004b20: 00000013 nop
+80004b24: 00000013 nop
+80004b28: 00000013 nop
+80004b2c: 00000013 nop
+80004b30: 00000013 nop
+80004b34: 00000013 nop
+80004b38: 00000013 nop
+80004b3c: 00000013 nop
+80004b40: 00000013 nop
+80004b44: 00000013 nop
+80004b48: 00000013 nop
+80004b4c: 00000013 nop
+80004b50: 00000013 nop
+80004b54: 00000013 nop
+80004b58: 00000013 nop
+80004b5c: 00000013 nop
+80004b60: 00000013 nop
+80004b64: 00000013 nop
+80004b68: 00000013 nop
+80004b6c: 00000013 nop
+80004b70: 00000013 nop
+80004b74: 00000013 nop
+80004b78: 00000013 nop
+80004b7c: 00000013 nop
+80004b80: 00000013 nop
+80004b84: 00000013 nop
+80004b88: 00000013 nop
+80004b8c: 00000013 nop
+80004b90: 00000013 nop
+80004b94: 00000013 nop
+80004b98: 00000013 nop
+80004b9c: 00000013 nop
+80004ba0: 00000013 nop
+80004ba4: 00000013 nop
+80004ba8: 00000013 nop
+80004bac: 00000013 nop
+80004bb0: 00000013 nop
+80004bb4: 00000013 nop
+80004bb8: 00000013 nop
+80004bbc: 00000013 nop
+80004bc0: 00000013 nop
+80004bc4: 00000013 nop
+80004bc8: 00000013 nop
+80004bcc: 00000013 nop
+80004bd0: 00000013 nop
+80004bd4: 00000013 nop
+80004bd8: 00000013 nop
+80004bdc: 00000013 nop
+80004be0: 00000013 nop
+80004be4: 00000013 nop
+80004be8: 00000013 nop
+80004bec: 00000013 nop
+80004bf0: 00000013 nop
+80004bf4: 00000013 nop
+80004bf8: 00000013 nop
+80004bfc: 00000013 nop
+80004c00: 00000013 nop
+80004c04: 00000013 nop
+80004c08: 00000013 nop
+80004c0c: 00000013 nop
+80004c10: 00000013 nop
+80004c14: 00000013 nop
+80004c18: 00000013 nop
+80004c1c: 00000013 nop
+80004c20: 00000013 nop
+80004c24: 00000013 nop
+80004c28: 00000013 nop
+80004c2c: 00000013 nop
+80004c30: 00000013 nop
+80004c34: 00000013 nop
+80004c38: 00000013 nop
+80004c3c: 00000013 nop
+80004c40: 00000013 nop
+80004c44: 00000013 nop
+80004c48: 00000013 nop
+80004c4c: 00000013 nop
+80004c50: 00000013 nop
+80004c54: 00000013 nop
+80004c58: 00000013 nop
+80004c5c: 00000013 nop
+80004c60: 00000013 nop
+80004c64: 00000013 nop
+80004c68: 00000013 nop
+80004c6c: 00000013 nop
+80004c70: 00000013 nop
+80004c74: 00000013 nop
+80004c78: 00000013 nop
+80004c7c: 00000013 nop
+80004c80: 00000013 nop
+80004c84: 00000013 nop
+80004c88: 00000013 nop
+80004c8c: 00000013 nop
+80004c90: 00000013 nop
+80004c94: 00000013 nop
+80004c98: 00000013 nop
+80004c9c: 00000013 nop
+80004ca0: 00000013 nop
+80004ca4: 00000013 nop
+80004ca8: 00000013 nop
+80004cac: 00000013 nop
+80004cb0: 00000013 nop
+80004cb4: 00000013 nop
+80004cb8: 00000013 nop
+80004cbc: 00000013 nop
+80004cc0: 00000013 nop
+80004cc4: 00000013 nop
+80004cc8: 00000013 nop
+80004ccc: 00000013 nop
+80004cd0: 00000013 nop
+80004cd4: 00000013 nop
+80004cd8: 00000013 nop
+80004cdc: 00000013 nop
+80004ce0: 00000013 nop
+80004ce4: 00000013 nop
+80004ce8: 00000013 nop
+80004cec: 00000013 nop
+80004cf0: 00000013 nop
+80004cf4: 00000013 nop
+80004cf8: 00000013 nop
+80004cfc: 00000013 nop
+80004d00: 00000013 nop
+80004d04: 00000013 nop
+80004d08: 00000013 nop
+80004d0c: 00000013 nop
+80004d10: 00000013 nop
+80004d14: 00000013 nop
+80004d18: 00000013 nop
+80004d1c: 00000013 nop
+80004d20: 00000013 nop
+80004d24: 00000013 nop
+80004d28: 00000013 nop
+80004d2c: 00000013 nop
+80004d30: 00000013 nop
+80004d34: 00000013 nop
+80004d38: 00000013 nop
+80004d3c: 00000013 nop
+80004d40: 00000013 nop
+80004d44: 00000013 nop
+80004d48: 00000013 nop
+80004d4c: 00000013 nop
+80004d50: 00000013 nop
+80004d54: 00000013 nop
+80004d58: 00000013 nop
+80004d5c: 00000013 nop
+80004d60: 00000013 nop
+80004d64: 00000013 nop
+80004d68: 00000013 nop
+80004d6c: 00000013 nop
+80004d70: 00000013 nop
+80004d74: 00000013 nop
+80004d78: 00000013 nop
+80004d7c: 00000013 nop
+80004d80: 00000013 nop
+80004d84: 00000013 nop
+80004d88: 00000013 nop
+80004d8c: 00000013 nop
+80004d90: 00000013 nop
+80004d94: 00000013 nop
+80004d98: 00000013 nop
+80004d9c: 00000013 nop
+80004da0: 00000013 nop
+80004da4: 00000013 nop
+80004da8: 00000013 nop
+80004dac: 00000013 nop
+80004db0: 00000013 nop
+80004db4: 00000013 nop
+80004db8: 00000013 nop
+80004dbc: 00000013 nop
+80004dc0: 00000013 nop
+80004dc4: 00000013 nop
+80004dc8: 00000013 nop
+80004dcc: 00000013 nop
+80004dd0: 00000013 nop
+80004dd4: 00000013 nop
+80004dd8: 00000013 nop
+80004ddc: 00000013 nop
+80004de0: 00000013 nop
+80004de4: 00000013 nop
+80004de8: 00000013 nop
+80004dec: 00000013 nop
+80004df0: 00000013 nop
+80004df4: 00000013 nop
+80004df8: 00000013 nop
+80004dfc: 00000013 nop
+80004e00: 00000013 nop
+80004e04: 00000013 nop
+80004e08: 00000013 nop
+80004e0c: 00000013 nop
+80004e10: 00000013 nop
+80004e14: 00000013 nop
+80004e18: 00000013 nop
+80004e1c: 00000013 nop
+80004e20: 00000013 nop
+80004e24: 00000013 nop
+80004e28: 00000013 nop
+80004e2c: 00000013 nop
+80004e30: 00000013 nop
+80004e34: 00000013 nop
+80004e38: 00000013 nop
+80004e3c: 00000013 nop
+80004e40: 00000013 nop
+80004e44: 00000013 nop
+80004e48: 00000013 nop
+80004e4c: 00000013 nop
+80004e50: 00000013 nop
+80004e54: 00000013 nop
+80004e58: 00000013 nop
+80004e5c: 00000013 nop
+80004e60: 00000013 nop
+80004e64: 00000013 nop
+80004e68: 00000013 nop
+80004e6c: 00000013 nop
+80004e70: 00000013 nop
+80004e74: 00000013 nop
+80004e78: 00000013 nop
+80004e7c: 00000013 nop
+80004e80: 00000013 nop
+80004e84: 00000013 nop
+80004e88: 00000013 nop
+80004e8c: 00000013 nop
+80004e90: 00000013 nop
+80004e94: 00000013 nop
+80004e98: 00000013 nop
+80004e9c: 00000013 nop
+80004ea0: 00000013 nop
+80004ea4: 00000013 nop
+80004ea8: 00000013 nop
+80004eac: 00000013 nop
+80004eb0: 00000013 nop
+80004eb4: 00000013 nop
+80004eb8: 00000013 nop
+80004ebc: 00000013 nop
+80004ec0: 00000013 nop
+80004ec4: 00000013 nop
+80004ec8: 00000013 nop
+80004ecc: 00000013 nop
+80004ed0: 00000013 nop
+80004ed4: 00000013 nop
+80004ed8: 00000013 nop
+80004edc: 00000013 nop
+80004ee0: 00000013 nop
+80004ee4: 00000013 nop
+80004ee8: 00000013 nop
+80004eec: 00000013 nop
+80004ef0: 00000013 nop
+80004ef4: 00000013 nop
+80004ef8: 00000013 nop
+80004efc: 00000013 nop
+80004f00: 00000013 nop
+80004f04: 00000013 nop
+80004f08: 00000013 nop
+80004f0c: 00000013 nop
+80004f10: 00000013 nop
+80004f14: 00000013 nop
+80004f18: 00000013 nop
+80004f1c: 00000013 nop
+80004f20: 00000013 nop
+80004f24: 00000013 nop
+80004f28: 00000013 nop
+80004f2c: 00000013 nop
+80004f30: 00000013 nop
+80004f34: 00000013 nop
+80004f38: 00000013 nop
+80004f3c: 00000013 nop
+80004f40: 00000013 nop
+80004f44: 00000013 nop
+80004f48: 00000013 nop
+80004f4c: 00000013 nop
+80004f50: 00000013 nop
+80004f54: 00000013 nop
+80004f58: 00000013 nop
+80004f5c: 00000013 nop
+80004f60: 00000013 nop
+80004f64: 00000013 nop
+80004f68: 00000013 nop
+80004f6c: 00000013 nop
+80004f70: 00000013 nop
+80004f74: 00000013 nop
+80004f78: 00000013 nop
+80004f7c: 00000013 nop
+80004f80: 00000013 nop
+80004f84: 00000013 nop
+80004f88: 00000013 nop
+80004f8c: 00000013 nop
+80004f90: 00000013 nop
+80004f94: 00000013 nop
+80004f98: 00000013 nop
+80004f9c: 00000013 nop
+80004fa0: 00000013 nop
+80004fa4: 00000013 nop
+80004fa8: 00000013 nop
+80004fac: 00000013 nop
+80004fb0: 00000013 nop
+80004fb4: 00000013 nop
+80004fb8: 00000013 nop
+80004fbc: 00000013 nop
+80004fc0: 00000013 nop
+80004fc4: 00000013 nop
+80004fc8: 00000013 nop
+80004fcc: 00000013 nop
+80004fd0: 00000013 nop
+80004fd4: 00000013 nop
+80004fd8: 00000013 nop
+80004fdc: 00000013 nop
+80004fe0: 00000013 nop
+80004fe4: 00000013 nop
+80004fe8: 00000013 nop
+80004fec: 00000013 nop
+80004ff0: 00000013 nop
+80004ff4: 00000013 nop
+80004ff8: 00000013 nop
+80004ffc: 00000013 nop
+
+80005000 <ROM_0>:
+80005000: 0100 addi s0,sp,128
+80005002: 0302 slli t1,t1,0x0
+80005004: 0504 addi s1,sp,640
+80005006: 0706 slli a4,a4,0x1
+80005008: 0908 addi a0,sp,144
+8000500a: 0b0a slli s6,s6,0x2
+8000500c: 0d0c addi a1,sp,656
+8000500e: 0f0e slli t5,t5,0x3
+80005010: 00000013 nop
+80005014: 00000013 nop
+80005018: 00000013 nop
+8000501c: 00000013 nop
+80005020: 00000013 nop
+80005024: 00000013 nop
+80005028: 00000013 nop
+8000502c: 00000013 nop
+80005030: 00000013 nop
+80005034: 00000013 nop
+80005038: 00000013 nop
+8000503c: 00000013 nop
+80005040: 00000013 nop
+80005044: 00000013 nop
+80005048: 00000013 nop
+8000504c: 00000013 nop
+80005050: 00000013 nop
+80005054: 00000013 nop
+80005058: 00000013 nop
+8000505c: 00000013 nop
+80005060: 00000013 nop
+80005064: 00000013 nop
+80005068: 00000013 nop
+8000506c: 00000013 nop
+80005070: 00000013 nop
+80005074: 00000013 nop
+80005078: 00000013 nop
+8000507c: 00000013 nop
+80005080: 00000013 nop
+80005084: 00000013 nop
+80005088: 00000013 nop
+8000508c: 00000013 nop
+80005090: 00000013 nop
+80005094: 00000013 nop
+80005098: 00000013 nop
+8000509c: 00000013 nop
+800050a0: 00000013 nop
+800050a4: 00000013 nop
+800050a8: 00000013 nop
+800050ac: 00000013 nop
+800050b0: 00000013 nop
+800050b4: 00000013 nop
+800050b8: 00000013 nop
+800050bc: 00000013 nop
+800050c0: 00000013 nop
+800050c4: 00000013 nop
+800050c8: 00000013 nop
+800050cc: 00000013 nop
+800050d0: 00000013 nop
+800050d4: 00000013 nop
+800050d8: 00000013 nop
+800050dc: 00000013 nop
+800050e0: 00000013 nop
+800050e4: 00000013 nop
+800050e8: 00000013 nop
+800050ec: 00000013 nop
+800050f0: 00000013 nop
+800050f4: 00000013 nop
+800050f8: 00000013 nop
+800050fc: 00000013 nop
+80005100: 00000013 nop
+80005104: 00000013 nop
+80005108: 00000013 nop
+8000510c: 00000013 nop
+80005110: 00000013 nop
+80005114: 00000013 nop
+80005118: 00000013 nop
+8000511c: 00000013 nop
+80005120: 00000013 nop
+80005124: 00000013 nop
+80005128: 00000013 nop
+8000512c: 00000013 nop
+80005130: 00000013 nop
+80005134: 00000013 nop
+80005138: 00000013 nop
+8000513c: 00000013 nop
+80005140: 00000013 nop
+80005144: 00000013 nop
+80005148: 00000013 nop
+8000514c: 00000013 nop
+80005150: 00000013 nop
+80005154: 00000013 nop
+80005158: 00000013 nop
+8000515c: 00000013 nop
+80005160: 00000013 nop
+80005164: 00000013 nop
+80005168: 00000013 nop
+8000516c: 00000013 nop
+80005170: 00000013 nop
+80005174: 00000013 nop
+80005178: 00000013 nop
+8000517c: 00000013 nop
+80005180: 00000013 nop
+80005184: 00000013 nop
+80005188: 00000013 nop
+8000518c: 00000013 nop
+80005190: 00000013 nop
+80005194: 00000013 nop
+80005198: 00000013 nop
+8000519c: 00000013 nop
+800051a0: 00000013 nop
+800051a4: 00000013 nop
+800051a8: 00000013 nop
+800051ac: 00000013 nop
+800051b0: 00000013 nop
+800051b4: 00000013 nop
+800051b8: 00000013 nop
+800051bc: 00000013 nop
+800051c0: 00000013 nop
+800051c4: 00000013 nop
+800051c8: 00000013 nop
+800051cc: 00000013 nop
+800051d0: 00000013 nop
+800051d4: 00000013 nop
+800051d8: 00000013 nop
+800051dc: 00000013 nop
+800051e0: 00000013 nop
+800051e4: 00000013 nop
+800051e8: 00000013 nop
+800051ec: 00000013 nop
+800051f0: 00000013 nop
+800051f4: 00000013 nop
+800051f8: 00000013 nop
+800051fc: 00000013 nop
+80005200: 00000013 nop
+80005204: 00000013 nop
+80005208: 00000013 nop
+8000520c: 00000013 nop
+80005210: 00000013 nop
+80005214: 00000013 nop
+80005218: 00000013 nop
+8000521c: 00000013 nop
+80005220: 00000013 nop
+80005224: 00000013 nop
+80005228: 00000013 nop
+8000522c: 00000013 nop
+80005230: 00000013 nop
+80005234: 00000013 nop
+80005238: 00000013 nop
+8000523c: 00000013 nop
+80005240: 00000013 nop
+80005244: 00000013 nop
+80005248: 00000013 nop
+8000524c: 00000013 nop
+80005250: 00000013 nop
+80005254: 00000013 nop
+80005258: 00000013 nop
+8000525c: 00000013 nop
+80005260: 00000013 nop
+80005264: 00000013 nop
+80005268: 00000013 nop
+8000526c: 00000013 nop
+80005270: 00000013 nop
+80005274: 00000013 nop
+80005278: 00000013 nop
+8000527c: 00000013 nop
+80005280: 00000013 nop
+80005284: 00000013 nop
+80005288: 00000013 nop
+8000528c: 00000013 nop
+80005290: 00000013 nop
+80005294: 00000013 nop
+80005298: 00000013 nop
+8000529c: 00000013 nop
+800052a0: 00000013 nop
+800052a4: 00000013 nop
+800052a8: 00000013 nop
+800052ac: 00000013 nop
+800052b0: 00000013 nop
+800052b4: 00000013 nop
+800052b8: 00000013 nop
+800052bc: 00000013 nop
+800052c0: 00000013 nop
+800052c4: 00000013 nop
+800052c8: 00000013 nop
+800052cc: 00000013 nop
+800052d0: 00000013 nop
+800052d4: 00000013 nop
+800052d8: 00000013 nop
+800052dc: 00000013 nop
+800052e0: 00000013 nop
+800052e4: 00000013 nop
+800052e8: 00000013 nop
+800052ec: 00000013 nop
+800052f0: 00000013 nop
+800052f4: 00000013 nop
+800052f8: 00000013 nop
+800052fc: 00000013 nop
+80005300: 00000013 nop
+80005304: 00000013 nop
+80005308: 00000013 nop
+8000530c: 00000013 nop
+80005310: 00000013 nop
+80005314: 00000013 nop
+80005318: 00000013 nop
+8000531c: 00000013 nop
+80005320: 00000013 nop
+80005324: 00000013 nop
+80005328: 00000013 nop
+8000532c: 00000013 nop
+80005330: 00000013 nop
+80005334: 00000013 nop
+80005338: 00000013 nop
+8000533c: 00000013 nop
+80005340: 00000013 nop
+80005344: 00000013 nop
+80005348: 00000013 nop
+8000534c: 00000013 nop
+80005350: 00000013 nop
+80005354: 00000013 nop
+80005358: 00000013 nop
+8000535c: 00000013 nop
+80005360: 00000013 nop
+80005364: 00000013 nop
+80005368: 00000013 nop
+8000536c: 00000013 nop
+80005370: 00000013 nop
+80005374: 00000013 nop
+80005378: 00000013 nop
+8000537c: 00000013 nop
+80005380: 00000013 nop
+80005384: 00000013 nop
+80005388: 00000013 nop
+8000538c: 00000013 nop
+80005390: 00000013 nop
+80005394: 00000013 nop
+80005398: 00000013 nop
+8000539c: 00000013 nop
+800053a0: 00000013 nop
+800053a4: 00000013 nop
+800053a8: 00000013 nop
+800053ac: 00000013 nop
+800053b0: 00000013 nop
+800053b4: 00000013 nop
+800053b8: 00000013 nop
+800053bc: 00000013 nop
+800053c0: 00000013 nop
+800053c4: 00000013 nop
+800053c8: 00000013 nop
+800053cc: 00000013 nop
+800053d0: 00000013 nop
+800053d4: 00000013 nop
+800053d8: 00000013 nop
+800053dc: 00000013 nop
+800053e0: 00000013 nop
+800053e4: 00000013 nop
+800053e8: 00000013 nop
+800053ec: 00000013 nop
+800053f0: 00000013 nop
+800053f4: 00000013 nop
+800053f8: 00000013 nop
+800053fc: 00000013 nop
+80005400: 00000013 nop
+80005404: 00000013 nop
+80005408: 00000013 nop
+8000540c: 00000013 nop
+80005410: 00000013 nop
+80005414: 00000013 nop
+80005418: 00000013 nop
+8000541c: 00000013 nop
+80005420: 00000013 nop
+80005424: 00000013 nop
+80005428: 00000013 nop
+8000542c: 00000013 nop
+80005430: 00000013 nop
+80005434: 00000013 nop
+80005438: 00000013 nop
+8000543c: 00000013 nop
+80005440: 00000013 nop
+80005444: 00000013 nop
+80005448: 00000013 nop
+8000544c: 00000013 nop
+80005450: 00000013 nop
+80005454: 00000013 nop
+80005458: 00000013 nop
+8000545c: 00000013 nop
+80005460: 00000013 nop
+80005464: 00000013 nop
+80005468: 00000013 nop
+8000546c: 00000013 nop
+80005470: 00000013 nop
+80005474: 00000013 nop
+80005478: 00000013 nop
+8000547c: 00000013 nop
+80005480: 00000013 nop
+80005484: 00000013 nop
+80005488: 00000013 nop
+8000548c: 00000013 nop
+80005490: 00000013 nop
+80005494: 00000013 nop
+80005498: 00000013 nop
+8000549c: 00000013 nop
+800054a0: 00000013 nop
+800054a4: 00000013 nop
+800054a8: 00000013 nop
+800054ac: 00000013 nop
+800054b0: 00000013 nop
+800054b4: 00000013 nop
+800054b8: 00000013 nop
+800054bc: 00000013 nop
+800054c0: 00000013 nop
+800054c4: 00000013 nop
+800054c8: 00000013 nop
+800054cc: 00000013 nop
+800054d0: 00000013 nop
+800054d4: 00000013 nop
+800054d8: 00000013 nop
+800054dc: 00000013 nop
+800054e0: 00000013 nop
+800054e4: 00000013 nop
+800054e8: 00000013 nop
+800054ec: 00000013 nop
+800054f0: 00000013 nop
+800054f4: 00000013 nop
+800054f8: 00000013 nop
+800054fc: 00000013 nop
+80005500: 00000013 nop
+80005504: 00000013 nop
+80005508: 00000013 nop
+8000550c: 00000013 nop
+80005510: 00000013 nop
+80005514: 00000013 nop
+80005518: 00000013 nop
+8000551c: 00000013 nop
+80005520: 00000013 nop
+80005524: 00000013 nop
+80005528: 00000013 nop
+8000552c: 00000013 nop
+80005530: 00000013 nop
+80005534: 00000013 nop
+80005538: 00000013 nop
+8000553c: 00000013 nop
+80005540: 00000013 nop
+80005544: 00000013 nop
+80005548: 00000013 nop
+8000554c: 00000013 nop
+80005550: 00000013 nop
+80005554: 00000013 nop
+80005558: 00000013 nop
+8000555c: 00000013 nop
+80005560: 00000013 nop
+80005564: 00000013 nop
+80005568: 00000013 nop
+8000556c: 00000013 nop
+80005570: 00000013 nop
+80005574: 00000013 nop
+80005578: 00000013 nop
+8000557c: 00000013 nop
+80005580: 00000013 nop
+80005584: 00000013 nop
+80005588: 00000013 nop
+8000558c: 00000013 nop
+80005590: 00000013 nop
+80005594: 00000013 nop
+80005598: 00000013 nop
+8000559c: 00000013 nop
+800055a0: 00000013 nop
+800055a4: 00000013 nop
+800055a8: 00000013 nop
+800055ac: 00000013 nop
+800055b0: 00000013 nop
+800055b4: 00000013 nop
+800055b8: 00000013 nop
+800055bc: 00000013 nop
+800055c0: 00000013 nop
+800055c4: 00000013 nop
+800055c8: 00000013 nop
+800055cc: 00000013 nop
+800055d0: 00000013 nop
+800055d4: 00000013 nop
+800055d8: 00000013 nop
+800055dc: 00000013 nop
+800055e0: 00000013 nop
+800055e4: 00000013 nop
+800055e8: 00000013 nop
+800055ec: 00000013 nop
+800055f0: 00000013 nop
+800055f4: 00000013 nop
+800055f8: 00000013 nop
+800055fc: 00000013 nop
+80005600: 00000013 nop
+80005604: 00000013 nop
+80005608: 00000013 nop
+8000560c: 00000013 nop
+80005610: 00000013 nop
+80005614: 00000013 nop
+80005618: 00000013 nop
+8000561c: 00000013 nop
+80005620: 00000013 nop
+80005624: 00000013 nop
+80005628: 00000013 nop
+8000562c: 00000013 nop
+80005630: 00000013 nop
+80005634: 00000013 nop
+80005638: 00000013 nop
+8000563c: 00000013 nop
+80005640: 00000013 nop
+80005644: 00000013 nop
+80005648: 00000013 nop
+8000564c: 00000013 nop
+80005650: 00000013 nop
+80005654: 00000013 nop
+80005658: 00000013 nop
+8000565c: 00000013 nop
+80005660: 00000013 nop
+80005664: 00000013 nop
+80005668: 00000013 nop
+8000566c: 00000013 nop
+80005670: 00000013 nop
+80005674: 00000013 nop
+80005678: 00000013 nop
+8000567c: 00000013 nop
+80005680: 00000013 nop
+80005684: 00000013 nop
+80005688: 00000013 nop
+8000568c: 00000013 nop
+80005690: 00000013 nop
+80005694: 00000013 nop
+80005698: 00000013 nop
+8000569c: 00000013 nop
+800056a0: 00000013 nop
+800056a4: 00000013 nop
+800056a8: 00000013 nop
+800056ac: 00000013 nop
+800056b0: 00000013 nop
+800056b4: 00000013 nop
+800056b8: 00000013 nop
+800056bc: 00000013 nop
+800056c0: 00000013 nop
+800056c4: 00000013 nop
+800056c8: 00000013 nop
+800056cc: 00000013 nop
+800056d0: 00000013 nop
+800056d4: 00000013 nop
+800056d8: 00000013 nop
+800056dc: 00000013 nop
+800056e0: 00000013 nop
+800056e4: 00000013 nop
+800056e8: 00000013 nop
+800056ec: 00000013 nop
+800056f0: 00000013 nop
+800056f4: 00000013 nop
+800056f8: 00000013 nop
+800056fc: 00000013 nop
+80005700: 00000013 nop
+80005704: 00000013 nop
+80005708: 00000013 nop
+8000570c: 00000013 nop
+80005710: 00000013 nop
+80005714: 00000013 nop
+80005718: 00000013 nop
+8000571c: 00000013 nop
+80005720: 00000013 nop
+80005724: 00000013 nop
+80005728: 00000013 nop
+8000572c: 00000013 nop
+80005730: 00000013 nop
+80005734: 00000013 nop
+80005738: 00000013 nop
+8000573c: 00000013 nop
+80005740: 00000013 nop
+80005744: 00000013 nop
+80005748: 00000013 nop
+8000574c: 00000013 nop
+80005750: 00000013 nop
+80005754: 00000013 nop
+80005758: 00000013 nop
+8000575c: 00000013 nop
+80005760: 00000013 nop
+80005764: 00000013 nop
+80005768: 00000013 nop
+8000576c: 00000013 nop
+80005770: 00000013 nop
+80005774: 00000013 nop
+80005778: 00000013 nop
+8000577c: 00000013 nop
+80005780: 00000013 nop
+80005784: 00000013 nop
+80005788: 00000013 nop
+8000578c: 00000013 nop
+80005790: 00000013 nop
+80005794: 00000013 nop
+80005798: 00000013 nop
+8000579c: 00000013 nop
+800057a0: 00000013 nop
+800057a4: 00000013 nop
+800057a8: 00000013 nop
+800057ac: 00000013 nop
+800057b0: 00000013 nop
+800057b4: 00000013 nop
+800057b8: 00000013 nop
+800057bc: 00000013 nop
+800057c0: 00000013 nop
+800057c4: 00000013 nop
+800057c8: 00000013 nop
+800057cc: 00000013 nop
+800057d0: 00000013 nop
+800057d4: 00000013 nop
+800057d8: 00000013 nop
+800057dc: 00000013 nop
+800057e0: 00000013 nop
+800057e4: 00000013 nop
+800057e8: 00000013 nop
+800057ec: 00000013 nop
+800057f0: 00000013 nop
+800057f4: 00000013 nop
+800057f8: 00000013 nop
+800057fc: 00000013 nop
+80005800: 00000013 nop
+80005804: 00000013 nop
+80005808: 00000013 nop
+8000580c: 00000013 nop
+80005810: 00000013 nop
+80005814: 00000013 nop
+80005818: 00000013 nop
+8000581c: 00000013 nop
+80005820: 00000013 nop
+80005824: 00000013 nop
+80005828: 00000013 nop
+8000582c: 00000013 nop
+80005830: 00000013 nop
+80005834: 00000013 nop
+80005838: 00000013 nop
+8000583c: 00000013 nop
+80005840: 00000013 nop
+80005844: 00000013 nop
+80005848: 00000013 nop
+8000584c: 00000013 nop
+80005850: 00000013 nop
+80005854: 00000013 nop
+80005858: 00000013 nop
+8000585c: 00000013 nop
+80005860: 00000013 nop
+80005864: 00000013 nop
+80005868: 00000013 nop
+8000586c: 00000013 nop
+80005870: 00000013 nop
+80005874: 00000013 nop
+80005878: 00000013 nop
+8000587c: 00000013 nop
+80005880: 00000013 nop
+80005884: 00000013 nop
+80005888: 00000013 nop
+8000588c: 00000013 nop
+80005890: 00000013 nop
+80005894: 00000013 nop
+80005898: 00000013 nop
+8000589c: 00000013 nop
+800058a0: 00000013 nop
+800058a4: 00000013 nop
+800058a8: 00000013 nop
+800058ac: 00000013 nop
+800058b0: 00000013 nop
+800058b4: 00000013 nop
+800058b8: 00000013 nop
+800058bc: 00000013 nop
+800058c0: 00000013 nop
+800058c4: 00000013 nop
+800058c8: 00000013 nop
+800058cc: 00000013 nop
+800058d0: 00000013 nop
+800058d4: 00000013 nop
+800058d8: 00000013 nop
+800058dc: 00000013 nop
+800058e0: 00000013 nop
+800058e4: 00000013 nop
+800058e8: 00000013 nop
+800058ec: 00000013 nop
+800058f0: 00000013 nop
+800058f4: 00000013 nop
+800058f8: 00000013 nop
+800058fc: 00000013 nop
+80005900: 00000013 nop
+80005904: 00000013 nop
+80005908: 00000013 nop
+8000590c: 00000013 nop
+80005910: 00000013 nop
+80005914: 00000013 nop
+80005918: 00000013 nop
+8000591c: 00000013 nop
+80005920: 00000013 nop
+80005924: 00000013 nop
+80005928: 00000013 nop
+8000592c: 00000013 nop
+80005930: 00000013 nop
+80005934: 00000013 nop
+80005938: 00000013 nop
+8000593c: 00000013 nop
+80005940: 00000013 nop
+80005944: 00000013 nop
+80005948: 00000013 nop
+8000594c: 00000013 nop
+80005950: 00000013 nop
+80005954: 00000013 nop
+80005958: 00000013 nop
+8000595c: 00000013 nop
+80005960: 00000013 nop
+80005964: 00000013 nop
+80005968: 00000013 nop
+8000596c: 00000013 nop
+80005970: 00000013 nop
+80005974: 00000013 nop
+80005978: 00000013 nop
+8000597c: 00000013 nop
+80005980: 00000013 nop
+80005984: 00000013 nop
+80005988: 00000013 nop
+8000598c: 00000013 nop
+80005990: 00000013 nop
+80005994: 00000013 nop
+80005998: 00000013 nop
+8000599c: 00000013 nop
+800059a0: 00000013 nop
+800059a4: 00000013 nop
+800059a8: 00000013 nop
+800059ac: 00000013 nop
+800059b0: 00000013 nop
+800059b4: 00000013 nop
+800059b8: 00000013 nop
+800059bc: 00000013 nop
+800059c0: 00000013 nop
+800059c4: 00000013 nop
+800059c8: 00000013 nop
+800059cc: 00000013 nop
+800059d0: 00000013 nop
+800059d4: 00000013 nop
+800059d8: 00000013 nop
+800059dc: 00000013 nop
+800059e0: 00000013 nop
+800059e4: 00000013 nop
+800059e8: 00000013 nop
+800059ec: 00000013 nop
+800059f0: 00000013 nop
+800059f4: 00000013 nop
+800059f8: 00000013 nop
+800059fc: 00000013 nop
+80005a00: 00000013 nop
+80005a04: 00000013 nop
+80005a08: 00000013 nop
+80005a0c: 00000013 nop
+80005a10: 00000013 nop
+80005a14: 00000013 nop
+80005a18: 00000013 nop
+80005a1c: 00000013 nop
+80005a20: 00000013 nop
+80005a24: 00000013 nop
+80005a28: 00000013 nop
+80005a2c: 00000013 nop
+80005a30: 00000013 nop
+80005a34: 00000013 nop
+80005a38: 00000013 nop
+80005a3c: 00000013 nop
+80005a40: 00000013 nop
+80005a44: 00000013 nop
+80005a48: 00000013 nop
+80005a4c: 00000013 nop
+80005a50: 00000013 nop
+80005a54: 00000013 nop
+80005a58: 00000013 nop
+80005a5c: 00000013 nop
+80005a60: 00000013 nop
+80005a64: 00000013 nop
+80005a68: 00000013 nop
+80005a6c: 00000013 nop
+80005a70: 00000013 nop
+80005a74: 00000013 nop
+80005a78: 00000013 nop
+80005a7c: 00000013 nop
+80005a80: 00000013 nop
+80005a84: 00000013 nop
+80005a88: 00000013 nop
+80005a8c: 00000013 nop
+80005a90: 00000013 nop
+80005a94: 00000013 nop
+80005a98: 00000013 nop
+80005a9c: 00000013 nop
+80005aa0: 00000013 nop
+80005aa4: 00000013 nop
+80005aa8: 00000013 nop
+80005aac: 00000013 nop
+80005ab0: 00000013 nop
+80005ab4: 00000013 nop
+80005ab8: 00000013 nop
+80005abc: 00000013 nop
+80005ac0: 00000013 nop
+80005ac4: 00000013 nop
+80005ac8: 00000013 nop
+80005acc: 00000013 nop
+80005ad0: 00000013 nop
+80005ad4: 00000013 nop
+80005ad8: 00000013 nop
+80005adc: 00000013 nop
+80005ae0: 00000013 nop
+80005ae4: 00000013 nop
+80005ae8: 00000013 nop
+80005aec: 00000013 nop
+80005af0: 00000013 nop
+80005af4: 00000013 nop
+80005af8: 00000013 nop
+80005afc: 00000013 nop
+80005b00: 00000013 nop
+80005b04: 00000013 nop
+80005b08: 00000013 nop
+80005b0c: 00000013 nop
+80005b10: 00000013 nop
+80005b14: 00000013 nop
+80005b18: 00000013 nop
+80005b1c: 00000013 nop
+80005b20: 00000013 nop
+80005b24: 00000013 nop
+80005b28: 00000013 nop
+80005b2c: 00000013 nop
+80005b30: 00000013 nop
+80005b34: 00000013 nop
+80005b38: 00000013 nop
+80005b3c: 00000013 nop
+80005b40: 00000013 nop
+80005b44: 00000013 nop
+80005b48: 00000013 nop
+80005b4c: 00000013 nop
+80005b50: 00000013 nop
+80005b54: 00000013 nop
+80005b58: 00000013 nop
+80005b5c: 00000013 nop
+80005b60: 00000013 nop
+80005b64: 00000013 nop
+80005b68: 00000013 nop
+80005b6c: 00000013 nop
+80005b70: 00000013 nop
+80005b74: 00000013 nop
+80005b78: 00000013 nop
+80005b7c: 00000013 nop
+80005b80: 00000013 nop
+80005b84: 00000013 nop
+80005b88: 00000013 nop
+80005b8c: 00000013 nop
+80005b90: 00000013 nop
+80005b94: 00000013 nop
+80005b98: 00000013 nop
+80005b9c: 00000013 nop
+80005ba0: 00000013 nop
+80005ba4: 00000013 nop
+80005ba8: 00000013 nop
+80005bac: 00000013 nop
+80005bb0: 00000013 nop
+80005bb4: 00000013 nop
+80005bb8: 00000013 nop
+80005bbc: 00000013 nop
+80005bc0: 00000013 nop
+80005bc4: 00000013 nop
+80005bc8: 00000013 nop
+80005bcc: 00000013 nop
+80005bd0: 00000013 nop
+80005bd4: 00000013 nop
+80005bd8: 00000013 nop
+80005bdc: 00000013 nop
+80005be0: 00000013 nop
+80005be4: 00000013 nop
+80005be8: 00000013 nop
+80005bec: 00000013 nop
+80005bf0: 00000013 nop
+80005bf4: 00000013 nop
+80005bf8: 00000013 nop
+80005bfc: 00000013 nop
+80005c00: 00000013 nop
+80005c04: 00000013 nop
+80005c08: 00000013 nop
+80005c0c: 00000013 nop
+80005c10: 00000013 nop
+80005c14: 00000013 nop
+80005c18: 00000013 nop
+80005c1c: 00000013 nop
+80005c20: 00000013 nop
+80005c24: 00000013 nop
+80005c28: 00000013 nop
+80005c2c: 00000013 nop
+80005c30: 00000013 nop
+80005c34: 00000013 nop
+80005c38: 00000013 nop
+80005c3c: 00000013 nop
+80005c40: 00000013 nop
+80005c44: 00000013 nop
+80005c48: 00000013 nop
+80005c4c: 00000013 nop
+80005c50: 00000013 nop
+80005c54: 00000013 nop
+80005c58: 00000013 nop
+80005c5c: 00000013 nop
+80005c60: 00000013 nop
+80005c64: 00000013 nop
+80005c68: 00000013 nop
+80005c6c: 00000013 nop
+80005c70: 00000013 nop
+80005c74: 00000013 nop
+80005c78: 00000013 nop
+80005c7c: 00000013 nop
+80005c80: 00000013 nop
+80005c84: 00000013 nop
+80005c88: 00000013 nop
+80005c8c: 00000013 nop
+80005c90: 00000013 nop
+80005c94: 00000013 nop
+80005c98: 00000013 nop
+80005c9c: 00000013 nop
+80005ca0: 00000013 nop
+80005ca4: 00000013 nop
+80005ca8: 00000013 nop
+80005cac: 00000013 nop
+80005cb0: 00000013 nop
+80005cb4: 00000013 nop
+80005cb8: 00000013 nop
+80005cbc: 00000013 nop
+80005cc0: 00000013 nop
+80005cc4: 00000013 nop
+80005cc8: 00000013 nop
+80005ccc: 00000013 nop
+80005cd0: 00000013 nop
+80005cd4: 00000013 nop
+80005cd8: 00000013 nop
+80005cdc: 00000013 nop
+80005ce0: 00000013 nop
+80005ce4: 00000013 nop
+80005ce8: 00000013 nop
+80005cec: 00000013 nop
+80005cf0: 00000013 nop
+80005cf4: 00000013 nop
+80005cf8: 00000013 nop
+80005cfc: 00000013 nop
+80005d00: 00000013 nop
+80005d04: 00000013 nop
+80005d08: 00000013 nop
+80005d0c: 00000013 nop
+80005d10: 00000013 nop
+80005d14: 00000013 nop
+80005d18: 00000013 nop
+80005d1c: 00000013 nop
+80005d20: 00000013 nop
+80005d24: 00000013 nop
+80005d28: 00000013 nop
+80005d2c: 00000013 nop
+80005d30: 00000013 nop
+80005d34: 00000013 nop
+80005d38: 00000013 nop
+80005d3c: 00000013 nop
+80005d40: 00000013 nop
+80005d44: 00000013 nop
+80005d48: 00000013 nop
+80005d4c: 00000013 nop
+80005d50: 00000013 nop
+80005d54: 00000013 nop
+80005d58: 00000013 nop
+80005d5c: 00000013 nop
+80005d60: 00000013 nop
+80005d64: 00000013 nop
+80005d68: 00000013 nop
+80005d6c: 00000013 nop
+80005d70: 00000013 nop
+80005d74: 00000013 nop
+80005d78: 00000013 nop
+80005d7c: 00000013 nop
+80005d80: 00000013 nop
+80005d84: 00000013 nop
+80005d88: 00000013 nop
+80005d8c: 00000013 nop
+80005d90: 00000013 nop
+80005d94: 00000013 nop
+80005d98: 00000013 nop
+80005d9c: 00000013 nop
+80005da0: 00000013 nop
+80005da4: 00000013 nop
+80005da8: 00000013 nop
+80005dac: 00000013 nop
+80005db0: 00000013 nop
+80005db4: 00000013 nop
+80005db8: 00000013 nop
+80005dbc: 00000013 nop
+80005dc0: 00000013 nop
+80005dc4: 00000013 nop
+80005dc8: 00000013 nop
+80005dcc: 00000013 nop
+80005dd0: 00000013 nop
+80005dd4: 00000013 nop
+80005dd8: 00000013 nop
+80005ddc: 00000013 nop
+80005de0: 00000013 nop
+80005de4: 00000013 nop
+80005de8: 00000013 nop
+80005dec: 00000013 nop
+80005df0: 00000013 nop
+80005df4: 00000013 nop
+80005df8: 00000013 nop
+80005dfc: 00000013 nop
+80005e00: 00000013 nop
+80005e04: 00000013 nop
+80005e08: 00000013 nop
+80005e0c: 00000013 nop
+80005e10: 00000013 nop
+80005e14: 00000013 nop
+80005e18: 00000013 nop
+80005e1c: 00000013 nop
+80005e20: 00000013 nop
+80005e24: 00000013 nop
+80005e28: 00000013 nop
+80005e2c: 00000013 nop
+80005e30: 00000013 nop
+80005e34: 00000013 nop
+80005e38: 00000013 nop
+80005e3c: 00000013 nop
+80005e40: 00000013 nop
+80005e44: 00000013 nop
+80005e48: 00000013 nop
+80005e4c: 00000013 nop
+80005e50: 00000013 nop
+80005e54: 00000013 nop
+80005e58: 00000013 nop
+80005e5c: 00000013 nop
+80005e60: 00000013 nop
+80005e64: 00000013 nop
+80005e68: 00000013 nop
+80005e6c: 00000013 nop
+80005e70: 00000013 nop
+80005e74: 00000013 nop
+80005e78: 00000013 nop
+80005e7c: 00000013 nop
+80005e80: 00000013 nop
+80005e84: 00000013 nop
+80005e88: 00000013 nop
+80005e8c: 00000013 nop
+80005e90: 00000013 nop
+80005e94: 00000013 nop
+80005e98: 00000013 nop
+80005e9c: 00000013 nop
+80005ea0: 00000013 nop
+80005ea4: 00000013 nop
+80005ea8: 00000013 nop
+80005eac: 00000013 nop
+80005eb0: 00000013 nop
+80005eb4: 00000013 nop
+80005eb8: 00000013 nop
+80005ebc: 00000013 nop
+80005ec0: 00000013 nop
+80005ec4: 00000013 nop
+80005ec8: 00000013 nop
+80005ecc: 00000013 nop
+80005ed0: 00000013 nop
+80005ed4: 00000013 nop
+80005ed8: 00000013 nop
+80005edc: 00000013 nop
+80005ee0: 00000013 nop
+80005ee4: 00000013 nop
+80005ee8: 00000013 nop
+80005eec: 00000013 nop
+80005ef0: 00000013 nop
+80005ef4: 00000013 nop
+80005ef8: 00000013 nop
+80005efc: 00000013 nop
+80005f00: 00000013 nop
+80005f04: 00000013 nop
+80005f08: 00000013 nop
+80005f0c: 00000013 nop
+80005f10: 00000013 nop
+80005f14: 00000013 nop
+80005f18: 00000013 nop
+80005f1c: 00000013 nop
+80005f20: 00000013 nop
+80005f24: 00000013 nop
+80005f28: 00000013 nop
+80005f2c: 00000013 nop
+80005f30: 00000013 nop
+80005f34: 00000013 nop
+80005f38: 00000013 nop
+80005f3c: 00000013 nop
+80005f40: 00000013 nop
+80005f44: 00000013 nop
+80005f48: 00000013 nop
+80005f4c: 00000013 nop
+80005f50: 00000013 nop
+80005f54: 00000013 nop
+80005f58: 00000013 nop
+80005f5c: 00000013 nop
+80005f60: 00000013 nop
+80005f64: 00000013 nop
+80005f68: 00000013 nop
+80005f6c: 00000013 nop
+80005f70: 00000013 nop
+80005f74: 00000013 nop
+80005f78: 00000013 nop
+80005f7c: 00000013 nop
+80005f80: 00000013 nop
+80005f84: 00000013 nop
+80005f88: 00000013 nop
+80005f8c: 00000013 nop
+80005f90: 00000013 nop
+80005f94: 00000013 nop
+80005f98: 00000013 nop
+80005f9c: 00000013 nop
+80005fa0: 00000013 nop
+80005fa4: 00000013 nop
+80005fa8: 00000013 nop
+80005fac: 00000013 nop
+80005fb0: 00000013 nop
+80005fb4: 00000013 nop
+80005fb8: 00000013 nop
+80005fbc: 00000013 nop
+80005fc0: 00000013 nop
+80005fc4: 00000013 nop
+80005fc8: 00000013 nop
+80005fcc: 00000013 nop
+80005fd0: 00000013 nop
+80005fd4: 00000013 nop
+80005fd8: 00000013 nop
+80005fdc: 00000013 nop
+80005fe0: 00000013 nop
+80005fe4: 00000013 nop
+80005fe8: 00000013 nop
+80005fec: 00000013 nop
+80005ff0: 00000013 nop
+80005ff4: 00000013 nop
+80005ff8: 00000013 nop
+80005ffc: 00000013 nop
+
+80006000 <ROM_1>:
+80006000: 1110 addi a2,sp,160
+80006002: 1312 slli t1,t1,0x24
+80006004: 1514 addi a3,sp,672
+80006006: 1716 slli a4,a4,0x25
+80006008: 1918 addi a4,sp,176
+8000600a: 1b1a slli s6,s6,0x26
+8000600c: 1d1c addi a5,sp,688
+8000600e: 1f1e slli t5,t5,0x27
+80006010: 00000013 nop
+80006014: 00000013 nop
+80006018: 00000013 nop
+8000601c: 00000013 nop
+80006020: 00000013 nop
+80006024: 00000013 nop
+80006028: 00000013 nop
+8000602c: 00000013 nop
+80006030: 00000013 nop
+80006034: 00000013 nop
+80006038: 00000013 nop
+8000603c: 00000013 nop
+80006040: 00000013 nop
+80006044: 00000013 nop
+80006048: 00000013 nop
+8000604c: 00000013 nop
+80006050: 00000013 nop
+80006054: 00000013 nop
+80006058: 00000013 nop
+8000605c: 00000013 nop
+80006060: 00000013 nop
+80006064: 00000013 nop
+80006068: 00000013 nop
+8000606c: 00000013 nop
+80006070: 00000013 nop
+80006074: 00000013 nop
+80006078: 00000013 nop
+8000607c: 00000013 nop
+80006080: 00000013 nop
+80006084: 00000013 nop
+80006088: 00000013 nop
+8000608c: 00000013 nop
+80006090: 00000013 nop
+80006094: 00000013 nop
+80006098: 00000013 nop
+8000609c: 00000013 nop
+800060a0: 00000013 nop
+800060a4: 00000013 nop
+800060a8: 00000013 nop
+800060ac: 00000013 nop
+800060b0: 00000013 nop
+800060b4: 00000013 nop
+800060b8: 00000013 nop
+800060bc: 00000013 nop
+800060c0: 00000013 nop
+800060c4: 00000013 nop
+800060c8: 00000013 nop
+800060cc: 00000013 nop
+800060d0: 00000013 nop
+800060d4: 00000013 nop
+800060d8: 00000013 nop
+800060dc: 00000013 nop
+800060e0: 00000013 nop
+800060e4: 00000013 nop
+800060e8: 00000013 nop
+800060ec: 00000013 nop
+800060f0: 00000013 nop
+800060f4: 00000013 nop
+800060f8: 00000013 nop
+800060fc: 00000013 nop
+80006100: 00000013 nop
+80006104: 00000013 nop
+80006108: 00000013 nop
+8000610c: 00000013 nop
+80006110: 00000013 nop
+80006114: 00000013 nop
+80006118: 00000013 nop
+8000611c: 00000013 nop
+80006120: 00000013 nop
+80006124: 00000013 nop
+80006128: 00000013 nop
+8000612c: 00000013 nop
+80006130: 00000013 nop
+80006134: 00000013 nop
+80006138: 00000013 nop
+8000613c: 00000013 nop
+80006140: 00000013 nop
+80006144: 00000013 nop
+80006148: 00000013 nop
+8000614c: 00000013 nop
+80006150: 00000013 nop
+80006154: 00000013 nop
+80006158: 00000013 nop
+8000615c: 00000013 nop
+80006160: 00000013 nop
+80006164: 00000013 nop
+80006168: 00000013 nop
+8000616c: 00000013 nop
+80006170: 00000013 nop
+80006174: 00000013 nop
+80006178: 00000013 nop
+8000617c: 00000013 nop
+80006180: 00000013 nop
+80006184: 00000013 nop
+80006188: 00000013 nop
+8000618c: 00000013 nop
+80006190: 00000013 nop
+80006194: 00000013 nop
+80006198: 00000013 nop
+8000619c: 00000013 nop
+800061a0: 00000013 nop
+800061a4: 00000013 nop
+800061a8: 00000013 nop
+800061ac: 00000013 nop
+800061b0: 00000013 nop
+800061b4: 00000013 nop
+800061b8: 00000013 nop
+800061bc: 00000013 nop
+800061c0: 00000013 nop
+800061c4: 00000013 nop
+800061c8: 00000013 nop
+800061cc: 00000013 nop
+800061d0: 00000013 nop
+800061d4: 00000013 nop
+800061d8: 00000013 nop
+800061dc: 00000013 nop
+800061e0: 00000013 nop
+800061e4: 00000013 nop
+800061e8: 00000013 nop
+800061ec: 00000013 nop
+800061f0: 00000013 nop
+800061f4: 00000013 nop
+800061f8: 00000013 nop
+800061fc: 00000013 nop
+80006200: 00000013 nop
+80006204: 00000013 nop
+80006208: 00000013 nop
+8000620c: 00000013 nop
+80006210: 00000013 nop
+80006214: 00000013 nop
+80006218: 00000013 nop
+8000621c: 00000013 nop
+80006220: 00000013 nop
+80006224: 00000013 nop
+80006228: 00000013 nop
+8000622c: 00000013 nop
+80006230: 00000013 nop
+80006234: 00000013 nop
+80006238: 00000013 nop
+8000623c: 00000013 nop
+80006240: 00000013 nop
+80006244: 00000013 nop
+80006248: 00000013 nop
+8000624c: 00000013 nop
+80006250: 00000013 nop
+80006254: 00000013 nop
+80006258: 00000013 nop
+8000625c: 00000013 nop
+80006260: 00000013 nop
+80006264: 00000013 nop
+80006268: 00000013 nop
+8000626c: 00000013 nop
+80006270: 00000013 nop
+80006274: 00000013 nop
+80006278: 00000013 nop
+8000627c: 00000013 nop
+80006280: 00000013 nop
+80006284: 00000013 nop
+80006288: 00000013 nop
+8000628c: 00000013 nop
+80006290: 00000013 nop
+80006294: 00000013 nop
+80006298: 00000013 nop
+8000629c: 00000013 nop
+800062a0: 00000013 nop
+800062a4: 00000013 nop
+800062a8: 00000013 nop
+800062ac: 00000013 nop
+800062b0: 00000013 nop
+800062b4: 00000013 nop
+800062b8: 00000013 nop
+800062bc: 00000013 nop
+800062c0: 00000013 nop
+800062c4: 00000013 nop
+800062c8: 00000013 nop
+800062cc: 00000013 nop
+800062d0: 00000013 nop
+800062d4: 00000013 nop
+800062d8: 00000013 nop
+800062dc: 00000013 nop
+800062e0: 00000013 nop
+800062e4: 00000013 nop
+800062e8: 00000013 nop
+800062ec: 00000013 nop
+800062f0: 00000013 nop
+800062f4: 00000013 nop
+800062f8: 00000013 nop
+800062fc: 00000013 nop
+80006300: 00000013 nop
+80006304: 00000013 nop
+80006308: 00000013 nop
+8000630c: 00000013 nop
+80006310: 00000013 nop
+80006314: 00000013 nop
+80006318: 00000013 nop
+8000631c: 00000013 nop
+80006320: 00000013 nop
+80006324: 00000013 nop
+80006328: 00000013 nop
+8000632c: 00000013 nop
+80006330: 00000013 nop
+80006334: 00000013 nop
+80006338: 00000013 nop
+8000633c: 00000013 nop
+80006340: 00000013 nop
+80006344: 00000013 nop
+80006348: 00000013 nop
+8000634c: 00000013 nop
+80006350: 00000013 nop
+80006354: 00000013 nop
+80006358: 00000013 nop
+8000635c: 00000013 nop
+80006360: 00000013 nop
+80006364: 00000013 nop
+80006368: 00000013 nop
+8000636c: 00000013 nop
+80006370: 00000013 nop
+80006374: 00000013 nop
+80006378: 00000013 nop
+8000637c: 00000013 nop
+80006380: 00000013 nop
+80006384: 00000013 nop
+80006388: 00000013 nop
+8000638c: 00000013 nop
+80006390: 00000013 nop
+80006394: 00000013 nop
+80006398: 00000013 nop
+8000639c: 00000013 nop
+800063a0: 00000013 nop
+800063a4: 00000013 nop
+800063a8: 00000013 nop
+800063ac: 00000013 nop
+800063b0: 00000013 nop
+800063b4: 00000013 nop
+800063b8: 00000013 nop
+800063bc: 00000013 nop
+800063c0: 00000013 nop
+800063c4: 00000013 nop
+800063c8: 00000013 nop
+800063cc: 00000013 nop
+800063d0: 00000013 nop
+800063d4: 00000013 nop
+800063d8: 00000013 nop
+800063dc: 00000013 nop
+800063e0: 00000013 nop
+800063e4: 00000013 nop
+800063e8: 00000013 nop
+800063ec: 00000013 nop
+800063f0: 00000013 nop
+800063f4: 00000013 nop
+800063f8: 00000013 nop
+800063fc: 00000013 nop
+80006400: 00000013 nop
+80006404: 00000013 nop
+80006408: 00000013 nop
+8000640c: 00000013 nop
+80006410: 00000013 nop
+80006414: 00000013 nop
+80006418: 00000013 nop
+8000641c: 00000013 nop
+80006420: 00000013 nop
+80006424: 00000013 nop
+80006428: 00000013 nop
+8000642c: 00000013 nop
+80006430: 00000013 nop
+80006434: 00000013 nop
+80006438: 00000013 nop
+8000643c: 00000013 nop
+80006440: 00000013 nop
+80006444: 00000013 nop
+80006448: 00000013 nop
+8000644c: 00000013 nop
+80006450: 00000013 nop
+80006454: 00000013 nop
+80006458: 00000013 nop
+8000645c: 00000013 nop
+80006460: 00000013 nop
+80006464: 00000013 nop
+80006468: 00000013 nop
+8000646c: 00000013 nop
+80006470: 00000013 nop
+80006474: 00000013 nop
+80006478: 00000013 nop
+8000647c: 00000013 nop
+80006480: 00000013 nop
+80006484: 00000013 nop
+80006488: 00000013 nop
+8000648c: 00000013 nop
+80006490: 00000013 nop
+80006494: 00000013 nop
+80006498: 00000013 nop
+8000649c: 00000013 nop
+800064a0: 00000013 nop
+800064a4: 00000013 nop
+800064a8: 00000013 nop
+800064ac: 00000013 nop
+800064b0: 00000013 nop
+800064b4: 00000013 nop
+800064b8: 00000013 nop
+800064bc: 00000013 nop
+800064c0: 00000013 nop
+800064c4: 00000013 nop
+800064c8: 00000013 nop
+800064cc: 00000013 nop
+800064d0: 00000013 nop
+800064d4: 00000013 nop
+800064d8: 00000013 nop
+800064dc: 00000013 nop
+800064e0: 00000013 nop
+800064e4: 00000013 nop
+800064e8: 00000013 nop
+800064ec: 00000013 nop
+800064f0: 00000013 nop
+800064f4: 00000013 nop
+800064f8: 00000013 nop
+800064fc: 00000013 nop
+80006500: 00000013 nop
+80006504: 00000013 nop
+80006508: 00000013 nop
+8000650c: 00000013 nop
+80006510: 00000013 nop
+80006514: 00000013 nop
+80006518: 00000013 nop
+8000651c: 00000013 nop
+80006520: 00000013 nop
+80006524: 00000013 nop
+80006528: 00000013 nop
+8000652c: 00000013 nop
+80006530: 00000013 nop
+80006534: 00000013 nop
+80006538: 00000013 nop
+8000653c: 00000013 nop
+80006540: 00000013 nop
+80006544: 00000013 nop
+80006548: 00000013 nop
+8000654c: 00000013 nop
+80006550: 00000013 nop
+80006554: 00000013 nop
+80006558: 00000013 nop
+8000655c: 00000013 nop
+80006560: 00000013 nop
+80006564: 00000013 nop
+80006568: 00000013 nop
+8000656c: 00000013 nop
+80006570: 00000013 nop
+80006574: 00000013 nop
+80006578: 00000013 nop
+8000657c: 00000013 nop
+80006580: 00000013 nop
+80006584: 00000013 nop
+80006588: 00000013 nop
+8000658c: 00000013 nop
+80006590: 00000013 nop
+80006594: 00000013 nop
+80006598: 00000013 nop
+8000659c: 00000013 nop
+800065a0: 00000013 nop
+800065a4: 00000013 nop
+800065a8: 00000013 nop
+800065ac: 00000013 nop
+800065b0: 00000013 nop
+800065b4: 00000013 nop
+800065b8: 00000013 nop
+800065bc: 00000013 nop
+800065c0: 00000013 nop
+800065c4: 00000013 nop
+800065c8: 00000013 nop
+800065cc: 00000013 nop
+800065d0: 00000013 nop
+800065d4: 00000013 nop
+800065d8: 00000013 nop
+800065dc: 00000013 nop
+800065e0: 00000013 nop
+800065e4: 00000013 nop
+800065e8: 00000013 nop
+800065ec: 00000013 nop
+800065f0: 00000013 nop
+800065f4: 00000013 nop
+800065f8: 00000013 nop
+800065fc: 00000013 nop
+80006600: 00000013 nop
+80006604: 00000013 nop
+80006608: 00000013 nop
+8000660c: 00000013 nop
+80006610: 00000013 nop
+80006614: 00000013 nop
+80006618: 00000013 nop
+8000661c: 00000013 nop
+80006620: 00000013 nop
+80006624: 00000013 nop
+80006628: 00000013 nop
+8000662c: 00000013 nop
+80006630: 00000013 nop
+80006634: 00000013 nop
+80006638: 00000013 nop
+8000663c: 00000013 nop
+80006640: 00000013 nop
+80006644: 00000013 nop
+80006648: 00000013 nop
+8000664c: 00000013 nop
+80006650: 00000013 nop
+80006654: 00000013 nop
+80006658: 00000013 nop
+8000665c: 00000013 nop
+80006660: 00000013 nop
+80006664: 00000013 nop
+80006668: 00000013 nop
+8000666c: 00000013 nop
+80006670: 00000013 nop
+80006674: 00000013 nop
+80006678: 00000013 nop
+8000667c: 00000013 nop
+80006680: 00000013 nop
+80006684: 00000013 nop
+80006688: 00000013 nop
+8000668c: 00000013 nop
+80006690: 00000013 nop
+80006694: 00000013 nop
+80006698: 00000013 nop
+8000669c: 00000013 nop
+800066a0: 00000013 nop
+800066a4: 00000013 nop
+800066a8: 00000013 nop
+800066ac: 00000013 nop
+800066b0: 00000013 nop
+800066b4: 00000013 nop
+800066b8: 00000013 nop
+800066bc: 00000013 nop
+800066c0: 00000013 nop
+800066c4: 00000013 nop
+800066c8: 00000013 nop
+800066cc: 00000013 nop
+800066d0: 00000013 nop
+800066d4: 00000013 nop
+800066d8: 00000013 nop
+800066dc: 00000013 nop
+800066e0: 00000013 nop
+800066e4: 00000013 nop
+800066e8: 00000013 nop
+800066ec: 00000013 nop
+800066f0: 00000013 nop
+800066f4: 00000013 nop
+800066f8: 00000013 nop
+800066fc: 00000013 nop
+80006700: 00000013 nop
+80006704: 00000013 nop
+80006708: 00000013 nop
+8000670c: 00000013 nop
+80006710: 00000013 nop
+80006714: 00000013 nop
+80006718: 00000013 nop
+8000671c: 00000013 nop
+80006720: 00000013 nop
+80006724: 00000013 nop
+80006728: 00000013 nop
+8000672c: 00000013 nop
+80006730: 00000013 nop
+80006734: 00000013 nop
+80006738: 00000013 nop
+8000673c: 00000013 nop
+80006740: 00000013 nop
+80006744: 00000013 nop
+80006748: 00000013 nop
+8000674c: 00000013 nop
+80006750: 00000013 nop
+80006754: 00000013 nop
+80006758: 00000013 nop
+8000675c: 00000013 nop
+80006760: 00000013 nop
+80006764: 00000013 nop
+80006768: 00000013 nop
+8000676c: 00000013 nop
+80006770: 00000013 nop
+80006774: 00000013 nop
+80006778: 00000013 nop
+8000677c: 00000013 nop
+80006780: 00000013 nop
+80006784: 00000013 nop
+80006788: 00000013 nop
+8000678c: 00000013 nop
+80006790: 00000013 nop
+80006794: 00000013 nop
+80006798: 00000013 nop
+8000679c: 00000013 nop
+800067a0: 00000013 nop
+800067a4: 00000013 nop
+800067a8: 00000013 nop
+800067ac: 00000013 nop
+800067b0: 00000013 nop
+800067b4: 00000013 nop
+800067b8: 00000013 nop
+800067bc: 00000013 nop
+800067c0: 00000013 nop
+800067c4: 00000013 nop
+800067c8: 00000013 nop
+800067cc: 00000013 nop
+800067d0: 00000013 nop
+800067d4: 00000013 nop
+800067d8: 00000013 nop
+800067dc: 00000013 nop
+800067e0: 00000013 nop
+800067e4: 00000013 nop
+800067e8: 00000013 nop
+800067ec: 00000013 nop
+800067f0: 00000013 nop
+800067f4: 00000013 nop
+800067f8: 00000013 nop
+800067fc: 00000013 nop
+80006800: 00000013 nop
+80006804: 00000013 nop
+80006808: 00000013 nop
+8000680c: 00000013 nop
+80006810: 00000013 nop
+80006814: 00000013 nop
+80006818: 00000013 nop
+8000681c: 00000013 nop
+80006820: 00000013 nop
+80006824: 00000013 nop
+80006828: 00000013 nop
+8000682c: 00000013 nop
+80006830: 00000013 nop
+80006834: 00000013 nop
+80006838: 00000013 nop
+8000683c: 00000013 nop
+80006840: 00000013 nop
+80006844: 00000013 nop
+80006848: 00000013 nop
+8000684c: 00000013 nop
+80006850: 00000013 nop
+80006854: 00000013 nop
+80006858: 00000013 nop
+8000685c: 00000013 nop
+80006860: 00000013 nop
+80006864: 00000013 nop
+80006868: 00000013 nop
+8000686c: 00000013 nop
+80006870: 00000013 nop
+80006874: 00000013 nop
+80006878: 00000013 nop
+8000687c: 00000013 nop
+80006880: 00000013 nop
+80006884: 00000013 nop
+80006888: 00000013 nop
+8000688c: 00000013 nop
+80006890: 00000013 nop
+80006894: 00000013 nop
+80006898: 00000013 nop
+8000689c: 00000013 nop
+800068a0: 00000013 nop
+800068a4: 00000013 nop
+800068a8: 00000013 nop
+800068ac: 00000013 nop
+800068b0: 00000013 nop
+800068b4: 00000013 nop
+800068b8: 00000013 nop
+800068bc: 00000013 nop
+800068c0: 00000013 nop
+800068c4: 00000013 nop
+800068c8: 00000013 nop
+800068cc: 00000013 nop
+800068d0: 00000013 nop
+800068d4: 00000013 nop
+800068d8: 00000013 nop
+800068dc: 00000013 nop
+800068e0: 00000013 nop
+800068e4: 00000013 nop
+800068e8: 00000013 nop
+800068ec: 00000013 nop
+800068f0: 00000013 nop
+800068f4: 00000013 nop
+800068f8: 00000013 nop
+800068fc: 00000013 nop
+80006900: 00000013 nop
+80006904: 00000013 nop
+80006908: 00000013 nop
+8000690c: 00000013 nop
+80006910: 00000013 nop
+80006914: 00000013 nop
+80006918: 00000013 nop
+8000691c: 00000013 nop
+80006920: 00000013 nop
+80006924: 00000013 nop
+80006928: 00000013 nop
+8000692c: 00000013 nop
+80006930: 00000013 nop
+80006934: 00000013 nop
+80006938: 00000013 nop
+8000693c: 00000013 nop
+80006940: 00000013 nop
+80006944: 00000013 nop
+80006948: 00000013 nop
+8000694c: 00000013 nop
+80006950: 00000013 nop
+80006954: 00000013 nop
+80006958: 00000013 nop
+8000695c: 00000013 nop
+80006960: 00000013 nop
+80006964: 00000013 nop
+80006968: 00000013 nop
+8000696c: 00000013 nop
+80006970: 00000013 nop
+80006974: 00000013 nop
+80006978: 00000013 nop
+8000697c: 00000013 nop
+80006980: 00000013 nop
+80006984: 00000013 nop
+80006988: 00000013 nop
+8000698c: 00000013 nop
+80006990: 00000013 nop
+80006994: 00000013 nop
+80006998: 00000013 nop
+8000699c: 00000013 nop
+800069a0: 00000013 nop
+800069a4: 00000013 nop
+800069a8: 00000013 nop
+800069ac: 00000013 nop
+800069b0: 00000013 nop
+800069b4: 00000013 nop
+800069b8: 00000013 nop
+800069bc: 00000013 nop
+800069c0: 00000013 nop
+800069c4: 00000013 nop
+800069c8: 00000013 nop
+800069cc: 00000013 nop
+800069d0: 00000013 nop
+800069d4: 00000013 nop
+800069d8: 00000013 nop
+800069dc: 00000013 nop
+800069e0: 00000013 nop
+800069e4: 00000013 nop
+800069e8: 00000013 nop
+800069ec: 00000013 nop
+800069f0: 00000013 nop
+800069f4: 00000013 nop
+800069f8: 00000013 nop
+800069fc: 00000013 nop
+80006a00: 00000013 nop
+80006a04: 00000013 nop
+80006a08: 00000013 nop
+80006a0c: 00000013 nop
+80006a10: 00000013 nop
+80006a14: 00000013 nop
+80006a18: 00000013 nop
+80006a1c: 00000013 nop
+80006a20: 00000013 nop
+80006a24: 00000013 nop
+80006a28: 00000013 nop
+80006a2c: 00000013 nop
+80006a30: 00000013 nop
+80006a34: 00000013 nop
+80006a38: 00000013 nop
+80006a3c: 00000013 nop
+80006a40: 00000013 nop
+80006a44: 00000013 nop
+80006a48: 00000013 nop
+80006a4c: 00000013 nop
+80006a50: 00000013 nop
+80006a54: 00000013 nop
+80006a58: 00000013 nop
+80006a5c: 00000013 nop
+80006a60: 00000013 nop
+80006a64: 00000013 nop
+80006a68: 00000013 nop
+80006a6c: 00000013 nop
+80006a70: 00000013 nop
+80006a74: 00000013 nop
+80006a78: 00000013 nop
+80006a7c: 00000013 nop
+80006a80: 00000013 nop
+80006a84: 00000013 nop
+80006a88: 00000013 nop
+80006a8c: 00000013 nop
+80006a90: 00000013 nop
+80006a94: 00000013 nop
+80006a98: 00000013 nop
+80006a9c: 00000013 nop
+80006aa0: 00000013 nop
+80006aa4: 00000013 nop
+80006aa8: 00000013 nop
+80006aac: 00000013 nop
+80006ab0: 00000013 nop
+80006ab4: 00000013 nop
+80006ab8: 00000013 nop
+80006abc: 00000013 nop
+80006ac0: 00000013 nop
+80006ac4: 00000013 nop
+80006ac8: 00000013 nop
+80006acc: 00000013 nop
+80006ad0: 00000013 nop
+80006ad4: 00000013 nop
+80006ad8: 00000013 nop
+80006adc: 00000013 nop
+80006ae0: 00000013 nop
+80006ae4: 00000013 nop
+80006ae8: 00000013 nop
+80006aec: 00000013 nop
+80006af0: 00000013 nop
+80006af4: 00000013 nop
+80006af8: 00000013 nop
+80006afc: 00000013 nop
+80006b00: 00000013 nop
+80006b04: 00000013 nop
+80006b08: 00000013 nop
+80006b0c: 00000013 nop
+80006b10: 00000013 nop
+80006b14: 00000013 nop
+80006b18: 00000013 nop
+80006b1c: 00000013 nop
+80006b20: 00000013 nop
+80006b24: 00000013 nop
+80006b28: 00000013 nop
+80006b2c: 00000013 nop
+80006b30: 00000013 nop
+80006b34: 00000013 nop
+80006b38: 00000013 nop
+80006b3c: 00000013 nop
+80006b40: 00000013 nop
+80006b44: 00000013 nop
+80006b48: 00000013 nop
+80006b4c: 00000013 nop
+80006b50: 00000013 nop
+80006b54: 00000013 nop
+80006b58: 00000013 nop
+80006b5c: 00000013 nop
+80006b60: 00000013 nop
+80006b64: 00000013 nop
+80006b68: 00000013 nop
+80006b6c: 00000013 nop
+80006b70: 00000013 nop
+80006b74: 00000013 nop
+80006b78: 00000013 nop
+80006b7c: 00000013 nop
+80006b80: 00000013 nop
+80006b84: 00000013 nop
+80006b88: 00000013 nop
+80006b8c: 00000013 nop
+80006b90: 00000013 nop
+80006b94: 00000013 nop
+80006b98: 00000013 nop
+80006b9c: 00000013 nop
+80006ba0: 00000013 nop
+80006ba4: 00000013 nop
+80006ba8: 00000013 nop
+80006bac: 00000013 nop
+80006bb0: 00000013 nop
+80006bb4: 00000013 nop
+80006bb8: 00000013 nop
+80006bbc: 00000013 nop
+80006bc0: 00000013 nop
+80006bc4: 00000013 nop
+80006bc8: 00000013 nop
+80006bcc: 00000013 nop
+80006bd0: 00000013 nop
+80006bd4: 00000013 nop
+80006bd8: 00000013 nop
+80006bdc: 00000013 nop
+80006be0: 00000013 nop
+80006be4: 00000013 nop
+80006be8: 00000013 nop
+80006bec: 00000013 nop
+80006bf0: 00000013 nop
+80006bf4: 00000013 nop
+80006bf8: 00000013 nop
+80006bfc: 00000013 nop
+80006c00: 00000013 nop
+80006c04: 00000013 nop
+80006c08: 00000013 nop
+80006c0c: 00000013 nop
+80006c10: 00000013 nop
+80006c14: 00000013 nop
+80006c18: 00000013 nop
+80006c1c: 00000013 nop
+80006c20: 00000013 nop
+80006c24: 00000013 nop
+80006c28: 00000013 nop
+80006c2c: 00000013 nop
+80006c30: 00000013 nop
+80006c34: 00000013 nop
+80006c38: 00000013 nop
+80006c3c: 00000013 nop
+80006c40: 00000013 nop
+80006c44: 00000013 nop
+80006c48: 00000013 nop
+80006c4c: 00000013 nop
+80006c50: 00000013 nop
+80006c54: 00000013 nop
+80006c58: 00000013 nop
+80006c5c: 00000013 nop
+80006c60: 00000013 nop
+80006c64: 00000013 nop
+80006c68: 00000013 nop
+80006c6c: 00000013 nop
+80006c70: 00000013 nop
+80006c74: 00000013 nop
+80006c78: 00000013 nop
+80006c7c: 00000013 nop
+80006c80: 00000013 nop
+80006c84: 00000013 nop
+80006c88: 00000013 nop
+80006c8c: 00000013 nop
+80006c90: 00000013 nop
+80006c94: 00000013 nop
+80006c98: 00000013 nop
+80006c9c: 00000013 nop
+80006ca0: 00000013 nop
+80006ca4: 00000013 nop
+80006ca8: 00000013 nop
+80006cac: 00000013 nop
+80006cb0: 00000013 nop
+80006cb4: 00000013 nop
+80006cb8: 00000013 nop
+80006cbc: 00000013 nop
+80006cc0: 00000013 nop
+80006cc4: 00000013 nop
+80006cc8: 00000013 nop
+80006ccc: 00000013 nop
+80006cd0: 00000013 nop
+80006cd4: 00000013 nop
+80006cd8: 00000013 nop
+80006cdc: 00000013 nop
+80006ce0: 00000013 nop
+80006ce4: 00000013 nop
+80006ce8: 00000013 nop
+80006cec: 00000013 nop
+80006cf0: 00000013 nop
+80006cf4: 00000013 nop
+80006cf8: 00000013 nop
+80006cfc: 00000013 nop
+80006d00: 00000013 nop
+80006d04: 00000013 nop
+80006d08: 00000013 nop
+80006d0c: 00000013 nop
+80006d10: 00000013 nop
+80006d14: 00000013 nop
+80006d18: 00000013 nop
+80006d1c: 00000013 nop
+80006d20: 00000013 nop
+80006d24: 00000013 nop
+80006d28: 00000013 nop
+80006d2c: 00000013 nop
+80006d30: 00000013 nop
+80006d34: 00000013 nop
+80006d38: 00000013 nop
+80006d3c: 00000013 nop
+80006d40: 00000013 nop
+80006d44: 00000013 nop
+80006d48: 00000013 nop
+80006d4c: 00000013 nop
+80006d50: 00000013 nop
+80006d54: 00000013 nop
+80006d58: 00000013 nop
+80006d5c: 00000013 nop
+80006d60: 00000013 nop
+80006d64: 00000013 nop
+80006d68: 00000013 nop
+80006d6c: 00000013 nop
+80006d70: 00000013 nop
+80006d74: 00000013 nop
+80006d78: 00000013 nop
+80006d7c: 00000013 nop
+80006d80: 00000013 nop
+80006d84: 00000013 nop
+80006d88: 00000013 nop
+80006d8c: 00000013 nop
+80006d90: 00000013 nop
+80006d94: 00000013 nop
+80006d98: 00000013 nop
+80006d9c: 00000013 nop
+80006da0: 00000013 nop
+80006da4: 00000013 nop
+80006da8: 00000013 nop
+80006dac: 00000013 nop
+80006db0: 00000013 nop
+80006db4: 00000013 nop
+80006db8: 00000013 nop
+80006dbc: 00000013 nop
+80006dc0: 00000013 nop
+80006dc4: 00000013 nop
+80006dc8: 00000013 nop
+80006dcc: 00000013 nop
+80006dd0: 00000013 nop
+80006dd4: 00000013 nop
+80006dd8: 00000013 nop
+80006ddc: 00000013 nop
+80006de0: 00000013 nop
+80006de4: 00000013 nop
+80006de8: 00000013 nop
+80006dec: 00000013 nop
+80006df0: 00000013 nop
+80006df4: 00000013 nop
+80006df8: 00000013 nop
+80006dfc: 00000013 nop
+80006e00: 00000013 nop
+80006e04: 00000013 nop
+80006e08: 00000013 nop
+80006e0c: 00000013 nop
+80006e10: 00000013 nop
+80006e14: 00000013 nop
+80006e18: 00000013 nop
+80006e1c: 00000013 nop
+80006e20: 00000013 nop
+80006e24: 00000013 nop
+80006e28: 00000013 nop
+80006e2c: 00000013 nop
+80006e30: 00000013 nop
+80006e34: 00000013 nop
+80006e38: 00000013 nop
+80006e3c: 00000013 nop
+80006e40: 00000013 nop
+80006e44: 00000013 nop
+80006e48: 00000013 nop
+80006e4c: 00000013 nop
+80006e50: 00000013 nop
+80006e54: 00000013 nop
+80006e58: 00000013 nop
+80006e5c: 00000013 nop
+80006e60: 00000013 nop
+80006e64: 00000013 nop
+80006e68: 00000013 nop
+80006e6c: 00000013 nop
+80006e70: 00000013 nop
+80006e74: 00000013 nop
+80006e78: 00000013 nop
+80006e7c: 00000013 nop
+80006e80: 00000013 nop
+80006e84: 00000013 nop
+80006e88: 00000013 nop
+80006e8c: 00000013 nop
+80006e90: 00000013 nop
+80006e94: 00000013 nop
+80006e98: 00000013 nop
+80006e9c: 00000013 nop
+80006ea0: 00000013 nop
+80006ea4: 00000013 nop
+80006ea8: 00000013 nop
+80006eac: 00000013 nop
+80006eb0: 00000013 nop
+80006eb4: 00000013 nop
+80006eb8: 00000013 nop
+80006ebc: 00000013 nop
+80006ec0: 00000013 nop
+80006ec4: 00000013 nop
+80006ec8: 00000013 nop
+80006ecc: 00000013 nop
+80006ed0: 00000013 nop
+80006ed4: 00000013 nop
+80006ed8: 00000013 nop
+80006edc: 00000013 nop
+80006ee0: 00000013 nop
+80006ee4: 00000013 nop
+80006ee8: 00000013 nop
+80006eec: 00000013 nop
+80006ef0: 00000013 nop
+80006ef4: 00000013 nop
+80006ef8: 00000013 nop
+80006efc: 00000013 nop
+80006f00: 00000013 nop
+80006f04: 00000013 nop
+80006f08: 00000013 nop
+80006f0c: 00000013 nop
+80006f10: 00000013 nop
+80006f14: 00000013 nop
+80006f18: 00000013 nop
+80006f1c: 00000013 nop
+80006f20: 00000013 nop
+80006f24: 00000013 nop
+80006f28: 00000013 nop
+80006f2c: 00000013 nop
+80006f30: 00000013 nop
+80006f34: 00000013 nop
+80006f38: 00000013 nop
+80006f3c: 00000013 nop
+80006f40: 00000013 nop
+80006f44: 00000013 nop
+80006f48: 00000013 nop
+80006f4c: 00000013 nop
+80006f50: 00000013 nop
+80006f54: 00000013 nop
+80006f58: 00000013 nop
+80006f5c: 00000013 nop
+80006f60: 00000013 nop
+80006f64: 00000013 nop
+80006f68: 00000013 nop
+80006f6c: 00000013 nop
+80006f70: 00000013 nop
+80006f74: 00000013 nop
+80006f78: 00000013 nop
+80006f7c: 00000013 nop
+80006f80: 00000013 nop
+80006f84: 00000013 nop
+80006f88: 00000013 nop
+80006f8c: 00000013 nop
+80006f90: 00000013 nop
+80006f94: 00000013 nop
+80006f98: 00000013 nop
+80006f9c: 00000013 nop
+80006fa0: 00000013 nop
+80006fa4: 00000013 nop
+80006fa8: 00000013 nop
+80006fac: 00000013 nop
+80006fb0: 00000013 nop
+80006fb4: 00000013 nop
+80006fb8: 00000013 nop
+80006fbc: 00000013 nop
+80006fc0: 00000013 nop
+80006fc4: 00000013 nop
+80006fc8: 00000013 nop
+80006fcc: 00000013 nop
+80006fd0: 00000013 nop
+80006fd4: 00000013 nop
+80006fd8: 00000013 nop
+80006fdc: 00000013 nop
+80006fe0: 00000013 nop
+80006fe4: 00000013 nop
+80006fe8: 00000013 nop
+80006fec: 00000013 nop
+80006ff0: 00000013 nop
+80006ff4: 00000013 nop
+80006ff8: 00000013 nop
+80006ffc: 00000013 nop
+
+80007000 <ROM_2>:
+80007000: 2120 fld fs0,64(a0)
+80007002: 2322 fld ft6,8(sp)
+80007004: 2524 fld fs1,72(a0)
+80007006: 2726 fld fa4,72(sp)
+80007008: 2928 fld fa0,80(a0)
+8000700a: 2b2a fld fs6,136(sp)
+8000700c: 2d2c fld fa1,88(a0)
+8000700e: 2f2e fld ft10,200(sp)
+80007010: 00000013 nop
+80007014: 00000013 nop
+80007018: 00000013 nop
+8000701c: 00000013 nop
+80007020: 00000013 nop
+80007024: 00000013 nop
+80007028: 00000013 nop
+8000702c: 00000013 nop
+80007030: 00000013 nop
+80007034: 00000013 nop
+80007038: 00000013 nop
+8000703c: 00000013 nop
+80007040: 00000013 nop
+80007044: 00000013 nop
+80007048: 00000013 nop
+8000704c: 00000013 nop
+80007050: 00000013 nop
+80007054: 00000013 nop
+80007058: 00000013 nop
+8000705c: 00000013 nop
+80007060: 00000013 nop
+80007064: 00000013 nop
+80007068: 00000013 nop
+8000706c: 00000013 nop
+80007070: 00000013 nop
+80007074: 00000013 nop
+80007078: 00000013 nop
+8000707c: 00000013 nop
+80007080: 00000013 nop
+80007084: 00000013 nop
+80007088: 00000013 nop
+8000708c: 00000013 nop
+80007090: 00000013 nop
+80007094: 00000013 nop
+80007098: 00000013 nop
+8000709c: 00000013 nop
+800070a0: 00000013 nop
+800070a4: 00000013 nop
+800070a8: 00000013 nop
+800070ac: 00000013 nop
+800070b0: 00000013 nop
+800070b4: 00000013 nop
+800070b8: 00000013 nop
+800070bc: 00000013 nop
+800070c0: 00000013 nop
+800070c4: 00000013 nop
+800070c8: 00000013 nop
+800070cc: 00000013 nop
+800070d0: 00000013 nop
+800070d4: 00000013 nop
+800070d8: 00000013 nop
+800070dc: 00000013 nop
+800070e0: 00000013 nop
+800070e4: 00000013 nop
+800070e8: 00000013 nop
+800070ec: 00000013 nop
+800070f0: 00000013 nop
+800070f4: 00000013 nop
+800070f8: 00000013 nop
+800070fc: 00000013 nop
+80007100: 00000013 nop
+80007104: 00000013 nop
+80007108: 00000013 nop
+8000710c: 00000013 nop
+80007110: 00000013 nop
+80007114: 00000013 nop
+80007118: 00000013 nop
+8000711c: 00000013 nop
+80007120: 00000013 nop
+80007124: 00000013 nop
+80007128: 00000013 nop
+8000712c: 00000013 nop
+80007130: 00000013 nop
+80007134: 00000013 nop
+80007138: 00000013 nop
+8000713c: 00000013 nop
+80007140: 00000013 nop
+80007144: 00000013 nop
+80007148: 00000013 nop
+8000714c: 00000013 nop
+80007150: 00000013 nop
+80007154: 00000013 nop
+80007158: 00000013 nop
+8000715c: 00000013 nop
+80007160: 00000013 nop
+80007164: 00000013 nop
+80007168: 00000013 nop
+8000716c: 00000013 nop
+80007170: 00000013 nop
+80007174: 00000013 nop
+80007178: 00000013 nop
+8000717c: 00000013 nop
+80007180: 00000013 nop
+80007184: 00000013 nop
+80007188: 00000013 nop
+8000718c: 00000013 nop
+80007190: 00000013 nop
+80007194: 00000013 nop
+80007198: 00000013 nop
+8000719c: 00000013 nop
+800071a0: 00000013 nop
+800071a4: 00000013 nop
+800071a8: 00000013 nop
+800071ac: 00000013 nop
+800071b0: 00000013 nop
+800071b4: 00000013 nop
+800071b8: 00000013 nop
+800071bc: 00000013 nop
+800071c0: 00000013 nop
+800071c4: 00000013 nop
+800071c8: 00000013 nop
+800071cc: 00000013 nop
+800071d0: 00000013 nop
+800071d4: 00000013 nop
+800071d8: 00000013 nop
+800071dc: 00000013 nop
+800071e0: 00000013 nop
+800071e4: 00000013 nop
+800071e8: 00000013 nop
+800071ec: 00000013 nop
+800071f0: 00000013 nop
+800071f4: 00000013 nop
+800071f8: 00000013 nop
+800071fc: 00000013 nop
+80007200: 00000013 nop
+80007204: 00000013 nop
+80007208: 00000013 nop
+8000720c: 00000013 nop
+80007210: 00000013 nop
+80007214: 00000013 nop
+80007218: 00000013 nop
+8000721c: 00000013 nop
+80007220: 00000013 nop
+80007224: 00000013 nop
+80007228: 00000013 nop
+8000722c: 00000013 nop
+80007230: 00000013 nop
+80007234: 00000013 nop
+80007238: 00000013 nop
+8000723c: 00000013 nop
+80007240: 00000013 nop
+80007244: 00000013 nop
+80007248: 00000013 nop
+8000724c: 00000013 nop
+80007250: 00000013 nop
+80007254: 00000013 nop
+80007258: 00000013 nop
+8000725c: 00000013 nop
+80007260: 00000013 nop
+80007264: 00000013 nop
+80007268: 00000013 nop
+8000726c: 00000013 nop
+80007270: 00000013 nop
+80007274: 00000013 nop
+80007278: 00000013 nop
+8000727c: 00000013 nop
+80007280: 00000013 nop
+80007284: 00000013 nop
+80007288: 00000013 nop
+8000728c: 00000013 nop
+80007290: 00000013 nop
+80007294: 00000013 nop
+80007298: 00000013 nop
+8000729c: 00000013 nop
+800072a0: 00000013 nop
+800072a4: 00000013 nop
+800072a8: 00000013 nop
+800072ac: 00000013 nop
+800072b0: 00000013 nop
+800072b4: 00000013 nop
+800072b8: 00000013 nop
+800072bc: 00000013 nop
+800072c0: 00000013 nop
+800072c4: 00000013 nop
+800072c8: 00000013 nop
+800072cc: 00000013 nop
+800072d0: 00000013 nop
+800072d4: 00000013 nop
+800072d8: 00000013 nop
+800072dc: 00000013 nop
+800072e0: 00000013 nop
+800072e4: 00000013 nop
+800072e8: 00000013 nop
+800072ec: 00000013 nop
+800072f0: 00000013 nop
+800072f4: 00000013 nop
+800072f8: 00000013 nop
+800072fc: 00000013 nop
+80007300: 00000013 nop
+80007304: 00000013 nop
+80007308: 00000013 nop
+8000730c: 00000013 nop
+80007310: 00000013 nop
+80007314: 00000013 nop
+80007318: 00000013 nop
+8000731c: 00000013 nop
+80007320: 00000013 nop
+80007324: 00000013 nop
+80007328: 00000013 nop
+8000732c: 00000013 nop
+80007330: 00000013 nop
+80007334: 00000013 nop
+80007338: 00000013 nop
+8000733c: 00000013 nop
+80007340: 00000013 nop
+80007344: 00000013 nop
+80007348: 00000013 nop
+8000734c: 00000013 nop
+80007350: 00000013 nop
+80007354: 00000013 nop
+80007358: 00000013 nop
+8000735c: 00000013 nop
+80007360: 00000013 nop
+80007364: 00000013 nop
+80007368: 00000013 nop
+8000736c: 00000013 nop
+80007370: 00000013 nop
+80007374: 00000013 nop
+80007378: 00000013 nop
+8000737c: 00000013 nop
+80007380: 00000013 nop
+80007384: 00000013 nop
+80007388: 00000013 nop
+8000738c: 00000013 nop
+80007390: 00000013 nop
+80007394: 00000013 nop
+80007398: 00000013 nop
+8000739c: 00000013 nop
+800073a0: 00000013 nop
+800073a4: 00000013 nop
+800073a8: 00000013 nop
+800073ac: 00000013 nop
+800073b0: 00000013 nop
+800073b4: 00000013 nop
+800073b8: 00000013 nop
+800073bc: 00000013 nop
+800073c0: 00000013 nop
+800073c4: 00000013 nop
+800073c8: 00000013 nop
+800073cc: 00000013 nop
+800073d0: 00000013 nop
+800073d4: 00000013 nop
+800073d8: 00000013 nop
+800073dc: 00000013 nop
+800073e0: 00000013 nop
+800073e4: 00000013 nop
+800073e8: 00000013 nop
+800073ec: 00000013 nop
+800073f0: 00000013 nop
+800073f4: 00000013 nop
+800073f8: 00000013 nop
+800073fc: 00000013 nop
+80007400: 00000013 nop
+80007404: 00000013 nop
+80007408: 00000013 nop
+8000740c: 00000013 nop
+80007410: 00000013 nop
+80007414: 00000013 nop
+80007418: 00000013 nop
+8000741c: 00000013 nop
+80007420: 00000013 nop
+80007424: 00000013 nop
+80007428: 00000013 nop
+8000742c: 00000013 nop
+80007430: 00000013 nop
+80007434: 00000013 nop
+80007438: 00000013 nop
+8000743c: 00000013 nop
+80007440: 00000013 nop
+80007444: 00000013 nop
+80007448: 00000013 nop
+8000744c: 00000013 nop
+80007450: 00000013 nop
+80007454: 00000013 nop
+80007458: 00000013 nop
+8000745c: 00000013 nop
+80007460: 00000013 nop
+80007464: 00000013 nop
+80007468: 00000013 nop
+8000746c: 00000013 nop
+80007470: 00000013 nop
+80007474: 00000013 nop
+80007478: 00000013 nop
+8000747c: 00000013 nop
+80007480: 00000013 nop
+80007484: 00000013 nop
+80007488: 00000013 nop
+8000748c: 00000013 nop
+80007490: 00000013 nop
+80007494: 00000013 nop
+80007498: 00000013 nop
+8000749c: 00000013 nop
+800074a0: 00000013 nop
+800074a4: 00000013 nop
+800074a8: 00000013 nop
+800074ac: 00000013 nop
+800074b0: 00000013 nop
+800074b4: 00000013 nop
+800074b8: 00000013 nop
+800074bc: 00000013 nop
+800074c0: 00000013 nop
+800074c4: 00000013 nop
+800074c8: 00000013 nop
+800074cc: 00000013 nop
+800074d0: 00000013 nop
+800074d4: 00000013 nop
+800074d8: 00000013 nop
+800074dc: 00000013 nop
+800074e0: 00000013 nop
+800074e4: 00000013 nop
+800074e8: 00000013 nop
+800074ec: 00000013 nop
+800074f0: 00000013 nop
+800074f4: 00000013 nop
+800074f8: 00000013 nop
+800074fc: 00000013 nop
+80007500: 00000013 nop
+80007504: 00000013 nop
+80007508: 00000013 nop
+8000750c: 00000013 nop
+80007510: 00000013 nop
+80007514: 00000013 nop
+80007518: 00000013 nop
+8000751c: 00000013 nop
+80007520: 00000013 nop
+80007524: 00000013 nop
+80007528: 00000013 nop
+8000752c: 00000013 nop
+80007530: 00000013 nop
+80007534: 00000013 nop
+80007538: 00000013 nop
+8000753c: 00000013 nop
+80007540: 00000013 nop
+80007544: 00000013 nop
+80007548: 00000013 nop
+8000754c: 00000013 nop
+80007550: 00000013 nop
+80007554: 00000013 nop
+80007558: 00000013 nop
+8000755c: 00000013 nop
+80007560: 00000013 nop
+80007564: 00000013 nop
+80007568: 00000013 nop
+8000756c: 00000013 nop
+80007570: 00000013 nop
+80007574: 00000013 nop
+80007578: 00000013 nop
+8000757c: 00000013 nop
+80007580: 00000013 nop
+80007584: 00000013 nop
+80007588: 00000013 nop
+8000758c: 00000013 nop
+80007590: 00000013 nop
+80007594: 00000013 nop
+80007598: 00000013 nop
+8000759c: 00000013 nop
+800075a0: 00000013 nop
+800075a4: 00000013 nop
+800075a8: 00000013 nop
+800075ac: 00000013 nop
+800075b0: 00000013 nop
+800075b4: 00000013 nop
+800075b8: 00000013 nop
+800075bc: 00000013 nop
+800075c0: 00000013 nop
+800075c4: 00000013 nop
+800075c8: 00000013 nop
+800075cc: 00000013 nop
+800075d0: 00000013 nop
+800075d4: 00000013 nop
+800075d8: 00000013 nop
+800075dc: 00000013 nop
+800075e0: 00000013 nop
+800075e4: 00000013 nop
+800075e8: 00000013 nop
+800075ec: 00000013 nop
+800075f0: 00000013 nop
+800075f4: 00000013 nop
+800075f8: 00000013 nop
+800075fc: 00000013 nop
+80007600: 00000013 nop
+80007604: 00000013 nop
+80007608: 00000013 nop
+8000760c: 00000013 nop
+80007610: 00000013 nop
+80007614: 00000013 nop
+80007618: 00000013 nop
+8000761c: 00000013 nop
+80007620: 00000013 nop
+80007624: 00000013 nop
+80007628: 00000013 nop
+8000762c: 00000013 nop
+80007630: 00000013 nop
+80007634: 00000013 nop
+80007638: 00000013 nop
+8000763c: 00000013 nop
+80007640: 00000013 nop
+80007644: 00000013 nop
+80007648: 00000013 nop
+8000764c: 00000013 nop
+80007650: 00000013 nop
+80007654: 00000013 nop
+80007658: 00000013 nop
+8000765c: 00000013 nop
+80007660: 00000013 nop
+80007664: 00000013 nop
+80007668: 00000013 nop
+8000766c: 00000013 nop
+80007670: 00000013 nop
+80007674: 00000013 nop
+80007678: 00000013 nop
+8000767c: 00000013 nop
+80007680: 00000013 nop
+80007684: 00000013 nop
+80007688: 00000013 nop
+8000768c: 00000013 nop
+80007690: 00000013 nop
+80007694: 00000013 nop
+80007698: 00000013 nop
+8000769c: 00000013 nop
+800076a0: 00000013 nop
+800076a4: 00000013 nop
+800076a8: 00000013 nop
+800076ac: 00000013 nop
+800076b0: 00000013 nop
+800076b4: 00000013 nop
+800076b8: 00000013 nop
+800076bc: 00000013 nop
+800076c0: 00000013 nop
+800076c4: 00000013 nop
+800076c8: 00000013 nop
+800076cc: 00000013 nop
+800076d0: 00000013 nop
+800076d4: 00000013 nop
+800076d8: 00000013 nop
+800076dc: 00000013 nop
+800076e0: 00000013 nop
+800076e4: 00000013 nop
+800076e8: 00000013 nop
+800076ec: 00000013 nop
+800076f0: 00000013 nop
+800076f4: 00000013 nop
+800076f8: 00000013 nop
+800076fc: 00000013 nop
+80007700: 00000013 nop
+80007704: 00000013 nop
+80007708: 00000013 nop
+8000770c: 00000013 nop
+80007710: 00000013 nop
+80007714: 00000013 nop
+80007718: 00000013 nop
+8000771c: 00000013 nop
+80007720: 00000013 nop
+80007724: 00000013 nop
+80007728: 00000013 nop
+8000772c: 00000013 nop
+80007730: 00000013 nop
+80007734: 00000013 nop
+80007738: 00000013 nop
+8000773c: 00000013 nop
+80007740: 00000013 nop
+80007744: 00000013 nop
+80007748: 00000013 nop
+8000774c: 00000013 nop
+80007750: 00000013 nop
+80007754: 00000013 nop
+80007758: 00000013 nop
+8000775c: 00000013 nop
+80007760: 00000013 nop
+80007764: 00000013 nop
+80007768: 00000013 nop
+8000776c: 00000013 nop
+80007770: 00000013 nop
+80007774: 00000013 nop
+80007778: 00000013 nop
+8000777c: 00000013 nop
+80007780: 00000013 nop
+80007784: 00000013 nop
+80007788: 00000013 nop
+8000778c: 00000013 nop
+80007790: 00000013 nop
+80007794: 00000013 nop
+80007798: 00000013 nop
+8000779c: 00000013 nop
+800077a0: 00000013 nop
+800077a4: 00000013 nop
+800077a8: 00000013 nop
+800077ac: 00000013 nop
+800077b0: 00000013 nop
+800077b4: 00000013 nop
+800077b8: 00000013 nop
+800077bc: 00000013 nop
+800077c0: 00000013 nop
+800077c4: 00000013 nop
+800077c8: 00000013 nop
+800077cc: 00000013 nop
+800077d0: 00000013 nop
+800077d4: 00000013 nop
+800077d8: 00000013 nop
+800077dc: 00000013 nop
+800077e0: 00000013 nop
+800077e4: 00000013 nop
+800077e8: 00000013 nop
+800077ec: 00000013 nop
+800077f0: 00000013 nop
+800077f4: 00000013 nop
+800077f8: 00000013 nop
+800077fc: 00000013 nop
+80007800: 00000013 nop
+80007804: 00000013 nop
+80007808: 00000013 nop
+8000780c: 00000013 nop
+80007810: 00000013 nop
+80007814: 00000013 nop
+80007818: 00000013 nop
+8000781c: 00000013 nop
+80007820: 00000013 nop
+80007824: 00000013 nop
+80007828: 00000013 nop
+8000782c: 00000013 nop
+80007830: 00000013 nop
+80007834: 00000013 nop
+80007838: 00000013 nop
+8000783c: 00000013 nop
+80007840: 00000013 nop
+80007844: 00000013 nop
+80007848: 00000013 nop
+8000784c: 00000013 nop
+80007850: 00000013 nop
+80007854: 00000013 nop
+80007858: 00000013 nop
+8000785c: 00000013 nop
+80007860: 00000013 nop
+80007864: 00000013 nop
+80007868: 00000013 nop
+8000786c: 00000013 nop
+80007870: 00000013 nop
+80007874: 00000013 nop
+80007878: 00000013 nop
+8000787c: 00000013 nop
+80007880: 00000013 nop
+80007884: 00000013 nop
+80007888: 00000013 nop
+8000788c: 00000013 nop
+80007890: 00000013 nop
+80007894: 00000013 nop
+80007898: 00000013 nop
+8000789c: 00000013 nop
+800078a0: 00000013 nop
+800078a4: 00000013 nop
+800078a8: 00000013 nop
+800078ac: 00000013 nop
+800078b0: 00000013 nop
+800078b4: 00000013 nop
+800078b8: 00000013 nop
+800078bc: 00000013 nop
+800078c0: 00000013 nop
+800078c4: 00000013 nop
+800078c8: 00000013 nop
+800078cc: 00000013 nop
+800078d0: 00000013 nop
+800078d4: 00000013 nop
+800078d8: 00000013 nop
+800078dc: 00000013 nop
+800078e0: 00000013 nop
+800078e4: 00000013 nop
+800078e8: 00000013 nop
+800078ec: 00000013 nop
+800078f0: 00000013 nop
+800078f4: 00000013 nop
+800078f8: 00000013 nop
+800078fc: 00000013 nop
+80007900: 00000013 nop
+80007904: 00000013 nop
+80007908: 00000013 nop
+8000790c: 00000013 nop
+80007910: 00000013 nop
+80007914: 00000013 nop
+80007918: 00000013 nop
+8000791c: 00000013 nop
+80007920: 00000013 nop
+80007924: 00000013 nop
+80007928: 00000013 nop
+8000792c: 00000013 nop
+80007930: 00000013 nop
+80007934: 00000013 nop
+80007938: 00000013 nop
+8000793c: 00000013 nop
+80007940: 00000013 nop
+80007944: 00000013 nop
+80007948: 00000013 nop
+8000794c: 00000013 nop
+80007950: 00000013 nop
+80007954: 00000013 nop
+80007958: 00000013 nop
+8000795c: 00000013 nop
+80007960: 00000013 nop
+80007964: 00000013 nop
+80007968: 00000013 nop
+8000796c: 00000013 nop
+80007970: 00000013 nop
+80007974: 00000013 nop
+80007978: 00000013 nop
+8000797c: 00000013 nop
+80007980: 00000013 nop
+80007984: 00000013 nop
+80007988: 00000013 nop
+8000798c: 00000013 nop
+80007990: 00000013 nop
+80007994: 00000013 nop
+80007998: 00000013 nop
+8000799c: 00000013 nop
+800079a0: 00000013 nop
+800079a4: 00000013 nop
+800079a8: 00000013 nop
+800079ac: 00000013 nop
+800079b0: 00000013 nop
+800079b4: 00000013 nop
+800079b8: 00000013 nop
+800079bc: 00000013 nop
+800079c0: 00000013 nop
+800079c4: 00000013 nop
+800079c8: 00000013 nop
+800079cc: 00000013 nop
+800079d0: 00000013 nop
+800079d4: 00000013 nop
+800079d8: 00000013 nop
+800079dc: 00000013 nop
+800079e0: 00000013 nop
+800079e4: 00000013 nop
+800079e8: 00000013 nop
+800079ec: 00000013 nop
+800079f0: 00000013 nop
+800079f4: 00000013 nop
+800079f8: 00000013 nop
+800079fc: 00000013 nop
+80007a00: 00000013 nop
+80007a04: 00000013 nop
+80007a08: 00000013 nop
+80007a0c: 00000013 nop
+80007a10: 00000013 nop
+80007a14: 00000013 nop
+80007a18: 00000013 nop
+80007a1c: 00000013 nop
+80007a20: 00000013 nop
+80007a24: 00000013 nop
+80007a28: 00000013 nop
+80007a2c: 00000013 nop
+80007a30: 00000013 nop
+80007a34: 00000013 nop
+80007a38: 00000013 nop
+80007a3c: 00000013 nop
+80007a40: 00000013 nop
+80007a44: 00000013 nop
+80007a48: 00000013 nop
+80007a4c: 00000013 nop
+80007a50: 00000013 nop
+80007a54: 00000013 nop
+80007a58: 00000013 nop
+80007a5c: 00000013 nop
+80007a60: 00000013 nop
+80007a64: 00000013 nop
+80007a68: 00000013 nop
+80007a6c: 00000013 nop
+80007a70: 00000013 nop
+80007a74: 00000013 nop
+80007a78: 00000013 nop
+80007a7c: 00000013 nop
+80007a80: 00000013 nop
+80007a84: 00000013 nop
+80007a88: 00000013 nop
+80007a8c: 00000013 nop
+80007a90: 00000013 nop
+80007a94: 00000013 nop
+80007a98: 00000013 nop
+80007a9c: 00000013 nop
+80007aa0: 00000013 nop
+80007aa4: 00000013 nop
+80007aa8: 00000013 nop
+80007aac: 00000013 nop
+80007ab0: 00000013 nop
+80007ab4: 00000013 nop
+80007ab8: 00000013 nop
+80007abc: 00000013 nop
+80007ac0: 00000013 nop
+80007ac4: 00000013 nop
+80007ac8: 00000013 nop
+80007acc: 00000013 nop
+80007ad0: 00000013 nop
+80007ad4: 00000013 nop
+80007ad8: 00000013 nop
+80007adc: 00000013 nop
+80007ae0: 00000013 nop
+80007ae4: 00000013 nop
+80007ae8: 00000013 nop
+80007aec: 00000013 nop
+80007af0: 00000013 nop
+80007af4: 00000013 nop
+80007af8: 00000013 nop
+80007afc: 00000013 nop
+80007b00: 00000013 nop
+80007b04: 00000013 nop
+80007b08: 00000013 nop
+80007b0c: 00000013 nop
+80007b10: 00000013 nop
+80007b14: 00000013 nop
+80007b18: 00000013 nop
+80007b1c: 00000013 nop
+80007b20: 00000013 nop
+80007b24: 00000013 nop
+80007b28: 00000013 nop
+80007b2c: 00000013 nop
+80007b30: 00000013 nop
+80007b34: 00000013 nop
+80007b38: 00000013 nop
+80007b3c: 00000013 nop
+80007b40: 00000013 nop
+80007b44: 00000013 nop
+80007b48: 00000013 nop
+80007b4c: 00000013 nop
+80007b50: 00000013 nop
+80007b54: 00000013 nop
+80007b58: 00000013 nop
+80007b5c: 00000013 nop
+80007b60: 00000013 nop
+80007b64: 00000013 nop
+80007b68: 00000013 nop
+80007b6c: 00000013 nop
+80007b70: 00000013 nop
+80007b74: 00000013 nop
+80007b78: 00000013 nop
+80007b7c: 00000013 nop
+80007b80: 00000013 nop
+80007b84: 00000013 nop
+80007b88: 00000013 nop
+80007b8c: 00000013 nop
+80007b90: 00000013 nop
+80007b94: 00000013 nop
+80007b98: 00000013 nop
+80007b9c: 00000013 nop
+80007ba0: 00000013 nop
+80007ba4: 00000013 nop
+80007ba8: 00000013 nop
+80007bac: 00000013 nop
+80007bb0: 00000013 nop
+80007bb4: 00000013 nop
+80007bb8: 00000013 nop
+80007bbc: 00000013 nop
+80007bc0: 00000013 nop
+80007bc4: 00000013 nop
+80007bc8: 00000013 nop
+80007bcc: 00000013 nop
+80007bd0: 00000013 nop
+80007bd4: 00000013 nop
+80007bd8: 00000013 nop
+80007bdc: 00000013 nop
+80007be0: 00000013 nop
+80007be4: 00000013 nop
+80007be8: 00000013 nop
+80007bec: 00000013 nop
+80007bf0: 00000013 nop
+80007bf4: 00000013 nop
+80007bf8: 00000013 nop
+80007bfc: 00000013 nop
+80007c00: 00000013 nop
+80007c04: 00000013 nop
+80007c08: 00000013 nop
+80007c0c: 00000013 nop
+80007c10: 00000013 nop
+80007c14: 00000013 nop
+80007c18: 00000013 nop
+80007c1c: 00000013 nop
+80007c20: 00000013 nop
+80007c24: 00000013 nop
+80007c28: 00000013 nop
+80007c2c: 00000013 nop
+80007c30: 00000013 nop
+80007c34: 00000013 nop
+80007c38: 00000013 nop
+80007c3c: 00000013 nop
+80007c40: 00000013 nop
+80007c44: 00000013 nop
+80007c48: 00000013 nop
+80007c4c: 00000013 nop
+80007c50: 00000013 nop
+80007c54: 00000013 nop
+80007c58: 00000013 nop
+80007c5c: 00000013 nop
+80007c60: 00000013 nop
+80007c64: 00000013 nop
+80007c68: 00000013 nop
+80007c6c: 00000013 nop
+80007c70: 00000013 nop
+80007c74: 00000013 nop
+80007c78: 00000013 nop
+80007c7c: 00000013 nop
+80007c80: 00000013 nop
+80007c84: 00000013 nop
+80007c88: 00000013 nop
+80007c8c: 00000013 nop
+80007c90: 00000013 nop
+80007c94: 00000013 nop
+80007c98: 00000013 nop
+80007c9c: 00000013 nop
+80007ca0: 00000013 nop
+80007ca4: 00000013 nop
+80007ca8: 00000013 nop
+80007cac: 00000013 nop
+80007cb0: 00000013 nop
+80007cb4: 00000013 nop
+80007cb8: 00000013 nop
+80007cbc: 00000013 nop
+80007cc0: 00000013 nop
+80007cc4: 00000013 nop
+80007cc8: 00000013 nop
+80007ccc: 00000013 nop
+80007cd0: 00000013 nop
+80007cd4: 00000013 nop
+80007cd8: 00000013 nop
+80007cdc: 00000013 nop
+80007ce0: 00000013 nop
+80007ce4: 00000013 nop
+80007ce8: 00000013 nop
+80007cec: 00000013 nop
+80007cf0: 00000013 nop
+80007cf4: 00000013 nop
+80007cf8: 00000013 nop
+80007cfc: 00000013 nop
+80007d00: 00000013 nop
+80007d04: 00000013 nop
+80007d08: 00000013 nop
+80007d0c: 00000013 nop
+80007d10: 00000013 nop
+80007d14: 00000013 nop
+80007d18: 00000013 nop
+80007d1c: 00000013 nop
+80007d20: 00000013 nop
+80007d24: 00000013 nop
+80007d28: 00000013 nop
+80007d2c: 00000013 nop
+80007d30: 00000013 nop
+80007d34: 00000013 nop
+80007d38: 00000013 nop
+80007d3c: 00000013 nop
+80007d40: 00000013 nop
+80007d44: 00000013 nop
+80007d48: 00000013 nop
+80007d4c: 00000013 nop
+80007d50: 00000013 nop
+80007d54: 00000013 nop
+80007d58: 00000013 nop
+80007d5c: 00000013 nop
+80007d60: 00000013 nop
+80007d64: 00000013 nop
+80007d68: 00000013 nop
+80007d6c: 00000013 nop
+80007d70: 00000013 nop
+80007d74: 00000013 nop
+80007d78: 00000013 nop
+80007d7c: 00000013 nop
+80007d80: 00000013 nop
+80007d84: 00000013 nop
+80007d88: 00000013 nop
+80007d8c: 00000013 nop
+80007d90: 00000013 nop
+80007d94: 00000013 nop
+80007d98: 00000013 nop
+80007d9c: 00000013 nop
+80007da0: 00000013 nop
+80007da4: 00000013 nop
+80007da8: 00000013 nop
+80007dac: 00000013 nop
+80007db0: 00000013 nop
+80007db4: 00000013 nop
+80007db8: 00000013 nop
+80007dbc: 00000013 nop
+80007dc0: 00000013 nop
+80007dc4: 00000013 nop
+80007dc8: 00000013 nop
+80007dcc: 00000013 nop
+80007dd0: 00000013 nop
+80007dd4: 00000013 nop
+80007dd8: 00000013 nop
+80007ddc: 00000013 nop
+80007de0: 00000013 nop
+80007de4: 00000013 nop
+80007de8: 00000013 nop
+80007dec: 00000013 nop
+80007df0: 00000013 nop
+80007df4: 00000013 nop
+80007df8: 00000013 nop
+80007dfc: 00000013 nop
+80007e00: 00000013 nop
+80007e04: 00000013 nop
+80007e08: 00000013 nop
+80007e0c: 00000013 nop
+80007e10: 00000013 nop
+80007e14: 00000013 nop
+80007e18: 00000013 nop
+80007e1c: 00000013 nop
+80007e20: 00000013 nop
+80007e24: 00000013 nop
+80007e28: 00000013 nop
+80007e2c: 00000013 nop
+80007e30: 00000013 nop
+80007e34: 00000013 nop
+80007e38: 00000013 nop
+80007e3c: 00000013 nop
+80007e40: 00000013 nop
+80007e44: 00000013 nop
+80007e48: 00000013 nop
+80007e4c: 00000013 nop
+80007e50: 00000013 nop
+80007e54: 00000013 nop
+80007e58: 00000013 nop
+80007e5c: 00000013 nop
+80007e60: 00000013 nop
+80007e64: 00000013 nop
+80007e68: 00000013 nop
+80007e6c: 00000013 nop
+80007e70: 00000013 nop
+80007e74: 00000013 nop
+80007e78: 00000013 nop
+80007e7c: 00000013 nop
+80007e80: 00000013 nop
+80007e84: 00000013 nop
+80007e88: 00000013 nop
+80007e8c: 00000013 nop
+80007e90: 00000013 nop
+80007e94: 00000013 nop
+80007e98: 00000013 nop
+80007e9c: 00000013 nop
+80007ea0: 00000013 nop
+80007ea4: 00000013 nop
+80007ea8: 00000013 nop
+80007eac: 00000013 nop
+80007eb0: 00000013 nop
+80007eb4: 00000013 nop
+80007eb8: 00000013 nop
+80007ebc: 00000013 nop
+80007ec0: 00000013 nop
+80007ec4: 00000013 nop
+80007ec8: 00000013 nop
+80007ecc: 00000013 nop
+80007ed0: 00000013 nop
+80007ed4: 00000013 nop
+80007ed8: 00000013 nop
+80007edc: 00000013 nop
+80007ee0: 00000013 nop
+80007ee4: 00000013 nop
+80007ee8: 00000013 nop
+80007eec: 00000013 nop
+80007ef0: 00000013 nop
+80007ef4: 00000013 nop
+80007ef8: 00000013 nop
+80007efc: 00000013 nop
+80007f00: 00000013 nop
+80007f04: 00000013 nop
+80007f08: 00000013 nop
+80007f0c: 00000013 nop
+80007f10: 00000013 nop
+80007f14: 00000013 nop
+80007f18: 00000013 nop
+80007f1c: 00000013 nop
+80007f20: 00000013 nop
+80007f24: 00000013 nop
+80007f28: 00000013 nop
+80007f2c: 00000013 nop
+80007f30: 00000013 nop
+80007f34: 00000013 nop
+80007f38: 00000013 nop
+80007f3c: 00000013 nop
+80007f40: 00000013 nop
+80007f44: 00000013 nop
+80007f48: 00000013 nop
+80007f4c: 00000013 nop
+80007f50: 00000013 nop
+80007f54: 00000013 nop
+80007f58: 00000013 nop
+80007f5c: 00000013 nop
+80007f60: 00000013 nop
+80007f64: 00000013 nop
+80007f68: 00000013 nop
+80007f6c: 00000013 nop
+80007f70: 00000013 nop
+80007f74: 00000013 nop
+80007f78: 00000013 nop
+80007f7c: 00000013 nop
+80007f80: 00000013 nop
+80007f84: 00000013 nop
+80007f88: 00000013 nop
+80007f8c: 00000013 nop
+80007f90: 00000013 nop
+80007f94: 00000013 nop
+80007f98: 00000013 nop
+80007f9c: 00000013 nop
+80007fa0: 00000013 nop
+80007fa4: 00000013 nop
+80007fa8: 00000013 nop
+80007fac: 00000013 nop
+80007fb0: 00000013 nop
+80007fb4: 00000013 nop
+80007fb8: 00000013 nop
+80007fbc: 00000013 nop
+80007fc0: 00000013 nop
+80007fc4: 00000013 nop
+80007fc8: 00000013 nop
+80007fcc: 00000013 nop
+80007fd0: 00000013 nop
+80007fd4: 00000013 nop
+80007fd8: 00000013 nop
+80007fdc: 00000013 nop
+80007fe0: 00000013 nop
+80007fe4: 00000013 nop
+80007fe8: 00000013 nop
+80007fec: 00000013 nop
+80007ff0: 00000013 nop
+80007ff4: 00000013 nop
+80007ff8: 00000013 nop
+80007ffc: 00000013 nop
+
+80008000 <ROM_3>:
+80008000: 3130 fld fa2,96(a0)
+80008002: 3332 fld ft6,296(sp)
+80008004: 3534 fld fa3,104(a0)
+80008006: 3736 fld fa4,360(sp)
+80008008: 3938 fld fa4,112(a0)
+8000800a: 3b3a fld fs6,424(sp)
+8000800c: 3d3c fld fa5,120(a0)
+8000800e: 3f3e fld ft10,488(sp)
+80008010: 00000013 nop
+80008014: 00000013 nop
+80008018: 00000013 nop
+8000801c: 00000013 nop
+80008020: 00000013 nop
+80008024: 00000013 nop
+80008028: 00000013 nop
+8000802c: 00000013 nop
+80008030: 00000013 nop
+80008034: 00000013 nop
+80008038: 00000013 nop
+8000803c: 00000013 nop
+80008040: 00000013 nop
+80008044: 00000013 nop
+80008048: 00000013 nop
+8000804c: 00000013 nop
+80008050: 00000013 nop
+80008054: 00000013 nop
+80008058: 00000013 nop
+8000805c: 00000013 nop
+80008060: 00000013 nop
+80008064: 00000013 nop
+80008068: 00000013 nop
+8000806c: 00000013 nop
+80008070: 00000013 nop
+80008074: 00000013 nop
+80008078: 00000013 nop
+8000807c: 00000013 nop
+80008080: 00000013 nop
+80008084: 00000013 nop
+80008088: 00000013 nop
+8000808c: 00000013 nop
+80008090: 00000013 nop
+80008094: 00000013 nop
+80008098: 00000013 nop
+8000809c: 00000013 nop
+800080a0: 00000013 nop
+800080a4: 00000013 nop
+800080a8: 00000013 nop
+800080ac: 00000013 nop
+800080b0: 00000013 nop
+800080b4: 00000013 nop
+800080b8: 00000013 nop
+800080bc: 00000013 nop
+800080c0: 00000013 nop
+800080c4: 00000013 nop
+800080c8: 00000013 nop
+800080cc: 00000013 nop
+800080d0: 00000013 nop
+800080d4: 00000013 nop
+800080d8: 00000013 nop
+800080dc: 00000013 nop
+800080e0: 00000013 nop
+800080e4: 00000013 nop
+800080e8: 00000013 nop
+800080ec: 00000013 nop
+800080f0: 00000013 nop
+800080f4: 00000013 nop
+800080f8: 00000013 nop
+800080fc: 00000013 nop
+80008100: 00000013 nop
+80008104: 00000013 nop
+80008108: 00000013 nop
+8000810c: 00000013 nop
+80008110: 00000013 nop
+80008114: 00000013 nop
+80008118: 00000013 nop
+8000811c: 00000013 nop
+80008120: 00000013 nop
+80008124: 00000013 nop
+80008128: 00000013 nop
+8000812c: 00000013 nop
+80008130: 00000013 nop
+80008134: 00000013 nop
+80008138: 00000013 nop
+8000813c: 00000013 nop
+80008140: 00000013 nop
+80008144: 00000013 nop
+80008148: 00000013 nop
+8000814c: 00000013 nop
+80008150: 00000013 nop
+80008154: 00000013 nop
+80008158: 00000013 nop
+8000815c: 00000013 nop
+80008160: 00000013 nop
+80008164: 00000013 nop
+80008168: 00000013 nop
+8000816c: 00000013 nop
+80008170: 00000013 nop
+80008174: 00000013 nop
+80008178: 00000013 nop
+8000817c: 00000013 nop
+80008180: 00000013 nop
+80008184: 00000013 nop
+80008188: 00000013 nop
+8000818c: 00000013 nop
+80008190: 00000013 nop
+80008194: 00000013 nop
+80008198: 00000013 nop
+8000819c: 00000013 nop
+800081a0: 00000013 nop
+800081a4: 00000013 nop
+800081a8: 00000013 nop
+800081ac: 00000013 nop
+800081b0: 00000013 nop
+800081b4: 00000013 nop
+800081b8: 00000013 nop
+800081bc: 00000013 nop
+800081c0: 00000013 nop
+800081c4: 00000013 nop
+800081c8: 00000013 nop
+800081cc: 00000013 nop
+800081d0: 00000013 nop
+800081d4: 00000013 nop
+800081d8: 00000013 nop
+800081dc: 00000013 nop
+800081e0: 00000013 nop
+800081e4: 00000013 nop
+800081e8: 00000013 nop
+800081ec: 00000013 nop
+800081f0: 00000013 nop
+800081f4: 00000013 nop
+800081f8: 00000013 nop
+800081fc: 00000013 nop
+80008200: 00000013 nop
+80008204: 00000013 nop
+80008208: 00000013 nop
+8000820c: 00000013 nop
+80008210: 00000013 nop
+80008214: 00000013 nop
+80008218: 00000013 nop
+8000821c: 00000013 nop
+80008220: 00000013 nop
+80008224: 00000013 nop
+80008228: 00000013 nop
+8000822c: 00000013 nop
+80008230: 00000013 nop
+80008234: 00000013 nop
+80008238: 00000013 nop
+8000823c: 00000013 nop
+80008240: 00000013 nop
+80008244: 00000013 nop
+80008248: 00000013 nop
+8000824c: 00000013 nop
+80008250: 00000013 nop
+80008254: 00000013 nop
+80008258: 00000013 nop
+8000825c: 00000013 nop
+80008260: 00000013 nop
+80008264: 00000013 nop
+80008268: 00000013 nop
+8000826c: 00000013 nop
+80008270: 00000013 nop
+80008274: 00000013 nop
+80008278: 00000013 nop
+8000827c: 00000013 nop
+80008280: 00000013 nop
+80008284: 00000013 nop
+80008288: 00000013 nop
+8000828c: 00000013 nop
+80008290: 00000013 nop
+80008294: 00000013 nop
+80008298: 00000013 nop
+8000829c: 00000013 nop
+800082a0: 00000013 nop
+800082a4: 00000013 nop
+800082a8: 00000013 nop
+800082ac: 00000013 nop
+800082b0: 00000013 nop
+800082b4: 00000013 nop
+800082b8: 00000013 nop
+800082bc: 00000013 nop
+800082c0: 00000013 nop
+800082c4: 00000013 nop
+800082c8: 00000013 nop
+800082cc: 00000013 nop
+800082d0: 00000013 nop
+800082d4: 00000013 nop
+800082d8: 00000013 nop
+800082dc: 00000013 nop
+800082e0: 00000013 nop
+800082e4: 00000013 nop
+800082e8: 00000013 nop
+800082ec: 00000013 nop
+800082f0: 00000013 nop
+800082f4: 00000013 nop
+800082f8: 00000013 nop
+800082fc: 00000013 nop
+80008300: 00000013 nop
+80008304: 00000013 nop
+80008308: 00000013 nop
+8000830c: 00000013 nop
+80008310: 00000013 nop
+80008314: 00000013 nop
+80008318: 00000013 nop
+8000831c: 00000013 nop
+80008320: 00000013 nop
+80008324: 00000013 nop
+80008328: 00000013 nop
+8000832c: 00000013 nop
+80008330: 00000013 nop
+80008334: 00000013 nop
+80008338: 00000013 nop
+8000833c: 00000013 nop
+80008340: 00000013 nop
+80008344: 00000013 nop
+80008348: 00000013 nop
+8000834c: 00000013 nop
+80008350: 00000013 nop
+80008354: 00000013 nop
+80008358: 00000013 nop
+8000835c: 00000013 nop
+80008360: 00000013 nop
+80008364: 00000013 nop
+80008368: 00000013 nop
+8000836c: 00000013 nop
+80008370: 00000013 nop
+80008374: 00000013 nop
+80008378: 00000013 nop
+8000837c: 00000013 nop
+80008380: 00000013 nop
+80008384: 00000013 nop
+80008388: 00000013 nop
+8000838c: 00000013 nop
+80008390: 00000013 nop
+80008394: 00000013 nop
+80008398: 00000013 nop
+8000839c: 00000013 nop
+800083a0: 00000013 nop
+800083a4: 00000013 nop
+800083a8: 00000013 nop
+800083ac: 00000013 nop
+800083b0: 00000013 nop
+800083b4: 00000013 nop
+800083b8: 00000013 nop
+800083bc: 00000013 nop
+800083c0: 00000013 nop
+800083c4: 00000013 nop
+800083c8: 00000013 nop
+800083cc: 00000013 nop
+800083d0: 00000013 nop
+800083d4: 00000013 nop
+800083d8: 00000013 nop
+800083dc: 00000013 nop
+800083e0: 00000013 nop
+800083e4: 00000013 nop
+800083e8: 00000013 nop
+800083ec: 00000013 nop
+800083f0: 00000013 nop
+800083f4: 00000013 nop
+800083f8: 00000013 nop
+800083fc: 00000013 nop
+80008400: 00000013 nop
+80008404: 00000013 nop
+80008408: 00000013 nop
+8000840c: 00000013 nop
+80008410: 00000013 nop
+80008414: 00000013 nop
+80008418: 00000013 nop
+8000841c: 00000013 nop
+80008420: 00000013 nop
+80008424: 00000013 nop
+80008428: 00000013 nop
+8000842c: 00000013 nop
+80008430: 00000013 nop
+80008434: 00000013 nop
+80008438: 00000013 nop
+8000843c: 00000013 nop
+80008440: 00000013 nop
+80008444: 00000013 nop
+80008448: 00000013 nop
+8000844c: 00000013 nop
+80008450: 00000013 nop
+80008454: 00000013 nop
+80008458: 00000013 nop
+8000845c: 00000013 nop
+80008460: 00000013 nop
+80008464: 00000013 nop
+80008468: 00000013 nop
+8000846c: 00000013 nop
+80008470: 00000013 nop
+80008474: 00000013 nop
+80008478: 00000013 nop
+8000847c: 00000013 nop
+80008480: 00000013 nop
+80008484: 00000013 nop
+80008488: 00000013 nop
+8000848c: 00000013 nop
+80008490: 00000013 nop
+80008494: 00000013 nop
+80008498: 00000013 nop
+8000849c: 00000013 nop
+800084a0: 00000013 nop
+800084a4: 00000013 nop
+800084a8: 00000013 nop
+800084ac: 00000013 nop
+800084b0: 00000013 nop
+800084b4: 00000013 nop
+800084b8: 00000013 nop
+800084bc: 00000013 nop
+800084c0: 00000013 nop
+800084c4: 00000013 nop
+800084c8: 00000013 nop
+800084cc: 00000013 nop
+800084d0: 00000013 nop
+800084d4: 00000013 nop
+800084d8: 00000013 nop
+800084dc: 00000013 nop
+800084e0: 00000013 nop
+800084e4: 00000013 nop
+800084e8: 00000013 nop
+800084ec: 00000013 nop
+800084f0: 00000013 nop
+800084f4: 00000013 nop
+800084f8: 00000013 nop
+800084fc: 00000013 nop
+80008500: 00000013 nop
+80008504: 00000013 nop
+80008508: 00000013 nop
+8000850c: 00000013 nop
+80008510: 00000013 nop
+80008514: 00000013 nop
+80008518: 00000013 nop
+8000851c: 00000013 nop
+80008520: 00000013 nop
+80008524: 00000013 nop
+80008528: 00000013 nop
+8000852c: 00000013 nop
+80008530: 00000013 nop
+80008534: 00000013 nop
+80008538: 00000013 nop
+8000853c: 00000013 nop
+80008540: 00000013 nop
+80008544: 00000013 nop
+80008548: 00000013 nop
+8000854c: 00000013 nop
+80008550: 00000013 nop
+80008554: 00000013 nop
+80008558: 00000013 nop
+8000855c: 00000013 nop
+80008560: 00000013 nop
+80008564: 00000013 nop
+80008568: 00000013 nop
+8000856c: 00000013 nop
+80008570: 00000013 nop
+80008574: 00000013 nop
+80008578: 00000013 nop
+8000857c: 00000013 nop
+80008580: 00000013 nop
+80008584: 00000013 nop
+80008588: 00000013 nop
+8000858c: 00000013 nop
+80008590: 00000013 nop
+80008594: 00000013 nop
+80008598: 00000013 nop
+8000859c: 00000013 nop
+800085a0: 00000013 nop
+800085a4: 00000013 nop
+800085a8: 00000013 nop
+800085ac: 00000013 nop
+800085b0: 00000013 nop
+800085b4: 00000013 nop
+800085b8: 00000013 nop
+800085bc: 00000013 nop
+800085c0: 00000013 nop
+800085c4: 00000013 nop
+800085c8: 00000013 nop
+800085cc: 00000013 nop
+800085d0: 00000013 nop
+800085d4: 00000013 nop
+800085d8: 00000013 nop
+800085dc: 00000013 nop
+800085e0: 00000013 nop
+800085e4: 00000013 nop
+800085e8: 00000013 nop
+800085ec: 00000013 nop
+800085f0: 00000013 nop
+800085f4: 00000013 nop
+800085f8: 00000013 nop
+800085fc: 00000013 nop
+80008600: 00000013 nop
+80008604: 00000013 nop
+80008608: 00000013 nop
+8000860c: 00000013 nop
+80008610: 00000013 nop
+80008614: 00000013 nop
+80008618: 00000013 nop
+8000861c: 00000013 nop
+80008620: 00000013 nop
+80008624: 00000013 nop
+80008628: 00000013 nop
+8000862c: 00000013 nop
+80008630: 00000013 nop
+80008634: 00000013 nop
+80008638: 00000013 nop
+8000863c: 00000013 nop
+80008640: 00000013 nop
+80008644: 00000013 nop
+80008648: 00000013 nop
+8000864c: 00000013 nop
+80008650: 00000013 nop
+80008654: 00000013 nop
+80008658: 00000013 nop
+8000865c: 00000013 nop
+80008660: 00000013 nop
+80008664: 00000013 nop
+80008668: 00000013 nop
+8000866c: 00000013 nop
+80008670: 00000013 nop
+80008674: 00000013 nop
+80008678: 00000013 nop
+8000867c: 00000013 nop
+80008680: 00000013 nop
+80008684: 00000013 nop
+80008688: 00000013 nop
+8000868c: 00000013 nop
+80008690: 00000013 nop
+80008694: 00000013 nop
+80008698: 00000013 nop
+8000869c: 00000013 nop
+800086a0: 00000013 nop
+800086a4: 00000013 nop
+800086a8: 00000013 nop
+800086ac: 00000013 nop
+800086b0: 00000013 nop
+800086b4: 00000013 nop
+800086b8: 00000013 nop
+800086bc: 00000013 nop
+800086c0: 00000013 nop
+800086c4: 00000013 nop
+800086c8: 00000013 nop
+800086cc: 00000013 nop
+800086d0: 00000013 nop
+800086d4: 00000013 nop
+800086d8: 00000013 nop
+800086dc: 00000013 nop
+800086e0: 00000013 nop
+800086e4: 00000013 nop
+800086e8: 00000013 nop
+800086ec: 00000013 nop
+800086f0: 00000013 nop
+800086f4: 00000013 nop
+800086f8: 00000013 nop
+800086fc: 00000013 nop
+80008700: 00000013 nop
+80008704: 00000013 nop
+80008708: 00000013 nop
+8000870c: 00000013 nop
+80008710: 00000013 nop
+80008714: 00000013 nop
+80008718: 00000013 nop
+8000871c: 00000013 nop
+80008720: 00000013 nop
+80008724: 00000013 nop
+80008728: 00000013 nop
+8000872c: 00000013 nop
+80008730: 00000013 nop
+80008734: 00000013 nop
+80008738: 00000013 nop
+8000873c: 00000013 nop
+80008740: 00000013 nop
+80008744: 00000013 nop
+80008748: 00000013 nop
+8000874c: 00000013 nop
+80008750: 00000013 nop
+80008754: 00000013 nop
+80008758: 00000013 nop
+8000875c: 00000013 nop
+80008760: 00000013 nop
+80008764: 00000013 nop
+80008768: 00000013 nop
+8000876c: 00000013 nop
+80008770: 00000013 nop
+80008774: 00000013 nop
+80008778: 00000013 nop
+8000877c: 00000013 nop
+80008780: 00000013 nop
+80008784: 00000013 nop
+80008788: 00000013 nop
+8000878c: 00000013 nop
+80008790: 00000013 nop
+80008794: 00000013 nop
+80008798: 00000013 nop
+8000879c: 00000013 nop
+800087a0: 00000013 nop
+800087a4: 00000013 nop
+800087a8: 00000013 nop
+800087ac: 00000013 nop
+800087b0: 00000013 nop
+800087b4: 00000013 nop
+800087b8: 00000013 nop
+800087bc: 00000013 nop
+800087c0: 00000013 nop
+800087c4: 00000013 nop
+800087c8: 00000013 nop
+800087cc: 00000013 nop
+800087d0: 00000013 nop
+800087d4: 00000013 nop
+800087d8: 00000013 nop
+800087dc: 00000013 nop
+800087e0: 00000013 nop
+800087e4: 00000013 nop
+800087e8: 00000013 nop
+800087ec: 00000013 nop
+800087f0: 00000013 nop
+800087f4: 00000013 nop
+800087f8: 00000013 nop
+800087fc: 00000013 nop
+80008800: 00000013 nop
+80008804: 00000013 nop
+80008808: 00000013 nop
+8000880c: 00000013 nop
+80008810: 00000013 nop
+80008814: 00000013 nop
+80008818: 00000013 nop
+8000881c: 00000013 nop
+80008820: 00000013 nop
+80008824: 00000013 nop
+80008828: 00000013 nop
+8000882c: 00000013 nop
+80008830: 00000013 nop
+80008834: 00000013 nop
+80008838: 00000013 nop
+8000883c: 00000013 nop
+80008840: 00000013 nop
+80008844: 00000013 nop
+80008848: 00000013 nop
+8000884c: 00000013 nop
+80008850: 00000013 nop
+80008854: 00000013 nop
+80008858: 00000013 nop
+8000885c: 00000013 nop
+80008860: 00000013 nop
+80008864: 00000013 nop
+80008868: 00000013 nop
+8000886c: 00000013 nop
+80008870: 00000013 nop
+80008874: 00000013 nop
+80008878: 00000013 nop
+8000887c: 00000013 nop
+80008880: 00000013 nop
+80008884: 00000013 nop
+80008888: 00000013 nop
+8000888c: 00000013 nop
+80008890: 00000013 nop
+80008894: 00000013 nop
+80008898: 00000013 nop
+8000889c: 00000013 nop
+800088a0: 00000013 nop
+800088a4: 00000013 nop
+800088a8: 00000013 nop
+800088ac: 00000013 nop
+800088b0: 00000013 nop
+800088b4: 00000013 nop
+800088b8: 00000013 nop
+800088bc: 00000013 nop
+800088c0: 00000013 nop
+800088c4: 00000013 nop
+800088c8: 00000013 nop
+800088cc: 00000013 nop
+800088d0: 00000013 nop
+800088d4: 00000013 nop
+800088d8: 00000013 nop
+800088dc: 00000013 nop
+800088e0: 00000013 nop
+800088e4: 00000013 nop
+800088e8: 00000013 nop
+800088ec: 00000013 nop
+800088f0: 00000013 nop
+800088f4: 00000013 nop
+800088f8: 00000013 nop
+800088fc: 00000013 nop
+80008900: 00000013 nop
+80008904: 00000013 nop
+80008908: 00000013 nop
+8000890c: 00000013 nop
+80008910: 00000013 nop
+80008914: 00000013 nop
+80008918: 00000013 nop
+8000891c: 00000013 nop
+80008920: 00000013 nop
+80008924: 00000013 nop
+80008928: 00000013 nop
+8000892c: 00000013 nop
+80008930: 00000013 nop
+80008934: 00000013 nop
+80008938: 00000013 nop
+8000893c: 00000013 nop
+80008940: 00000013 nop
+80008944: 00000013 nop
+80008948: 00000013 nop
+8000894c: 00000013 nop
+80008950: 00000013 nop
+80008954: 00000013 nop
+80008958: 00000013 nop
+8000895c: 00000013 nop
+80008960: 00000013 nop
+80008964: 00000013 nop
+80008968: 00000013 nop
+8000896c: 00000013 nop
+80008970: 00000013 nop
+80008974: 00000013 nop
+80008978: 00000013 nop
+8000897c: 00000013 nop
+80008980: 00000013 nop
+80008984: 00000013 nop
+80008988: 00000013 nop
+8000898c: 00000013 nop
+80008990: 00000013 nop
+80008994: 00000013 nop
+80008998: 00000013 nop
+8000899c: 00000013 nop
+800089a0: 00000013 nop
+800089a4: 00000013 nop
+800089a8: 00000013 nop
+800089ac: 00000013 nop
+800089b0: 00000013 nop
+800089b4: 00000013 nop
+800089b8: 00000013 nop
+800089bc: 00000013 nop
+800089c0: 00000013 nop
+800089c4: 00000013 nop
+800089c8: 00000013 nop
+800089cc: 00000013 nop
+800089d0: 00000013 nop
+800089d4: 00000013 nop
+800089d8: 00000013 nop
+800089dc: 00000013 nop
+800089e0: 00000013 nop
+800089e4: 00000013 nop
+800089e8: 00000013 nop
+800089ec: 00000013 nop
+800089f0: 00000013 nop
+800089f4: 00000013 nop
+800089f8: 00000013 nop
+800089fc: 00000013 nop
+80008a00: 00000013 nop
+80008a04: 00000013 nop
+80008a08: 00000013 nop
+80008a0c: 00000013 nop
+80008a10: 00000013 nop
+80008a14: 00000013 nop
+80008a18: 00000013 nop
+80008a1c: 00000013 nop
+80008a20: 00000013 nop
+80008a24: 00000013 nop
+80008a28: 00000013 nop
+80008a2c: 00000013 nop
+80008a30: 00000013 nop
+80008a34: 00000013 nop
+80008a38: 00000013 nop
+80008a3c: 00000013 nop
+80008a40: 00000013 nop
+80008a44: 00000013 nop
+80008a48: 00000013 nop
+80008a4c: 00000013 nop
+80008a50: 00000013 nop
+80008a54: 00000013 nop
+80008a58: 00000013 nop
+80008a5c: 00000013 nop
+80008a60: 00000013 nop
+80008a64: 00000013 nop
+80008a68: 00000013 nop
+80008a6c: 00000013 nop
+80008a70: 00000013 nop
+80008a74: 00000013 nop
+80008a78: 00000013 nop
+80008a7c: 00000013 nop
+80008a80: 00000013 nop
+80008a84: 00000013 nop
+80008a88: 00000013 nop
+80008a8c: 00000013 nop
+80008a90: 00000013 nop
+80008a94: 00000013 nop
+80008a98: 00000013 nop
+80008a9c: 00000013 nop
+80008aa0: 00000013 nop
+80008aa4: 00000013 nop
+80008aa8: 00000013 nop
+80008aac: 00000013 nop
+80008ab0: 00000013 nop
+80008ab4: 00000013 nop
+80008ab8: 00000013 nop
+80008abc: 00000013 nop
+80008ac0: 00000013 nop
+80008ac4: 00000013 nop
+80008ac8: 00000013 nop
+80008acc: 00000013 nop
+80008ad0: 00000013 nop
+80008ad4: 00000013 nop
+80008ad8: 00000013 nop
+80008adc: 00000013 nop
+80008ae0: 00000013 nop
+80008ae4: 00000013 nop
+80008ae8: 00000013 nop
+80008aec: 00000013 nop
+80008af0: 00000013 nop
+80008af4: 00000013 nop
+80008af8: 00000013 nop
+80008afc: 00000013 nop
+80008b00: 00000013 nop
+80008b04: 00000013 nop
+80008b08: 00000013 nop
+80008b0c: 00000013 nop
+80008b10: 00000013 nop
+80008b14: 00000013 nop
+80008b18: 00000013 nop
+80008b1c: 00000013 nop
+80008b20: 00000013 nop
+80008b24: 00000013 nop
+80008b28: 00000013 nop
+80008b2c: 00000013 nop
+80008b30: 00000013 nop
+80008b34: 00000013 nop
+80008b38: 00000013 nop
+80008b3c: 00000013 nop
+80008b40: 00000013 nop
+80008b44: 00000013 nop
+80008b48: 00000013 nop
+80008b4c: 00000013 nop
+80008b50: 00000013 nop
+80008b54: 00000013 nop
+80008b58: 00000013 nop
+80008b5c: 00000013 nop
+80008b60: 00000013 nop
+80008b64: 00000013 nop
+80008b68: 00000013 nop
+80008b6c: 00000013 nop
+80008b70: 00000013 nop
+80008b74: 00000013 nop
+80008b78: 00000013 nop
+80008b7c: 00000013 nop
+80008b80: 00000013 nop
+80008b84: 00000013 nop
+80008b88: 00000013 nop
+80008b8c: 00000013 nop
+80008b90: 00000013 nop
+80008b94: 00000013 nop
+80008b98: 00000013 nop
+80008b9c: 00000013 nop
+80008ba0: 00000013 nop
+80008ba4: 00000013 nop
+80008ba8: 00000013 nop
+80008bac: 00000013 nop
+80008bb0: 00000013 nop
+80008bb4: 00000013 nop
+80008bb8: 00000013 nop
+80008bbc: 00000013 nop
+80008bc0: 00000013 nop
+80008bc4: 00000013 nop
+80008bc8: 00000013 nop
+80008bcc: 00000013 nop
+80008bd0: 00000013 nop
+80008bd4: 00000013 nop
+80008bd8: 00000013 nop
+80008bdc: 00000013 nop
+80008be0: 00000013 nop
+80008be4: 00000013 nop
+80008be8: 00000013 nop
+80008bec: 00000013 nop
+80008bf0: 00000013 nop
+80008bf4: 00000013 nop
+80008bf8: 00000013 nop
+80008bfc: 00000013 nop
+80008c00: 00000013 nop
+80008c04: 00000013 nop
+80008c08: 00000013 nop
+80008c0c: 00000013 nop
+80008c10: 00000013 nop
+80008c14: 00000013 nop
+80008c18: 00000013 nop
+80008c1c: 00000013 nop
+80008c20: 00000013 nop
+80008c24: 00000013 nop
+80008c28: 00000013 nop
+80008c2c: 00000013 nop
+80008c30: 00000013 nop
+80008c34: 00000013 nop
+80008c38: 00000013 nop
+80008c3c: 00000013 nop
+80008c40: 00000013 nop
+80008c44: 00000013 nop
+80008c48: 00000013 nop
+80008c4c: 00000013 nop
+80008c50: 00000013 nop
+80008c54: 00000013 nop
+80008c58: 00000013 nop
+80008c5c: 00000013 nop
+80008c60: 00000013 nop
+80008c64: 00000013 nop
+80008c68: 00000013 nop
+80008c6c: 00000013 nop
+80008c70: 00000013 nop
+80008c74: 00000013 nop
+80008c78: 00000013 nop
+80008c7c: 00000013 nop
+80008c80: 00000013 nop
+80008c84: 00000013 nop
+80008c88: 00000013 nop
+80008c8c: 00000013 nop
+80008c90: 00000013 nop
+80008c94: 00000013 nop
+80008c98: 00000013 nop
+80008c9c: 00000013 nop
+80008ca0: 00000013 nop
+80008ca4: 00000013 nop
+80008ca8: 00000013 nop
+80008cac: 00000013 nop
+80008cb0: 00000013 nop
+80008cb4: 00000013 nop
+80008cb8: 00000013 nop
+80008cbc: 00000013 nop
+80008cc0: 00000013 nop
+80008cc4: 00000013 nop
+80008cc8: 00000013 nop
+80008ccc: 00000013 nop
+80008cd0: 00000013 nop
+80008cd4: 00000013 nop
+80008cd8: 00000013 nop
+80008cdc: 00000013 nop
+80008ce0: 00000013 nop
+80008ce4: 00000013 nop
+80008ce8: 00000013 nop
+80008cec: 00000013 nop
+80008cf0: 00000013 nop
+80008cf4: 00000013 nop
+80008cf8: 00000013 nop
+80008cfc: 00000013 nop
+80008d00: 00000013 nop
+80008d04: 00000013 nop
+80008d08: 00000013 nop
+80008d0c: 00000013 nop
+80008d10: 00000013 nop
+80008d14: 00000013 nop
+80008d18: 00000013 nop
+80008d1c: 00000013 nop
+80008d20: 00000013 nop
+80008d24: 00000013 nop
+80008d28: 00000013 nop
+80008d2c: 00000013 nop
+80008d30: 00000013 nop
+80008d34: 00000013 nop
+80008d38: 00000013 nop
+80008d3c: 00000013 nop
+80008d40: 00000013 nop
+80008d44: 00000013 nop
+80008d48: 00000013 nop
+80008d4c: 00000013 nop
+80008d50: 00000013 nop
+80008d54: 00000013 nop
+80008d58: 00000013 nop
+80008d5c: 00000013 nop
+80008d60: 00000013 nop
+80008d64: 00000013 nop
+80008d68: 00000013 nop
+80008d6c: 00000013 nop
+80008d70: 00000013 nop
+80008d74: 00000013 nop
+80008d78: 00000013 nop
+80008d7c: 00000013 nop
+80008d80: 00000013 nop
+80008d84: 00000013 nop
+80008d88: 00000013 nop
+80008d8c: 00000013 nop
+80008d90: 00000013 nop
+80008d94: 00000013 nop
+80008d98: 00000013 nop
+80008d9c: 00000013 nop
+80008da0: 00000013 nop
+80008da4: 00000013 nop
+80008da8: 00000013 nop
+80008dac: 00000013 nop
+80008db0: 00000013 nop
+80008db4: 00000013 nop
+80008db8: 00000013 nop
+80008dbc: 00000013 nop
+80008dc0: 00000013 nop
+80008dc4: 00000013 nop
+80008dc8: 00000013 nop
+80008dcc: 00000013 nop
+80008dd0: 00000013 nop
+80008dd4: 00000013 nop
+80008dd8: 00000013 nop
+80008ddc: 00000013 nop
+80008de0: 00000013 nop
+80008de4: 00000013 nop
+80008de8: 00000013 nop
+80008dec: 00000013 nop
+80008df0: 00000013 nop
+80008df4: 00000013 nop
+80008df8: 00000013 nop
+80008dfc: 00000013 nop
+80008e00: 00000013 nop
+80008e04: 00000013 nop
+80008e08: 00000013 nop
+80008e0c: 00000013 nop
+80008e10: 00000013 nop
+80008e14: 00000013 nop
+80008e18: 00000013 nop
+80008e1c: 00000013 nop
+80008e20: 00000013 nop
+80008e24: 00000013 nop
+80008e28: 00000013 nop
+80008e2c: 00000013 nop
+80008e30: 00000013 nop
+80008e34: 00000013 nop
+80008e38: 00000013 nop
+80008e3c: 00000013 nop
+80008e40: 00000013 nop
+80008e44: 00000013 nop
+80008e48: 00000013 nop
+80008e4c: 00000013 nop
+80008e50: 00000013 nop
+80008e54: 00000013 nop
+80008e58: 00000013 nop
+80008e5c: 00000013 nop
+80008e60: 00000013 nop
+80008e64: 00000013 nop
+80008e68: 00000013 nop
+80008e6c: 00000013 nop
+80008e70: 00000013 nop
+80008e74: 00000013 nop
+80008e78: 00000013 nop
+80008e7c: 00000013 nop
+80008e80: 00000013 nop
+80008e84: 00000013 nop
+80008e88: 00000013 nop
+80008e8c: 00000013 nop
+80008e90: 00000013 nop
+80008e94: 00000013 nop
+80008e98: 00000013 nop
+80008e9c: 00000013 nop
+80008ea0: 00000013 nop
+80008ea4: 00000013 nop
+80008ea8: 00000013 nop
+80008eac: 00000013 nop
+80008eb0: 00000013 nop
+80008eb4: 00000013 nop
+80008eb8: 00000013 nop
+80008ebc: 00000013 nop
+80008ec0: 00000013 nop
+80008ec4: 00000013 nop
+80008ec8: 00000013 nop
+80008ecc: 00000013 nop
+80008ed0: 00000013 nop
+80008ed4: 00000013 nop
+80008ed8: 00000013 nop
+80008edc: 00000013 nop
+80008ee0: 00000013 nop
+80008ee4: 00000013 nop
+80008ee8: 00000013 nop
+80008eec: 00000013 nop
+80008ef0: 00000013 nop
+80008ef4: 00000013 nop
+80008ef8: 00000013 nop
+80008efc: 00000013 nop
+80008f00: 00000013 nop
+80008f04: 00000013 nop
+80008f08: 00000013 nop
+80008f0c: 00000013 nop
+80008f10: 00000013 nop
+80008f14: 00000013 nop
+80008f18: 00000013 nop
+80008f1c: 00000013 nop
+80008f20: 00000013 nop
+80008f24: 00000013 nop
+80008f28: 00000013 nop
+80008f2c: 00000013 nop
+80008f30: 00000013 nop
+80008f34: 00000013 nop
+80008f38: 00000013 nop
+80008f3c: 00000013 nop
+80008f40: 00000013 nop
+80008f44: 00000013 nop
+80008f48: 00000013 nop
+80008f4c: 00000013 nop
+80008f50: 00000013 nop
+80008f54: 00000013 nop
+80008f58: 00000013 nop
+80008f5c: 00000013 nop
+80008f60: 00000013 nop
+80008f64: 00000013 nop
+80008f68: 00000013 nop
+80008f6c: 00000013 nop
+80008f70: 00000013 nop
+80008f74: 00000013 nop
+80008f78: 00000013 nop
+80008f7c: 00000013 nop
+80008f80: 00000013 nop
+80008f84: 00000013 nop
+80008f88: 00000013 nop
+80008f8c: 00000013 nop
+80008f90: 00000013 nop
+80008f94: 00000013 nop
+80008f98: 00000013 nop
+80008f9c: 00000013 nop
+80008fa0: 00000013 nop
+80008fa4: 00000013 nop
+80008fa8: 00000013 nop
+80008fac: 00000013 nop
+80008fb0: 00000013 nop
+80008fb4: 00000013 nop
+80008fb8: 00000013 nop
+80008fbc: 00000013 nop
+80008fc0: 00000013 nop
+80008fc4: 00000013 nop
+80008fc8: 00000013 nop
+80008fcc: 00000013 nop
+80008fd0: 00000013 nop
+80008fd4: 00000013 nop
+80008fd8: 00000013 nop
+80008fdc: 00000013 nop
+80008fe0: 00000013 nop
+80008fe4: 00000013 nop
+80008fe8: 00000013 nop
+80008fec: 00000013 nop
+80008ff0: 00000013 nop
+80008ff4: 00000013 nop
+80008ff8: 00000013 nop
+80008ffc: 00000013 nop
+
+80009000 <ROM_4>:
+80009000: 4140 lw s0,4(a0)
+80009002: 4342 lw t1,16(sp)
+80009004: 4544 lw s1,12(a0)
+80009006: 4746 lw a4,80(sp)
+80009008: 4948 lw a0,20(a0)
+8000900a: 4b4a lw s6,144(sp)
+8000900c: 4d4c lw a1,28(a0)
+8000900e: 4f4e lw t5,208(sp)
+80009010: 00000013 nop
+80009014: 00000013 nop
+80009018: 00000013 nop
+8000901c: 00000013 nop
+80009020: 00000013 nop
+80009024: 00000013 nop
+80009028: 00000013 nop
+8000902c: 00000013 nop
+80009030: 00000013 nop
+80009034: 00000013 nop
+80009038: 00000013 nop
+8000903c: 00000013 nop
+80009040: 00000013 nop
+80009044: 00000013 nop
+80009048: 00000013 nop
+8000904c: 00000013 nop
+80009050: 00000013 nop
+80009054: 00000013 nop
+80009058: 00000013 nop
+8000905c: 00000013 nop
+80009060: 00000013 nop
+80009064: 00000013 nop
+80009068: 00000013 nop
+8000906c: 00000013 nop
+80009070: 00000013 nop
+80009074: 00000013 nop
+80009078: 00000013 nop
+8000907c: 00000013 nop
+80009080: 00000013 nop
+80009084: 00000013 nop
+80009088: 00000013 nop
+8000908c: 00000013 nop
+80009090: 00000013 nop
+80009094: 00000013 nop
+80009098: 00000013 nop
+8000909c: 00000013 nop
+800090a0: 00000013 nop
+800090a4: 00000013 nop
+800090a8: 00000013 nop
+800090ac: 00000013 nop
+800090b0: 00000013 nop
+800090b4: 00000013 nop
+800090b8: 00000013 nop
+800090bc: 00000013 nop
+800090c0: 00000013 nop
+800090c4: 00000013 nop
+800090c8: 00000013 nop
+800090cc: 00000013 nop
+800090d0: 00000013 nop
+800090d4: 00000013 nop
+800090d8: 00000013 nop
+800090dc: 00000013 nop
+800090e0: 00000013 nop
+800090e4: 00000013 nop
+800090e8: 00000013 nop
+800090ec: 00000013 nop
+800090f0: 00000013 nop
+800090f4: 00000013 nop
+800090f8: 00000013 nop
+800090fc: 00000013 nop
+80009100: 00000013 nop
+80009104: 00000013 nop
+80009108: 00000013 nop
+8000910c: 00000013 nop
+80009110: 00000013 nop
+80009114: 00000013 nop
+80009118: 00000013 nop
+8000911c: 00000013 nop
+80009120: 00000013 nop
+80009124: 00000013 nop
+80009128: 00000013 nop
+8000912c: 00000013 nop
+80009130: 00000013 nop
+80009134: 00000013 nop
+80009138: 00000013 nop
+8000913c: 00000013 nop
+80009140: 00000013 nop
+80009144: 00000013 nop
+80009148: 00000013 nop
+8000914c: 00000013 nop
+80009150: 00000013 nop
+80009154: 00000013 nop
+80009158: 00000013 nop
+8000915c: 00000013 nop
+80009160: 00000013 nop
+80009164: 00000013 nop
+80009168: 00000013 nop
+8000916c: 00000013 nop
+80009170: 00000013 nop
+80009174: 00000013 nop
+80009178: 00000013 nop
+8000917c: 00000013 nop
+80009180: 00000013 nop
+80009184: 00000013 nop
+80009188: 00000013 nop
+8000918c: 00000013 nop
+80009190: 00000013 nop
+80009194: 00000013 nop
+80009198: 00000013 nop
+8000919c: 00000013 nop
+800091a0: 00000013 nop
+800091a4: 00000013 nop
+800091a8: 00000013 nop
+800091ac: 00000013 nop
+800091b0: 00000013 nop
+800091b4: 00000013 nop
+800091b8: 00000013 nop
+800091bc: 00000013 nop
+800091c0: 00000013 nop
+800091c4: 00000013 nop
+800091c8: 00000013 nop
+800091cc: 00000013 nop
+800091d0: 00000013 nop
+800091d4: 00000013 nop
+800091d8: 00000013 nop
+800091dc: 00000013 nop
+800091e0: 00000013 nop
+800091e4: 00000013 nop
+800091e8: 00000013 nop
+800091ec: 00000013 nop
+800091f0: 00000013 nop
+800091f4: 00000013 nop
+800091f8: 00000013 nop
+800091fc: 00000013 nop
+80009200: 00000013 nop
+80009204: 00000013 nop
+80009208: 00000013 nop
+8000920c: 00000013 nop
+80009210: 00000013 nop
+80009214: 00000013 nop
+80009218: 00000013 nop
+8000921c: 00000013 nop
+80009220: 00000013 nop
+80009224: 00000013 nop
+80009228: 00000013 nop
+8000922c: 00000013 nop
+80009230: 00000013 nop
+80009234: 00000013 nop
+80009238: 00000013 nop
+8000923c: 00000013 nop
+80009240: 00000013 nop
+80009244: 00000013 nop
+80009248: 00000013 nop
+8000924c: 00000013 nop
+80009250: 00000013 nop
+80009254: 00000013 nop
+80009258: 00000013 nop
+8000925c: 00000013 nop
+80009260: 00000013 nop
+80009264: 00000013 nop
+80009268: 00000013 nop
+8000926c: 00000013 nop
+80009270: 00000013 nop
+80009274: 00000013 nop
+80009278: 00000013 nop
+8000927c: 00000013 nop
+80009280: 00000013 nop
+80009284: 00000013 nop
+80009288: 00000013 nop
+8000928c: 00000013 nop
+80009290: 00000013 nop
+80009294: 00000013 nop
+80009298: 00000013 nop
+8000929c: 00000013 nop
+800092a0: 00000013 nop
+800092a4: 00000013 nop
+800092a8: 00000013 nop
+800092ac: 00000013 nop
+800092b0: 00000013 nop
+800092b4: 00000013 nop
+800092b8: 00000013 nop
+800092bc: 00000013 nop
+800092c0: 00000013 nop
+800092c4: 00000013 nop
+800092c8: 00000013 nop
+800092cc: 00000013 nop
+800092d0: 00000013 nop
+800092d4: 00000013 nop
+800092d8: 00000013 nop
+800092dc: 00000013 nop
+800092e0: 00000013 nop
+800092e4: 00000013 nop
+800092e8: 00000013 nop
+800092ec: 00000013 nop
+800092f0: 00000013 nop
+800092f4: 00000013 nop
+800092f8: 00000013 nop
+800092fc: 00000013 nop
+80009300: 00000013 nop
+80009304: 00000013 nop
+80009308: 00000013 nop
+8000930c: 00000013 nop
+80009310: 00000013 nop
+80009314: 00000013 nop
+80009318: 00000013 nop
+8000931c: 00000013 nop
+80009320: 00000013 nop
+80009324: 00000013 nop
+80009328: 00000013 nop
+8000932c: 00000013 nop
+80009330: 00000013 nop
+80009334: 00000013 nop
+80009338: 00000013 nop
+8000933c: 00000013 nop
+80009340: 00000013 nop
+80009344: 00000013 nop
+80009348: 00000013 nop
+8000934c: 00000013 nop
+80009350: 00000013 nop
+80009354: 00000013 nop
+80009358: 00000013 nop
+8000935c: 00000013 nop
+80009360: 00000013 nop
+80009364: 00000013 nop
+80009368: 00000013 nop
+8000936c: 00000013 nop
+80009370: 00000013 nop
+80009374: 00000013 nop
+80009378: 00000013 nop
+8000937c: 00000013 nop
+80009380: 00000013 nop
+80009384: 00000013 nop
+80009388: 00000013 nop
+8000938c: 00000013 nop
+80009390: 00000013 nop
+80009394: 00000013 nop
+80009398: 00000013 nop
+8000939c: 00000013 nop
+800093a0: 00000013 nop
+800093a4: 00000013 nop
+800093a8: 00000013 nop
+800093ac: 00000013 nop
+800093b0: 00000013 nop
+800093b4: 00000013 nop
+800093b8: 00000013 nop
+800093bc: 00000013 nop
+800093c0: 00000013 nop
+800093c4: 00000013 nop
+800093c8: 00000013 nop
+800093cc: 00000013 nop
+800093d0: 00000013 nop
+800093d4: 00000013 nop
+800093d8: 00000013 nop
+800093dc: 00000013 nop
+800093e0: 00000013 nop
+800093e4: 00000013 nop
+800093e8: 00000013 nop
+800093ec: 00000013 nop
+800093f0: 00000013 nop
+800093f4: 00000013 nop
+800093f8: 00000013 nop
+800093fc: 00000013 nop
+80009400: 00000013 nop
+80009404: 00000013 nop
+80009408: 00000013 nop
+8000940c: 00000013 nop
+80009410: 00000013 nop
+80009414: 00000013 nop
+80009418: 00000013 nop
+8000941c: 00000013 nop
+80009420: 00000013 nop
+80009424: 00000013 nop
+80009428: 00000013 nop
+8000942c: 00000013 nop
+80009430: 00000013 nop
+80009434: 00000013 nop
+80009438: 00000013 nop
+8000943c: 00000013 nop
+80009440: 00000013 nop
+80009444: 00000013 nop
+80009448: 00000013 nop
+8000944c: 00000013 nop
+80009450: 00000013 nop
+80009454: 00000013 nop
+80009458: 00000013 nop
+8000945c: 00000013 nop
+80009460: 00000013 nop
+80009464: 00000013 nop
+80009468: 00000013 nop
+8000946c: 00000013 nop
+80009470: 00000013 nop
+80009474: 00000013 nop
+80009478: 00000013 nop
+8000947c: 00000013 nop
+80009480: 00000013 nop
+80009484: 00000013 nop
+80009488: 00000013 nop
+8000948c: 00000013 nop
+80009490: 00000013 nop
+80009494: 00000013 nop
+80009498: 00000013 nop
+8000949c: 00000013 nop
+800094a0: 00000013 nop
+800094a4: 00000013 nop
+800094a8: 00000013 nop
+800094ac: 00000013 nop
+800094b0: 00000013 nop
+800094b4: 00000013 nop
+800094b8: 00000013 nop
+800094bc: 00000013 nop
+800094c0: 00000013 nop
+800094c4: 00000013 nop
+800094c8: 00000013 nop
+800094cc: 00000013 nop
+800094d0: 00000013 nop
+800094d4: 00000013 nop
+800094d8: 00000013 nop
+800094dc: 00000013 nop
+800094e0: 00000013 nop
+800094e4: 00000013 nop
+800094e8: 00000013 nop
+800094ec: 00000013 nop
+800094f0: 00000013 nop
+800094f4: 00000013 nop
+800094f8: 00000013 nop
+800094fc: 00000013 nop
+80009500: 00000013 nop
+80009504: 00000013 nop
+80009508: 00000013 nop
+8000950c: 00000013 nop
+80009510: 00000013 nop
+80009514: 00000013 nop
+80009518: 00000013 nop
+8000951c: 00000013 nop
+80009520: 00000013 nop
+80009524: 00000013 nop
+80009528: 00000013 nop
+8000952c: 00000013 nop
+80009530: 00000013 nop
+80009534: 00000013 nop
+80009538: 00000013 nop
+8000953c: 00000013 nop
+80009540: 00000013 nop
+80009544: 00000013 nop
+80009548: 00000013 nop
+8000954c: 00000013 nop
+80009550: 00000013 nop
+80009554: 00000013 nop
+80009558: 00000013 nop
+8000955c: 00000013 nop
+80009560: 00000013 nop
+80009564: 00000013 nop
+80009568: 00000013 nop
+8000956c: 00000013 nop
+80009570: 00000013 nop
+80009574: 00000013 nop
+80009578: 00000013 nop
+8000957c: 00000013 nop
+80009580: 00000013 nop
+80009584: 00000013 nop
+80009588: 00000013 nop
+8000958c: 00000013 nop
+80009590: 00000013 nop
+80009594: 00000013 nop
+80009598: 00000013 nop
+8000959c: 00000013 nop
+800095a0: 00000013 nop
+800095a4: 00000013 nop
+800095a8: 00000013 nop
+800095ac: 00000013 nop
+800095b0: 00000013 nop
+800095b4: 00000013 nop
+800095b8: 00000013 nop
+800095bc: 00000013 nop
+800095c0: 00000013 nop
+800095c4: 00000013 nop
+800095c8: 00000013 nop
+800095cc: 00000013 nop
+800095d0: 00000013 nop
+800095d4: 00000013 nop
+800095d8: 00000013 nop
+800095dc: 00000013 nop
+800095e0: 00000013 nop
+800095e4: 00000013 nop
+800095e8: 00000013 nop
+800095ec: 00000013 nop
+800095f0: 00000013 nop
+800095f4: 00000013 nop
+800095f8: 00000013 nop
+800095fc: 00000013 nop
+80009600: 00000013 nop
+80009604: 00000013 nop
+80009608: 00000013 nop
+8000960c: 00000013 nop
+80009610: 00000013 nop
+80009614: 00000013 nop
+80009618: 00000013 nop
+8000961c: 00000013 nop
+80009620: 00000013 nop
+80009624: 00000013 nop
+80009628: 00000013 nop
+8000962c: 00000013 nop
+80009630: 00000013 nop
+80009634: 00000013 nop
+80009638: 00000013 nop
+8000963c: 00000013 nop
+80009640: 00000013 nop
+80009644: 00000013 nop
+80009648: 00000013 nop
+8000964c: 00000013 nop
+80009650: 00000013 nop
+80009654: 00000013 nop
+80009658: 00000013 nop
+8000965c: 00000013 nop
+80009660: 00000013 nop
+80009664: 00000013 nop
+80009668: 00000013 nop
+8000966c: 00000013 nop
+80009670: 00000013 nop
+80009674: 00000013 nop
+80009678: 00000013 nop
+8000967c: 00000013 nop
+80009680: 00000013 nop
+80009684: 00000013 nop
+80009688: 00000013 nop
+8000968c: 00000013 nop
+80009690: 00000013 nop
+80009694: 00000013 nop
+80009698: 00000013 nop
+8000969c: 00000013 nop
+800096a0: 00000013 nop
+800096a4: 00000013 nop
+800096a8: 00000013 nop
+800096ac: 00000013 nop
+800096b0: 00000013 nop
+800096b4: 00000013 nop
+800096b8: 00000013 nop
+800096bc: 00000013 nop
+800096c0: 00000013 nop
+800096c4: 00000013 nop
+800096c8: 00000013 nop
+800096cc: 00000013 nop
+800096d0: 00000013 nop
+800096d4: 00000013 nop
+800096d8: 00000013 nop
+800096dc: 00000013 nop
+800096e0: 00000013 nop
+800096e4: 00000013 nop
+800096e8: 00000013 nop
+800096ec: 00000013 nop
+800096f0: 00000013 nop
+800096f4: 00000013 nop
+800096f8: 00000013 nop
+800096fc: 00000013 nop
+80009700: 00000013 nop
+80009704: 00000013 nop
+80009708: 00000013 nop
+8000970c: 00000013 nop
+80009710: 00000013 nop
+80009714: 00000013 nop
+80009718: 00000013 nop
+8000971c: 00000013 nop
+80009720: 00000013 nop
+80009724: 00000013 nop
+80009728: 00000013 nop
+8000972c: 00000013 nop
+80009730: 00000013 nop
+80009734: 00000013 nop
+80009738: 00000013 nop
+8000973c: 00000013 nop
+80009740: 00000013 nop
+80009744: 00000013 nop
+80009748: 00000013 nop
+8000974c: 00000013 nop
+80009750: 00000013 nop
+80009754: 00000013 nop
+80009758: 00000013 nop
+8000975c: 00000013 nop
+80009760: 00000013 nop
+80009764: 00000013 nop
+80009768: 00000013 nop
+8000976c: 00000013 nop
+80009770: 00000013 nop
+80009774: 00000013 nop
+80009778: 00000013 nop
+8000977c: 00000013 nop
+80009780: 00000013 nop
+80009784: 00000013 nop
+80009788: 00000013 nop
+8000978c: 00000013 nop
+80009790: 00000013 nop
+80009794: 00000013 nop
+80009798: 00000013 nop
+8000979c: 00000013 nop
+800097a0: 00000013 nop
+800097a4: 00000013 nop
+800097a8: 00000013 nop
+800097ac: 00000013 nop
+800097b0: 00000013 nop
+800097b4: 00000013 nop
+800097b8: 00000013 nop
+800097bc: 00000013 nop
+800097c0: 00000013 nop
+800097c4: 00000013 nop
+800097c8: 00000013 nop
+800097cc: 00000013 nop
+800097d0: 00000013 nop
+800097d4: 00000013 nop
+800097d8: 00000013 nop
+800097dc: 00000013 nop
+800097e0: 00000013 nop
+800097e4: 00000013 nop
+800097e8: 00000013 nop
+800097ec: 00000013 nop
+800097f0: 00000013 nop
+800097f4: 00000013 nop
+800097f8: 00000013 nop
+800097fc: 00000013 nop
+80009800: 00000013 nop
+80009804: 00000013 nop
+80009808: 00000013 nop
+8000980c: 00000013 nop
+80009810: 00000013 nop
+80009814: 00000013 nop
+80009818: 00000013 nop
+8000981c: 00000013 nop
+80009820: 00000013 nop
+80009824: 00000013 nop
+80009828: 00000013 nop
+8000982c: 00000013 nop
+80009830: 00000013 nop
+80009834: 00000013 nop
+80009838: 00000013 nop
+8000983c: 00000013 nop
+80009840: 00000013 nop
+80009844: 00000013 nop
+80009848: 00000013 nop
+8000984c: 00000013 nop
+80009850: 00000013 nop
+80009854: 00000013 nop
+80009858: 00000013 nop
+8000985c: 00000013 nop
+80009860: 00000013 nop
+80009864: 00000013 nop
+80009868: 00000013 nop
+8000986c: 00000013 nop
+80009870: 00000013 nop
+80009874: 00000013 nop
+80009878: 00000013 nop
+8000987c: 00000013 nop
+80009880: 00000013 nop
+80009884: 00000013 nop
+80009888: 00000013 nop
+8000988c: 00000013 nop
+80009890: 00000013 nop
+80009894: 00000013 nop
+80009898: 00000013 nop
+8000989c: 00000013 nop
+800098a0: 00000013 nop
+800098a4: 00000013 nop
+800098a8: 00000013 nop
+800098ac: 00000013 nop
+800098b0: 00000013 nop
+800098b4: 00000013 nop
+800098b8: 00000013 nop
+800098bc: 00000013 nop
+800098c0: 00000013 nop
+800098c4: 00000013 nop
+800098c8: 00000013 nop
+800098cc: 00000013 nop
+800098d0: 00000013 nop
+800098d4: 00000013 nop
+800098d8: 00000013 nop
+800098dc: 00000013 nop
+800098e0: 00000013 nop
+800098e4: 00000013 nop
+800098e8: 00000013 nop
+800098ec: 00000013 nop
+800098f0: 00000013 nop
+800098f4: 00000013 nop
+800098f8: 00000013 nop
+800098fc: 00000013 nop
+80009900: 00000013 nop
+80009904: 00000013 nop
+80009908: 00000013 nop
+8000990c: 00000013 nop
+80009910: 00000013 nop
+80009914: 00000013 nop
+80009918: 00000013 nop
+8000991c: 00000013 nop
+80009920: 00000013 nop
+80009924: 00000013 nop
+80009928: 00000013 nop
+8000992c: 00000013 nop
+80009930: 00000013 nop
+80009934: 00000013 nop
+80009938: 00000013 nop
+8000993c: 00000013 nop
+80009940: 00000013 nop
+80009944: 00000013 nop
+80009948: 00000013 nop
+8000994c: 00000013 nop
+80009950: 00000013 nop
+80009954: 00000013 nop
+80009958: 00000013 nop
+8000995c: 00000013 nop
+80009960: 00000013 nop
+80009964: 00000013 nop
+80009968: 00000013 nop
+8000996c: 00000013 nop
+80009970: 00000013 nop
+80009974: 00000013 nop
+80009978: 00000013 nop
+8000997c: 00000013 nop
+80009980: 00000013 nop
+80009984: 00000013 nop
+80009988: 00000013 nop
+8000998c: 00000013 nop
+80009990: 00000013 nop
+80009994: 00000013 nop
+80009998: 00000013 nop
+8000999c: 00000013 nop
+800099a0: 00000013 nop
+800099a4: 00000013 nop
+800099a8: 00000013 nop
+800099ac: 00000013 nop
+800099b0: 00000013 nop
+800099b4: 00000013 nop
+800099b8: 00000013 nop
+800099bc: 00000013 nop
+800099c0: 00000013 nop
+800099c4: 00000013 nop
+800099c8: 00000013 nop
+800099cc: 00000013 nop
+800099d0: 00000013 nop
+800099d4: 00000013 nop
+800099d8: 00000013 nop
+800099dc: 00000013 nop
+800099e0: 00000013 nop
+800099e4: 00000013 nop
+800099e8: 00000013 nop
+800099ec: 00000013 nop
+800099f0: 00000013 nop
+800099f4: 00000013 nop
+800099f8: 00000013 nop
+800099fc: 00000013 nop
+80009a00: 00000013 nop
+80009a04: 00000013 nop
+80009a08: 00000013 nop
+80009a0c: 00000013 nop
+80009a10: 00000013 nop
+80009a14: 00000013 nop
+80009a18: 00000013 nop
+80009a1c: 00000013 nop
+80009a20: 00000013 nop
+80009a24: 00000013 nop
+80009a28: 00000013 nop
+80009a2c: 00000013 nop
+80009a30: 00000013 nop
+80009a34: 00000013 nop
+80009a38: 00000013 nop
+80009a3c: 00000013 nop
+80009a40: 00000013 nop
+80009a44: 00000013 nop
+80009a48: 00000013 nop
+80009a4c: 00000013 nop
+80009a50: 00000013 nop
+80009a54: 00000013 nop
+80009a58: 00000013 nop
+80009a5c: 00000013 nop
+80009a60: 00000013 nop
+80009a64: 00000013 nop
+80009a68: 00000013 nop
+80009a6c: 00000013 nop
+80009a70: 00000013 nop
+80009a74: 00000013 nop
+80009a78: 00000013 nop
+80009a7c: 00000013 nop
+80009a80: 00000013 nop
+80009a84: 00000013 nop
+80009a88: 00000013 nop
+80009a8c: 00000013 nop
+80009a90: 00000013 nop
+80009a94: 00000013 nop
+80009a98: 00000013 nop
+80009a9c: 00000013 nop
+80009aa0: 00000013 nop
+80009aa4: 00000013 nop
+80009aa8: 00000013 nop
+80009aac: 00000013 nop
+80009ab0: 00000013 nop
+80009ab4: 00000013 nop
+80009ab8: 00000013 nop
+80009abc: 00000013 nop
+80009ac0: 00000013 nop
+80009ac4: 00000013 nop
+80009ac8: 00000013 nop
+80009acc: 00000013 nop
+80009ad0: 00000013 nop
+80009ad4: 00000013 nop
+80009ad8: 00000013 nop
+80009adc: 00000013 nop
+80009ae0: 00000013 nop
+80009ae4: 00000013 nop
+80009ae8: 00000013 nop
+80009aec: 00000013 nop
+80009af0: 00000013 nop
+80009af4: 00000013 nop
+80009af8: 00000013 nop
+80009afc: 00000013 nop
+80009b00: 00000013 nop
+80009b04: 00000013 nop
+80009b08: 00000013 nop
+80009b0c: 00000013 nop
+80009b10: 00000013 nop
+80009b14: 00000013 nop
+80009b18: 00000013 nop
+80009b1c: 00000013 nop
+80009b20: 00000013 nop
+80009b24: 00000013 nop
+80009b28: 00000013 nop
+80009b2c: 00000013 nop
+80009b30: 00000013 nop
+80009b34: 00000013 nop
+80009b38: 00000013 nop
+80009b3c: 00000013 nop
+80009b40: 00000013 nop
+80009b44: 00000013 nop
+80009b48: 00000013 nop
+80009b4c: 00000013 nop
+80009b50: 00000013 nop
+80009b54: 00000013 nop
+80009b58: 00000013 nop
+80009b5c: 00000013 nop
+80009b60: 00000013 nop
+80009b64: 00000013 nop
+80009b68: 00000013 nop
+80009b6c: 00000013 nop
+80009b70: 00000013 nop
+80009b74: 00000013 nop
+80009b78: 00000013 nop
+80009b7c: 00000013 nop
+80009b80: 00000013 nop
+80009b84: 00000013 nop
+80009b88: 00000013 nop
+80009b8c: 00000013 nop
+80009b90: 00000013 nop
+80009b94: 00000013 nop
+80009b98: 00000013 nop
+80009b9c: 00000013 nop
+80009ba0: 00000013 nop
+80009ba4: 00000013 nop
+80009ba8: 00000013 nop
+80009bac: 00000013 nop
+80009bb0: 00000013 nop
+80009bb4: 00000013 nop
+80009bb8: 00000013 nop
+80009bbc: 00000013 nop
+80009bc0: 00000013 nop
+80009bc4: 00000013 nop
+80009bc8: 00000013 nop
+80009bcc: 00000013 nop
+80009bd0: 00000013 nop
+80009bd4: 00000013 nop
+80009bd8: 00000013 nop
+80009bdc: 00000013 nop
+80009be0: 00000013 nop
+80009be4: 00000013 nop
+80009be8: 00000013 nop
+80009bec: 00000013 nop
+80009bf0: 00000013 nop
+80009bf4: 00000013 nop
+80009bf8: 00000013 nop
+80009bfc: 00000013 nop
+80009c00: 00000013 nop
+80009c04: 00000013 nop
+80009c08: 00000013 nop
+80009c0c: 00000013 nop
+80009c10: 00000013 nop
+80009c14: 00000013 nop
+80009c18: 00000013 nop
+80009c1c: 00000013 nop
+80009c20: 00000013 nop
+80009c24: 00000013 nop
+80009c28: 00000013 nop
+80009c2c: 00000013 nop
+80009c30: 00000013 nop
+80009c34: 00000013 nop
+80009c38: 00000013 nop
+80009c3c: 00000013 nop
+80009c40: 00000013 nop
+80009c44: 00000013 nop
+80009c48: 00000013 nop
+80009c4c: 00000013 nop
+80009c50: 00000013 nop
+80009c54: 00000013 nop
+80009c58: 00000013 nop
+80009c5c: 00000013 nop
+80009c60: 00000013 nop
+80009c64: 00000013 nop
+80009c68: 00000013 nop
+80009c6c: 00000013 nop
+80009c70: 00000013 nop
+80009c74: 00000013 nop
+80009c78: 00000013 nop
+80009c7c: 00000013 nop
+80009c80: 00000013 nop
+80009c84: 00000013 nop
+80009c88: 00000013 nop
+80009c8c: 00000013 nop
+80009c90: 00000013 nop
+80009c94: 00000013 nop
+80009c98: 00000013 nop
+80009c9c: 00000013 nop
+80009ca0: 00000013 nop
+80009ca4: 00000013 nop
+80009ca8: 00000013 nop
+80009cac: 00000013 nop
+80009cb0: 00000013 nop
+80009cb4: 00000013 nop
+80009cb8: 00000013 nop
+80009cbc: 00000013 nop
+80009cc0: 00000013 nop
+80009cc4: 00000013 nop
+80009cc8: 00000013 nop
+80009ccc: 00000013 nop
+80009cd0: 00000013 nop
+80009cd4: 00000013 nop
+80009cd8: 00000013 nop
+80009cdc: 00000013 nop
+80009ce0: 00000013 nop
+80009ce4: 00000013 nop
+80009ce8: 00000013 nop
+80009cec: 00000013 nop
+80009cf0: 00000013 nop
+80009cf4: 00000013 nop
+80009cf8: 00000013 nop
+80009cfc: 00000013 nop
+80009d00: 00000013 nop
+80009d04: 00000013 nop
+80009d08: 00000013 nop
+80009d0c: 00000013 nop
+80009d10: 00000013 nop
+80009d14: 00000013 nop
+80009d18: 00000013 nop
+80009d1c: 00000013 nop
+80009d20: 00000013 nop
+80009d24: 00000013 nop
+80009d28: 00000013 nop
+80009d2c: 00000013 nop
+80009d30: 00000013 nop
+80009d34: 00000013 nop
+80009d38: 00000013 nop
+80009d3c: 00000013 nop
+80009d40: 00000013 nop
+80009d44: 00000013 nop
+80009d48: 00000013 nop
+80009d4c: 00000013 nop
+80009d50: 00000013 nop
+80009d54: 00000013 nop
+80009d58: 00000013 nop
+80009d5c: 00000013 nop
+80009d60: 00000013 nop
+80009d64: 00000013 nop
+80009d68: 00000013 nop
+80009d6c: 00000013 nop
+80009d70: 00000013 nop
+80009d74: 00000013 nop
+80009d78: 00000013 nop
+80009d7c: 00000013 nop
+80009d80: 00000013 nop
+80009d84: 00000013 nop
+80009d88: 00000013 nop
+80009d8c: 00000013 nop
+80009d90: 00000013 nop
+80009d94: 00000013 nop
+80009d98: 00000013 nop
+80009d9c: 00000013 nop
+80009da0: 00000013 nop
+80009da4: 00000013 nop
+80009da8: 00000013 nop
+80009dac: 00000013 nop
+80009db0: 00000013 nop
+80009db4: 00000013 nop
+80009db8: 00000013 nop
+80009dbc: 00000013 nop
+80009dc0: 00000013 nop
+80009dc4: 00000013 nop
+80009dc8: 00000013 nop
+80009dcc: 00000013 nop
+80009dd0: 00000013 nop
+80009dd4: 00000013 nop
+80009dd8: 00000013 nop
+80009ddc: 00000013 nop
+80009de0: 00000013 nop
+80009de4: 00000013 nop
+80009de8: 00000013 nop
+80009dec: 00000013 nop
+80009df0: 00000013 nop
+80009df4: 00000013 nop
+80009df8: 00000013 nop
+80009dfc: 00000013 nop
+80009e00: 00000013 nop
+80009e04: 00000013 nop
+80009e08: 00000013 nop
+80009e0c: 00000013 nop
+80009e10: 00000013 nop
+80009e14: 00000013 nop
+80009e18: 00000013 nop
+80009e1c: 00000013 nop
+80009e20: 00000013 nop
+80009e24: 00000013 nop
+80009e28: 00000013 nop
+80009e2c: 00000013 nop
+80009e30: 00000013 nop
+80009e34: 00000013 nop
+80009e38: 00000013 nop
+80009e3c: 00000013 nop
+80009e40: 00000013 nop
+80009e44: 00000013 nop
+80009e48: 00000013 nop
+80009e4c: 00000013 nop
+80009e50: 00000013 nop
+80009e54: 00000013 nop
+80009e58: 00000013 nop
+80009e5c: 00000013 nop
+80009e60: 00000013 nop
+80009e64: 00000013 nop
+80009e68: 00000013 nop
+80009e6c: 00000013 nop
+80009e70: 00000013 nop
+80009e74: 00000013 nop
+80009e78: 00000013 nop
+80009e7c: 00000013 nop
+80009e80: 00000013 nop
+80009e84: 00000013 nop
+80009e88: 00000013 nop
+80009e8c: 00000013 nop
+80009e90: 00000013 nop
+80009e94: 00000013 nop
+80009e98: 00000013 nop
+80009e9c: 00000013 nop
+80009ea0: 00000013 nop
+80009ea4: 00000013 nop
+80009ea8: 00000013 nop
+80009eac: 00000013 nop
+80009eb0: 00000013 nop
+80009eb4: 00000013 nop
+80009eb8: 00000013 nop
+80009ebc: 00000013 nop
+80009ec0: 00000013 nop
+80009ec4: 00000013 nop
+80009ec8: 00000013 nop
+80009ecc: 00000013 nop
+80009ed0: 00000013 nop
+80009ed4: 00000013 nop
+80009ed8: 00000013 nop
+80009edc: 00000013 nop
+80009ee0: 00000013 nop
+80009ee4: 00000013 nop
+80009ee8: 00000013 nop
+80009eec: 00000013 nop
+80009ef0: 00000013 nop
+80009ef4: 00000013 nop
+80009ef8: 00000013 nop
+80009efc: 00000013 nop
+80009f00: 00000013 nop
+80009f04: 00000013 nop
+80009f08: 00000013 nop
+80009f0c: 00000013 nop
+80009f10: 00000013 nop
+80009f14: 00000013 nop
+80009f18: 00000013 nop
+80009f1c: 00000013 nop
+80009f20: 00000013 nop
+80009f24: 00000013 nop
+80009f28: 00000013 nop
+80009f2c: 00000013 nop
+80009f30: 00000013 nop
+80009f34: 00000013 nop
+80009f38: 00000013 nop
+80009f3c: 00000013 nop
+80009f40: 00000013 nop
+80009f44: 00000013 nop
+80009f48: 00000013 nop
+80009f4c: 00000013 nop
+80009f50: 00000013 nop
+80009f54: 00000013 nop
+80009f58: 00000013 nop
+80009f5c: 00000013 nop
+80009f60: 00000013 nop
+80009f64: 00000013 nop
+80009f68: 00000013 nop
+80009f6c: 00000013 nop
+80009f70: 00000013 nop
+80009f74: 00000013 nop
+80009f78: 00000013 nop
+80009f7c: 00000013 nop
+80009f80: 00000013 nop
+80009f84: 00000013 nop
+80009f88: 00000013 nop
+80009f8c: 00000013 nop
+80009f90: 00000013 nop
+80009f94: 00000013 nop
+80009f98: 00000013 nop
+80009f9c: 00000013 nop
+80009fa0: 00000013 nop
+80009fa4: 00000013 nop
+80009fa8: 00000013 nop
+80009fac: 00000013 nop
+80009fb0: 00000013 nop
+80009fb4: 00000013 nop
+80009fb8: 00000013 nop
+80009fbc: 00000013 nop
+80009fc0: 00000013 nop
+80009fc4: 00000013 nop
+80009fc8: 00000013 nop
+80009fcc: 00000013 nop
+80009fd0: 00000013 nop
+80009fd4: 00000013 nop
+80009fd8: 00000013 nop
+80009fdc: 00000013 nop
+80009fe0: 00000013 nop
+80009fe4: 00000013 nop
+80009fe8: 00000013 nop
+80009fec: 00000013 nop
+80009ff0: 00000013 nop
+80009ff4: 00000013 nop
+80009ff8: 00000013 nop
+80009ffc: 00000013 nop
+
+8000a000 <ROM_5>:
+8000a000: 5150 lw a2,36(a0)
+8000a002: 5352 lw t1,52(sp)
+8000a004: 5554 lw a3,44(a0)
+8000a006: 5756 lw a4,116(sp)
+8000a008: 5958 lw a4,52(a0)
+8000a00a: 5b5a lw s6,180(sp)
+8000a00c: 5d5c lw a5,60(a0)
+8000a00e: 5f5e lw t5,244(sp)
+8000a010: 00008067 ret
+8000a014: 00000013 nop
+8000a018: 00000013 nop
+8000a01c: 00000013 nop
+8000a020: 00000013 nop
+8000a024: 00000013 nop
+8000a028: 00000013 nop
+8000a02c: 00000013 nop
+8000a030: 00000013 nop
+8000a034: 00000013 nop
+8000a038: 00000013 nop
+8000a03c: 00000013 nop
+8000a040: 00000013 nop
+8000a044: 00000013 nop
+8000a048: 00000013 nop
+8000a04c: 00000013 nop
+8000a050: 00000013 nop
+8000a054: 00000013 nop
+8000a058: 00000013 nop
+8000a05c: 00000013 nop
+8000a060: 00000013 nop
+8000a064: 00000013 nop
+8000a068: 00000013 nop
+8000a06c: 00000013 nop
+8000a070: 00000013 nop
+8000a074: 00000013 nop
+8000a078: 00000013 nop
+8000a07c: 00000013 nop
+8000a080: 00000013 nop
+8000a084: 00000013 nop
+8000a088: 00000013 nop
+8000a08c: 00000013 nop
+8000a090: 00000013 nop
+8000a094: 00000013 nop
+8000a098: 00000013 nop
+8000a09c: 00000013 nop
+8000a0a0: 00000013 nop
+8000a0a4: 00000013 nop
+8000a0a8: 00000013 nop
+8000a0ac: 00000013 nop
+8000a0b0: 00000013 nop
+8000a0b4: 00000013 nop
+8000a0b8: 00000013 nop
+8000a0bc: 00000013 nop
+8000a0c0: 00000013 nop
+8000a0c4: 00000013 nop
+8000a0c8: 00000013 nop
+8000a0cc: 00000013 nop
+8000a0d0: 00000013 nop
+8000a0d4: 00000013 nop
+8000a0d8: 00000013 nop
+8000a0dc: 00000013 nop
+8000a0e0: 00000013 nop
+8000a0e4: 00000013 nop
+8000a0e8: 00000013 nop
+8000a0ec: 00000013 nop
+8000a0f0: 00000013 nop
+8000a0f4: 00000013 nop
+8000a0f8: 00000013 nop
+8000a0fc: 00000013 nop
+8000a100: 00000013 nop
+8000a104: 00000013 nop
+8000a108: 00000013 nop
+8000a10c: 00000013 nop
+8000a110: 00000013 nop
+8000a114: 00000013 nop
+8000a118: 00000013 nop
+8000a11c: 00000013 nop
+8000a120: 00000013 nop
+8000a124: 00000013 nop
+8000a128: 00000013 nop
+8000a12c: 00000013 nop
+8000a130: 00000013 nop
+8000a134: 00000013 nop
+8000a138: 00000013 nop
+8000a13c: 00000013 nop
+8000a140: 00000013 nop
+8000a144: 00000013 nop
+8000a148: 00000013 nop
+8000a14c: 00000013 nop
+8000a150: 00000013 nop
+8000a154: 00000013 nop
+8000a158: 00000013 nop
+8000a15c: 00000013 nop
+8000a160: 00000013 nop
+8000a164: 00000013 nop
+8000a168: 00000013 nop
+8000a16c: 00000013 nop
+8000a170: 00000013 nop
+8000a174: 00000013 nop
+8000a178: 00000013 nop
+8000a17c: 00000013 nop
+8000a180: 00000013 nop
+8000a184: 00000013 nop
+8000a188: 00000013 nop
+8000a18c: 00000013 nop
+8000a190: 00000013 nop
+8000a194: 00000013 nop
+8000a198: 00000013 nop
+8000a19c: 00000013 nop
+8000a1a0: 00000013 nop
+8000a1a4: 00000013 nop
+8000a1a8: 00000013 nop
+8000a1ac: 00000013 nop
+8000a1b0: 00000013 nop
+8000a1b4: 00000013 nop
+8000a1b8: 00000013 nop
+8000a1bc: 00000013 nop
+8000a1c0: 00000013 nop
+8000a1c4: 00000013 nop
+8000a1c8: 00000013 nop
+8000a1cc: 00000013 nop
+8000a1d0: 00000013 nop
+8000a1d4: 00000013 nop
+8000a1d8: 00000013 nop
+8000a1dc: 00000013 nop
+8000a1e0: 00000013 nop
+8000a1e4: 00000013 nop
+8000a1e8: 00000013 nop
+8000a1ec: 00000013 nop
+8000a1f0: 00000013 nop
+8000a1f4: 00000013 nop
+8000a1f8: 00000013 nop
+8000a1fc: 00000013 nop
+8000a200: 00000013 nop
+8000a204: 00000013 nop
+8000a208: 00000013 nop
+8000a20c: 00000013 nop
+8000a210: 00000013 nop
+8000a214: 00000013 nop
+8000a218: 00000013 nop
+8000a21c: 00000013 nop
+8000a220: 00000013 nop
+8000a224: 00000013 nop
+8000a228: 00000013 nop
+8000a22c: 00000013 nop
+8000a230: 00000013 nop
+8000a234: 00000013 nop
+8000a238: 00000013 nop
+8000a23c: 00000013 nop
+8000a240: 00000013 nop
+8000a244: 00000013 nop
+8000a248: 00000013 nop
+8000a24c: 00000013 nop
+8000a250: 00000013 nop
+8000a254: 00000013 nop
+8000a258: 00000013 nop
+8000a25c: 00000013 nop
+8000a260: 00000013 nop
+8000a264: 00000013 nop
+8000a268: 00000013 nop
+8000a26c: 00000013 nop
+8000a270: 00000013 nop
+8000a274: 00000013 nop
+8000a278: 00000013 nop
+8000a27c: 00000013 nop
+8000a280: 00000013 nop
+8000a284: 00000013 nop
+8000a288: 00000013 nop
+8000a28c: 00000013 nop
+8000a290: 00000013 nop
+8000a294: 00000013 nop
+8000a298: 00000013 nop
+8000a29c: 00000013 nop
+8000a2a0: 00000013 nop
+8000a2a4: 00000013 nop
+8000a2a8: 00000013 nop
+8000a2ac: 00000013 nop
+8000a2b0: 00000013 nop
+8000a2b4: 00000013 nop
+8000a2b8: 00000013 nop
+8000a2bc: 00000013 nop
+8000a2c0: 00000013 nop
+8000a2c4: 00000013 nop
+8000a2c8: 00000013 nop
+8000a2cc: 00000013 nop
+8000a2d0: 00000013 nop
+8000a2d4: 00000013 nop
+8000a2d8: 00000013 nop
+8000a2dc: 00000013 nop
+8000a2e0: 00000013 nop
+8000a2e4: 00000013 nop
+8000a2e8: 00000013 nop
+8000a2ec: 00000013 nop
+8000a2f0: 00000013 nop
+8000a2f4: 00000013 nop
+8000a2f8: 00000013 nop
+8000a2fc: 00000013 nop
+8000a300: 00000013 nop
+8000a304: 00000013 nop
+8000a308: 00000013 nop
+8000a30c: 00000013 nop
+8000a310: 00000013 nop
+8000a314: 00000013 nop
+8000a318: 00000013 nop
+8000a31c: 00000013 nop
+8000a320: 00000013 nop
+8000a324: 00000013 nop
+8000a328: 00000013 nop
+8000a32c: 00000013 nop
+8000a330: 00000013 nop
+8000a334: 00000013 nop
+8000a338: 00000013 nop
+8000a33c: 00000013 nop
+8000a340: 00000013 nop
+8000a344: 00000013 nop
+8000a348: 00000013 nop
+8000a34c: 00000013 nop
+8000a350: 00000013 nop
+8000a354: 00000013 nop
+8000a358: 00000013 nop
+8000a35c: 00000013 nop
+8000a360: 00000013 nop
+8000a364: 00000013 nop
+8000a368: 00000013 nop
+8000a36c: 00000013 nop
+8000a370: 00000013 nop
+8000a374: 00000013 nop
+8000a378: 00000013 nop
+8000a37c: 00000013 nop
+8000a380: 00000013 nop
+8000a384: 00000013 nop
+8000a388: 00000013 nop
+8000a38c: 00000013 nop
+8000a390: 00000013 nop
+8000a394: 00000013 nop
+8000a398: 00000013 nop
+8000a39c: 00000013 nop
+8000a3a0: 00000013 nop
+8000a3a4: 00000013 nop
+8000a3a8: 00000013 nop
+8000a3ac: 00000013 nop
+8000a3b0: 00000013 nop
+8000a3b4: 00000013 nop
+8000a3b8: 00000013 nop
+8000a3bc: 00000013 nop
+8000a3c0: 00000013 nop
+8000a3c4: 00000013 nop
+8000a3c8: 00000013 nop
+8000a3cc: 00000013 nop
+8000a3d0: 00000013 nop
+8000a3d4: 00000013 nop
+8000a3d8: 00000013 nop
+8000a3dc: 00000013 nop
+8000a3e0: 00000013 nop
+8000a3e4: 00000013 nop
+8000a3e8: 00000013 nop
+8000a3ec: 00000013 nop
+8000a3f0: 00000013 nop
+8000a3f4: 00000013 nop
+8000a3f8: 00000013 nop
+8000a3fc: 00000013 nop
+8000a400: 00000013 nop
+8000a404: 00000013 nop
+8000a408: 00000013 nop
+8000a40c: 00000013 nop
+8000a410: 00000013 nop
+8000a414: 00000013 nop
+8000a418: 00000013 nop
+8000a41c: 00000013 nop
+8000a420: 00000013 nop
+8000a424: 00000013 nop
+8000a428: 00000013 nop
+8000a42c: 00000013 nop
+8000a430: 00000013 nop
+8000a434: 00000013 nop
+8000a438: 00000013 nop
+8000a43c: 00000013 nop
+8000a440: 00000013 nop
+8000a444: 00000013 nop
+8000a448: 00000013 nop
+8000a44c: 00000013 nop
+8000a450: 00000013 nop
+8000a454: 00000013 nop
+8000a458: 00000013 nop
+8000a45c: 00000013 nop
+8000a460: 00000013 nop
+8000a464: 00000013 nop
+8000a468: 00000013 nop
+8000a46c: 00000013 nop
+8000a470: 00000013 nop
+8000a474: 00000013 nop
+8000a478: 00000013 nop
+8000a47c: 00000013 nop
+8000a480: 00000013 nop
+8000a484: 00000013 nop
+8000a488: 00000013 nop
+8000a48c: 00000013 nop
+8000a490: 00000013 nop
+8000a494: 00000013 nop
+8000a498: 00000013 nop
+8000a49c: 00000013 nop
+8000a4a0: 00000013 nop
+8000a4a4: 00000013 nop
+8000a4a8: 00000013 nop
+8000a4ac: 00000013 nop
+8000a4b0: 00000013 nop
+8000a4b4: 00000013 nop
+8000a4b8: 00000013 nop
+8000a4bc: 00000013 nop
+8000a4c0: 00000013 nop
+8000a4c4: 00000013 nop
+8000a4c8: 00000013 nop
+8000a4cc: 00000013 nop
+8000a4d0: 00000013 nop
+8000a4d4: 00000013 nop
+8000a4d8: 00000013 nop
+8000a4dc: 00000013 nop
+8000a4e0: 00000013 nop
+8000a4e4: 00000013 nop
+8000a4e8: 00000013 nop
+8000a4ec: 00000013 nop
+8000a4f0: 00000013 nop
+8000a4f4: 00000013 nop
+8000a4f8: 00000013 nop
+8000a4fc: 00000013 nop
+8000a500: 00000013 nop
+8000a504: 00000013 nop
+8000a508: 00000013 nop
+8000a50c: 00000013 nop
+8000a510: 00000013 nop
+8000a514: 00000013 nop
+8000a518: 00000013 nop
+8000a51c: 00000013 nop
+8000a520: 00000013 nop
+8000a524: 00000013 nop
+8000a528: 00000013 nop
+8000a52c: 00000013 nop
+8000a530: 00000013 nop
+8000a534: 00000013 nop
+8000a538: 00000013 nop
+8000a53c: 00000013 nop
+8000a540: 00000013 nop
+8000a544: 00000013 nop
+8000a548: 00000013 nop
+8000a54c: 00000013 nop
+8000a550: 00000013 nop
+8000a554: 00000013 nop
+8000a558: 00000013 nop
+8000a55c: 00000013 nop
+8000a560: 00000013 nop
+8000a564: 00000013 nop
+8000a568: 00000013 nop
+8000a56c: 00000013 nop
+8000a570: 00000013 nop
+8000a574: 00000013 nop
+8000a578: 00000013 nop
+8000a57c: 00000013 nop
+8000a580: 00000013 nop
+8000a584: 00000013 nop
+8000a588: 00000013 nop
+8000a58c: 00000013 nop
+8000a590: 00000013 nop
+8000a594: 00000013 nop
+8000a598: 00000013 nop
+8000a59c: 00000013 nop
+8000a5a0: 00000013 nop
+8000a5a4: 00000013 nop
+8000a5a8: 00000013 nop
+8000a5ac: 00000013 nop
+8000a5b0: 00000013 nop
+8000a5b4: 00000013 nop
+8000a5b8: 00000013 nop
+8000a5bc: 00000013 nop
+8000a5c0: 00000013 nop
+8000a5c4: 00000013 nop
+8000a5c8: 00000013 nop
+8000a5cc: 00000013 nop
+8000a5d0: 00000013 nop
+8000a5d4: 00000013 nop
+8000a5d8: 00000013 nop
+8000a5dc: 00000013 nop
+8000a5e0: 00000013 nop
+8000a5e4: 00000013 nop
+8000a5e8: 00000013 nop
+8000a5ec: 00000013 nop
+8000a5f0: 00000013 nop
+8000a5f4: 00000013 nop
+8000a5f8: 00000013 nop
+8000a5fc: 00000013 nop
+8000a600: 00000013 nop
+8000a604: 00000013 nop
+8000a608: 00000013 nop
+8000a60c: 00000013 nop
+8000a610: 00000013 nop
+8000a614: 00000013 nop
+8000a618: 00000013 nop
+8000a61c: 00000013 nop
+8000a620: 00000013 nop
+8000a624: 00000013 nop
+8000a628: 00000013 nop
+8000a62c: 00000013 nop
+8000a630: 00000013 nop
+8000a634: 00000013 nop
+8000a638: 00000013 nop
+8000a63c: 00000013 nop
+8000a640: 00000013 nop
+8000a644: 00000013 nop
+8000a648: 00000013 nop
+8000a64c: 00000013 nop
+8000a650: 00000013 nop
+8000a654: 00000013 nop
+8000a658: 00000013 nop
+8000a65c: 00000013 nop
+8000a660: 00000013 nop
+8000a664: 00000013 nop
+8000a668: 00000013 nop
+8000a66c: 00000013 nop
+8000a670: 00000013 nop
+8000a674: 00000013 nop
+8000a678: 00000013 nop
+8000a67c: 00000013 nop
+8000a680: 00000013 nop
+8000a684: 00000013 nop
+8000a688: 00000013 nop
+8000a68c: 00000013 nop
+8000a690: 00000013 nop
+8000a694: 00000013 nop
+8000a698: 00000013 nop
+8000a69c: 00000013 nop
+8000a6a0: 00000013 nop
+8000a6a4: 00000013 nop
+8000a6a8: 00000013 nop
+8000a6ac: 00000013 nop
+8000a6b0: 00000013 nop
+8000a6b4: 00000013 nop
+8000a6b8: 00000013 nop
+8000a6bc: 00000013 nop
+8000a6c0: 00000013 nop
+8000a6c4: 00000013 nop
+8000a6c8: 00000013 nop
+8000a6cc: 00000013 nop
+8000a6d0: 00000013 nop
+8000a6d4: 00000013 nop
+8000a6d8: 00000013 nop
+8000a6dc: 00000013 nop
+8000a6e0: 00000013 nop
+8000a6e4: 00000013 nop
+8000a6e8: 00000013 nop
+8000a6ec: 00000013 nop
+8000a6f0: 00000013 nop
+8000a6f4: 00000013 nop
+8000a6f8: 00000013 nop
+8000a6fc: 00000013 nop
+8000a700: 00000013 nop
+8000a704: 00000013 nop
+8000a708: 00000013 nop
+8000a70c: 00000013 nop
+8000a710: 00000013 nop
+8000a714: 00000013 nop
+8000a718: 00000013 nop
+8000a71c: 00000013 nop
+8000a720: 00000013 nop
+8000a724: 00000013 nop
+8000a728: 00000013 nop
+8000a72c: 00000013 nop
+8000a730: 00000013 nop
+8000a734: 00000013 nop
+8000a738: 00000013 nop
+8000a73c: 00000013 nop
+8000a740: 00000013 nop
+8000a744: 00000013 nop
+8000a748: 00000013 nop
+8000a74c: 00000013 nop
+8000a750: 00000013 nop
+8000a754: 00000013 nop
+8000a758: 00000013 nop
+8000a75c: 00000013 nop
+8000a760: 00000013 nop
+8000a764: 00000013 nop
+8000a768: 00000013 nop
+8000a76c: 00000013 nop
+8000a770: 00000013 nop
+8000a774: 00000013 nop
+8000a778: 00000013 nop
+8000a77c: 00000013 nop
+8000a780: 00000013 nop
+8000a784: 00000013 nop
+8000a788: 00000013 nop
+8000a78c: 00000013 nop
+8000a790: 00000013 nop
+8000a794: 00000013 nop
+8000a798: 00000013 nop
+8000a79c: 00000013 nop
+8000a7a0: 00000013 nop
+8000a7a4: 00000013 nop
+8000a7a8: 00000013 nop
+8000a7ac: 00000013 nop
+8000a7b0: 00000013 nop
+8000a7b4: 00000013 nop
+8000a7b8: 00000013 nop
+8000a7bc: 00000013 nop
+8000a7c0: 00000013 nop
+8000a7c4: 00000013 nop
+8000a7c8: 00000013 nop
+8000a7cc: 00000013 nop
+8000a7d0: 00000013 nop
+8000a7d4: 00000013 nop
+8000a7d8: 00000013 nop
+8000a7dc: 00000013 nop
+8000a7e0: 00000013 nop
+8000a7e4: 00000013 nop
+8000a7e8: 00000013 nop
+8000a7ec: 00000013 nop
+8000a7f0: 00000013 nop
+8000a7f4: 00000013 nop
+8000a7f8: 00000013 nop
+8000a7fc: 00000013 nop
+8000a800: 00000013 nop
+8000a804: 00000013 nop
+8000a808: 00000013 nop
+8000a80c: 00000013 nop
+8000a810: 00000013 nop
+8000a814: 00000013 nop
+8000a818: 00000013 nop
+8000a81c: 00000013 nop
+8000a820: 00000013 nop
+8000a824: 00000013 nop
+8000a828: 00000013 nop
+8000a82c: 00000013 nop
+8000a830: 00000013 nop
+8000a834: 00000013 nop
+8000a838: 00000013 nop
+8000a83c: 00000013 nop
+8000a840: 00000013 nop
+8000a844: 00000013 nop
+8000a848: 00000013 nop
+8000a84c: 00000013 nop
+8000a850: 00000013 nop
+8000a854: 00000013 nop
+8000a858: 00000013 nop
+8000a85c: 00000013 nop
+8000a860: 00000013 nop
+8000a864: 00000013 nop
+8000a868: 00000013 nop
+8000a86c: 00000013 nop
+8000a870: 00000013 nop
+8000a874: 00000013 nop
+8000a878: 00000013 nop
+8000a87c: 00000013 nop
+8000a880: 00000013 nop
+8000a884: 00000013 nop
+8000a888: 00000013 nop
+8000a88c: 00000013 nop
+8000a890: 00000013 nop
+8000a894: 00000013 nop
+8000a898: 00000013 nop
+8000a89c: 00000013 nop
+8000a8a0: 00000013 nop
+8000a8a4: 00000013 nop
+8000a8a8: 00000013 nop
+8000a8ac: 00000013 nop
+8000a8b0: 00000013 nop
+8000a8b4: 00000013 nop
+8000a8b8: 00000013 nop
+8000a8bc: 00000013 nop
+8000a8c0: 00000013 nop
+8000a8c4: 00000013 nop
+8000a8c8: 00000013 nop
+8000a8cc: 00000013 nop
+8000a8d0: 00000013 nop
+8000a8d4: 00000013 nop
+8000a8d8: 00000013 nop
+8000a8dc: 00000013 nop
+8000a8e0: 00000013 nop
+8000a8e4: 00000013 nop
+8000a8e8: 00000013 nop
+8000a8ec: 00000013 nop
+8000a8f0: 00000013 nop
+8000a8f4: 00000013 nop
+8000a8f8: 00000013 nop
+8000a8fc: 00000013 nop
+8000a900: 00000013 nop
+8000a904: 00000013 nop
+8000a908: 00000013 nop
+8000a90c: 00000013 nop
+8000a910: 00000013 nop
+8000a914: 00000013 nop
+8000a918: 00000013 nop
+8000a91c: 00000013 nop
+8000a920: 00000013 nop
+8000a924: 00000013 nop
+8000a928: 00000013 nop
+8000a92c: 00000013 nop
+8000a930: 00000013 nop
+8000a934: 00000013 nop
+8000a938: 00000013 nop
+8000a93c: 00000013 nop
+8000a940: 00000013 nop
+8000a944: 00000013 nop
+8000a948: 00000013 nop
+8000a94c: 00000013 nop
+8000a950: 00000013 nop
+8000a954: 00000013 nop
+8000a958: 00000013 nop
+8000a95c: 00000013 nop
+8000a960: 00000013 nop
+8000a964: 00000013 nop
+8000a968: 00000013 nop
+8000a96c: 00000013 nop
+8000a970: 00000013 nop
+8000a974: 00000013 nop
+8000a978: 00000013 nop
+8000a97c: 00000013 nop
+8000a980: 00000013 nop
+8000a984: 00000013 nop
+8000a988: 00000013 nop
+8000a98c: 00000013 nop
+8000a990: 00000013 nop
+8000a994: 00000013 nop
+8000a998: 00000013 nop
+8000a99c: 00000013 nop
+8000a9a0: 00000013 nop
+8000a9a4: 00000013 nop
+8000a9a8: 00000013 nop
+8000a9ac: 00000013 nop
+8000a9b0: 00000013 nop
+8000a9b4: 00000013 nop
+8000a9b8: 00000013 nop
+8000a9bc: 00000013 nop
+8000a9c0: 00000013 nop
+8000a9c4: 00000013 nop
+8000a9c8: 00000013 nop
+8000a9cc: 00000013 nop
+8000a9d0: 00000013 nop
+8000a9d4: 00000013 nop
+8000a9d8: 00000013 nop
+8000a9dc: 00000013 nop
+8000a9e0: 00000013 nop
+8000a9e4: 00000013 nop
+8000a9e8: 00000013 nop
+8000a9ec: 00000013 nop
+8000a9f0: 00000013 nop
+8000a9f4: 00000013 nop
+8000a9f8: 00000013 nop
+8000a9fc: 00000013 nop
+8000aa00: 00000013 nop
+8000aa04: 00000013 nop
+8000aa08: 00000013 nop
+8000aa0c: 00000013 nop
+8000aa10: 00000013 nop
+8000aa14: 00000013 nop
+8000aa18: 00000013 nop
+8000aa1c: 00000013 nop
+8000aa20: 00000013 nop
+8000aa24: 00000013 nop
+8000aa28: 00000013 nop
+8000aa2c: 00000013 nop
+8000aa30: 00000013 nop
+8000aa34: 00000013 nop
+8000aa38: 00000013 nop
+8000aa3c: 00000013 nop
+8000aa40: 00000013 nop
+8000aa44: 00000013 nop
+8000aa48: 00000013 nop
+8000aa4c: 00000013 nop
+8000aa50: 00000013 nop
+8000aa54: 00000013 nop
+8000aa58: 00000013 nop
+8000aa5c: 00000013 nop
+8000aa60: 00000013 nop
+8000aa64: 00000013 nop
+8000aa68: 00000013 nop
+8000aa6c: 00000013 nop
+8000aa70: 00000013 nop
+8000aa74: 00000013 nop
+8000aa78: 00000013 nop
+8000aa7c: 00000013 nop
+8000aa80: 00000013 nop
+8000aa84: 00000013 nop
+8000aa88: 00000013 nop
+8000aa8c: 00000013 nop
+8000aa90: 00000013 nop
+8000aa94: 00000013 nop
+8000aa98: 00000013 nop
+8000aa9c: 00000013 nop
+8000aaa0: 00000013 nop
+8000aaa4: 00000013 nop
+8000aaa8: 00000013 nop
+8000aaac: 00000013 nop
+8000aab0: 00000013 nop
+8000aab4: 00000013 nop
+8000aab8: 00000013 nop
+8000aabc: 00000013 nop
+8000aac0: 00000013 nop
+8000aac4: 00000013 nop
+8000aac8: 00000013 nop
+8000aacc: 00000013 nop
+8000aad0: 00000013 nop
+8000aad4: 00000013 nop
+8000aad8: 00000013 nop
+8000aadc: 00000013 nop
+8000aae0: 00000013 nop
+8000aae4: 00000013 nop
+8000aae8: 00000013 nop
+8000aaec: 00000013 nop
+8000aaf0: 00000013 nop
+8000aaf4: 00000013 nop
+8000aaf8: 00000013 nop
+8000aafc: 00000013 nop
+8000ab00: 00000013 nop
+8000ab04: 00000013 nop
+8000ab08: 00000013 nop
+8000ab0c: 00000013 nop
+8000ab10: 00000013 nop
+8000ab14: 00000013 nop
+8000ab18: 00000013 nop
+8000ab1c: 00000013 nop
+8000ab20: 00000013 nop
+8000ab24: 00000013 nop
+8000ab28: 00000013 nop
+8000ab2c: 00000013 nop
+8000ab30: 00000013 nop
+8000ab34: 00000013 nop
+8000ab38: 00000013 nop
+8000ab3c: 00000013 nop
+8000ab40: 00000013 nop
+8000ab44: 00000013 nop
+8000ab48: 00000013 nop
+8000ab4c: 00000013 nop
+8000ab50: 00000013 nop
+8000ab54: 00000013 nop
+8000ab58: 00000013 nop
+8000ab5c: 00000013 nop
+8000ab60: 00000013 nop
+8000ab64: 00000013 nop
+8000ab68: 00000013 nop
+8000ab6c: 00000013 nop
+8000ab70: 00000013 nop
+8000ab74: 00000013 nop
+8000ab78: 00000013 nop
+8000ab7c: 00000013 nop
+8000ab80: 00000013 nop
+8000ab84: 00000013 nop
+8000ab88: 00000013 nop
+8000ab8c: 00000013 nop
+8000ab90: 00000013 nop
+8000ab94: 00000013 nop
+8000ab98: 00000013 nop
+8000ab9c: 00000013 nop
+8000aba0: 00000013 nop
+8000aba4: 00000013 nop
+8000aba8: 00000013 nop
+8000abac: 00000013 nop
+8000abb0: 00000013 nop
+8000abb4: 00000013 nop
+8000abb8: 00000013 nop
+8000abbc: 00000013 nop
+8000abc0: 00000013 nop
+8000abc4: 00000013 nop
+8000abc8: 00000013 nop
+8000abcc: 00000013 nop
+8000abd0: 00000013 nop
+8000abd4: 00000013 nop
+8000abd8: 00000013 nop
+8000abdc: 00000013 nop
+8000abe0: 00000013 nop
+8000abe4: 00000013 nop
+8000abe8: 00000013 nop
+8000abec: 00000013 nop
+8000abf0: 00000013 nop
+8000abf4: 00000013 nop
+8000abf8: 00000013 nop
+8000abfc: 00000013 nop
+8000ac00: 00000013 nop
+8000ac04: 00000013 nop
+8000ac08: 00000013 nop
+8000ac0c: 00000013 nop
+8000ac10: 00000013 nop
+8000ac14: 00000013 nop
+8000ac18: 00000013 nop
+8000ac1c: 00000013 nop
+8000ac20: 00000013 nop
+8000ac24: 00000013 nop
+8000ac28: 00000013 nop
+8000ac2c: 00000013 nop
+8000ac30: 00000013 nop
+8000ac34: 00000013 nop
+8000ac38: 00000013 nop
+8000ac3c: 00000013 nop
+8000ac40: 00000013 nop
+8000ac44: 00000013 nop
+8000ac48: 00000013 nop
+8000ac4c: 00000013 nop
+8000ac50: 00000013 nop
+8000ac54: 00000013 nop
+8000ac58: 00000013 nop
+8000ac5c: 00000013 nop
+8000ac60: 00000013 nop
+8000ac64: 00000013 nop
+8000ac68: 00000013 nop
+8000ac6c: 00000013 nop
+8000ac70: 00000013 nop
+8000ac74: 00000013 nop
+8000ac78: 00000013 nop
+8000ac7c: 00000013 nop
+8000ac80: 00000013 nop
+8000ac84: 00000013 nop
+8000ac88: 00000013 nop
+8000ac8c: 00000013 nop
+8000ac90: 00000013 nop
+8000ac94: 00000013 nop
+8000ac98: 00000013 nop
+8000ac9c: 00000013 nop
+8000aca0: 00000013 nop
+8000aca4: 00000013 nop
+8000aca8: 00000013 nop
+8000acac: 00000013 nop
+8000acb0: 00000013 nop
+8000acb4: 00000013 nop
+8000acb8: 00000013 nop
+8000acbc: 00000013 nop
+8000acc0: 00000013 nop
+8000acc4: 00000013 nop
+8000acc8: 00000013 nop
+8000accc: 00000013 nop
+8000acd0: 00000013 nop
+8000acd4: 00000013 nop
+8000acd8: 00000013 nop
+8000acdc: 00000013 nop
+8000ace0: 00000013 nop
+8000ace4: 00000013 nop
+8000ace8: 00000013 nop
+8000acec: 00000013 nop
+8000acf0: 00000013 nop
+8000acf4: 00000013 nop
+8000acf8: 00000013 nop
+8000acfc: 00000013 nop
+8000ad00: 00000013 nop
+8000ad04: 00000013 nop
+8000ad08: 00000013 nop
+8000ad0c: 00000013 nop
+8000ad10: 00000013 nop
+8000ad14: 00000013 nop
+8000ad18: 00000013 nop
+8000ad1c: 00000013 nop
+8000ad20: 00000013 nop
+8000ad24: 00000013 nop
+8000ad28: 00000013 nop
+8000ad2c: 00000013 nop
+8000ad30: 00000013 nop
+8000ad34: 00000013 nop
+8000ad38: 00000013 nop
+8000ad3c: 00000013 nop
+8000ad40: 00000013 nop
+8000ad44: 00000013 nop
+8000ad48: 00000013 nop
+8000ad4c: 00000013 nop
+8000ad50: 00000013 nop
+8000ad54: 00000013 nop
+8000ad58: 00000013 nop
+8000ad5c: 00000013 nop
+8000ad60: 00000013 nop
+8000ad64: 00000013 nop
+8000ad68: 00000013 nop
+8000ad6c: 00000013 nop
+8000ad70: 00000013 nop
+8000ad74: 00000013 nop
+8000ad78: 00000013 nop
+8000ad7c: 00000013 nop
+8000ad80: 00000013 nop
+8000ad84: 00000013 nop
+8000ad88: 00000013 nop
+8000ad8c: 00000013 nop
+8000ad90: 00000013 nop
+8000ad94: 00000013 nop
+8000ad98: 00000013 nop
+8000ad9c: 00000013 nop
+8000ada0: 00000013 nop
+8000ada4: 00000013 nop
+8000ada8: 00000013 nop
+8000adac: 00000013 nop
+8000adb0: 00000013 nop
+8000adb4: 00000013 nop
+8000adb8: 00000013 nop
+8000adbc: 00000013 nop
+8000adc0: 00000013 nop
+8000adc4: 00000013 nop
+8000adc8: 00000013 nop
+8000adcc: 00000013 nop
+8000add0: 00000013 nop
+8000add4: 00000013 nop
+8000add8: 00000013 nop
+8000addc: 00000013 nop
+8000ade0: 00000013 nop
+8000ade4: 00000013 nop
+8000ade8: 00000013 nop
+8000adec: 00000013 nop
+8000adf0: 00000013 nop
+8000adf4: 00000013 nop
+8000adf8: 00000013 nop
+8000adfc: 00000013 nop
+8000ae00: 00000013 nop
+8000ae04: 00000013 nop
+8000ae08: 00000013 nop
+8000ae0c: 00000013 nop
+8000ae10: 00000013 nop
+8000ae14: 00000013 nop
+8000ae18: 00000013 nop
+8000ae1c: 00000013 nop
+8000ae20: 00000013 nop
+8000ae24: 00000013 nop
+8000ae28: 00000013 nop
+8000ae2c: 00000013 nop
+8000ae30: 00000013 nop
+8000ae34: 00000013 nop
+8000ae38: 00000013 nop
+8000ae3c: 00000013 nop
+8000ae40: 00000013 nop
+8000ae44: 00000013 nop
+8000ae48: 00000013 nop
+8000ae4c: 00000013 nop
+8000ae50: 00000013 nop
+8000ae54: 00000013 nop
+8000ae58: 00000013 nop
+8000ae5c: 00000013 nop
+8000ae60: 00000013 nop
+8000ae64: 00000013 nop
+8000ae68: 00000013 nop
+8000ae6c: 00000013 nop
+8000ae70: 00000013 nop
+8000ae74: 00000013 nop
+8000ae78: 00000013 nop
+8000ae7c: 00000013 nop
+8000ae80: 00000013 nop
+8000ae84: 00000013 nop
+8000ae88: 00000013 nop
+8000ae8c: 00000013 nop
+8000ae90: 00000013 nop
+8000ae94: 00000013 nop
+8000ae98: 00000013 nop
+8000ae9c: 00000013 nop
+8000aea0: 00000013 nop
+8000aea4: 00000013 nop
+8000aea8: 00000013 nop
+8000aeac: 00000013 nop
+8000aeb0: 00000013 nop
+8000aeb4: 00000013 nop
+8000aeb8: 00000013 nop
+8000aebc: 00000013 nop
+8000aec0: 00000013 nop
+8000aec4: 00000013 nop
+8000aec8: 00000013 nop
+8000aecc: 00000013 nop
+8000aed0: 00000013 nop
+8000aed4: 00000013 nop
+8000aed8: 00000013 nop
+8000aedc: 00000013 nop
+8000aee0: 00000013 nop
+8000aee4: 00000013 nop
+8000aee8: 00000013 nop
+8000aeec: 00000013 nop
+8000aef0: 00000013 nop
+8000aef4: 00000013 nop
+8000aef8: 00000013 nop
+8000aefc: 00000013 nop
+8000af00: 00000013 nop
+8000af04: 00000013 nop
+8000af08: 00000013 nop
+8000af0c: 00000013 nop
+8000af10: 00000013 nop
+8000af14: 00000013 nop
+8000af18: 00000013 nop
+8000af1c: 00000013 nop
+8000af20: 00000013 nop
+8000af24: 00000013 nop
+8000af28: 00000013 nop
+8000af2c: 00000013 nop
+8000af30: 00000013 nop
+8000af34: 00000013 nop
+8000af38: 00000013 nop
+8000af3c: 00000013 nop
+8000af40: 00000013 nop
+8000af44: 00000013 nop
+8000af48: 00000013 nop
+8000af4c: 00000013 nop
+8000af50: 00000013 nop
+8000af54: 00000013 nop
+8000af58: 00000013 nop
+8000af5c: 00000013 nop
+8000af60: 00000013 nop
+8000af64: 00000013 nop
+8000af68: 00000013 nop
+8000af6c: 00000013 nop
+8000af70: 00000013 nop
+8000af74: 00000013 nop
+8000af78: 00000013 nop
+8000af7c: 00000013 nop
+8000af80: 00000013 nop
+8000af84: 00000013 nop
+8000af88: 00000013 nop
+8000af8c: 00000013 nop
+8000af90: 00000013 nop
+8000af94: 00000013 nop
+8000af98: 00000013 nop
+8000af9c: 00000013 nop
+8000afa0: 00000013 nop
+8000afa4: 00000013 nop
+8000afa8: 00000013 nop
+8000afac: 00000013 nop
+8000afb0: 00000013 nop
+8000afb4: 00000013 nop
+8000afb8: 00000013 nop
+8000afbc: 00000013 nop
+8000afc0: 00000013 nop
+8000afc4: 00000013 nop
+8000afc8: 00000013 nop
+8000afcc: 00000013 nop
+8000afd0: 00000013 nop
+8000afd4: 00000013 nop
+8000afd8: 00000013 nop
+8000afdc: 00000013 nop
+8000afe0: 00000013 nop
+8000afe4: 00000013 nop
+8000afe8: 00000013 nop
+8000afec: 00000013 nop
+8000aff0: 00000013 nop
+8000aff4: 00000013 nop
+8000aff8: 00000013 nop
+8000affc: 00000013 nop
+
+8000b000 <ROM_6>:
+8000b000: 6160 flw fs0,68(a0)
+8000b002: 6362 flw ft6,24(sp)
+8000b004: 6564 flw fs1,76(a0)
+8000b006: 6766 flw fa4,88(sp)
+8000b008: 6968 flw fa0,84(a0)
+8000b00a: 6b6a flw fs6,152(sp)
+8000b00c: 6d6c flw fa1,92(a0)
+8000b00e: 6f6e flw ft10,216(sp)
+8000b010: 00000013 nop
+8000b014: 00000013 nop
+8000b018: 00000013 nop
+8000b01c: 00000013 nop
+8000b020: 00000013 nop
+8000b024: 00000013 nop
+8000b028: 00000013 nop
+8000b02c: 00000013 nop
+8000b030: 00000013 nop
+8000b034: 00000013 nop
+8000b038: 00000013 nop
+8000b03c: 00000013 nop
+8000b040: 00000013 nop
+8000b044: 00000013 nop
+8000b048: 00000013 nop
+8000b04c: 00000013 nop
+8000b050: 00000013 nop
+8000b054: 00000013 nop
+8000b058: 00000013 nop
+8000b05c: 00000013 nop
+8000b060: 00000013 nop
+8000b064: 00000013 nop
+8000b068: 00000013 nop
+8000b06c: 00000013 nop
+8000b070: 00000013 nop
+8000b074: 00000013 nop
+8000b078: 00000013 nop
+8000b07c: 00000013 nop
+8000b080: 00000013 nop
+8000b084: 00000013 nop
+8000b088: 00000013 nop
+8000b08c: 00000013 nop
+8000b090: 00000013 nop
+8000b094: 00000013 nop
+8000b098: 00000013 nop
+8000b09c: 00000013 nop
+8000b0a0: 00000013 nop
+8000b0a4: 00000013 nop
+8000b0a8: 00000013 nop
+8000b0ac: 00000013 nop
+8000b0b0: 00000013 nop
+8000b0b4: 00000013 nop
+8000b0b8: 00000013 nop
+8000b0bc: 00000013 nop
+8000b0c0: 00000013 nop
+8000b0c4: 00000013 nop
+8000b0c8: 00000013 nop
+8000b0cc: 00000013 nop
+8000b0d0: 00000013 nop
+8000b0d4: 00000013 nop
+8000b0d8: 00000013 nop
+8000b0dc: 00000013 nop
+8000b0e0: 00000013 nop
+8000b0e4: 00000013 nop
+8000b0e8: 00000013 nop
+8000b0ec: 00000013 nop
+8000b0f0: 00000013 nop
+8000b0f4: 00000013 nop
+8000b0f8: 00000013 nop
+8000b0fc: 00000013 nop
+8000b100: 00000013 nop
+8000b104: 00000013 nop
+8000b108: 00000013 nop
+8000b10c: 00000013 nop
+8000b110: 00000013 nop
+8000b114: 00000013 nop
+8000b118: 00000013 nop
+8000b11c: 00000013 nop
+8000b120: 00000013 nop
+8000b124: 00000013 nop
+8000b128: 00000013 nop
+8000b12c: 00000013 nop
+8000b130: 00000013 nop
+8000b134: 00000013 nop
+8000b138: 00000013 nop
+8000b13c: 00000013 nop
+8000b140: 00000013 nop
+8000b144: 00000013 nop
+8000b148: 00000013 nop
+8000b14c: 00000013 nop
+8000b150: 00000013 nop
+8000b154: 00000013 nop
+8000b158: 00000013 nop
+8000b15c: 00000013 nop
+8000b160: 00000013 nop
+8000b164: 00000013 nop
+8000b168: 00000013 nop
+8000b16c: 00000013 nop
+8000b170: 00000013 nop
+8000b174: 00000013 nop
+8000b178: 00000013 nop
+8000b17c: 00000013 nop
+8000b180: 00000013 nop
+8000b184: 00000013 nop
+8000b188: 00000013 nop
+8000b18c: 00000013 nop
+8000b190: 00000013 nop
+8000b194: 00000013 nop
+8000b198: 00000013 nop
+8000b19c: 00000013 nop
+8000b1a0: 00000013 nop
+8000b1a4: 00000013 nop
+8000b1a8: 00000013 nop
+8000b1ac: 00000013 nop
+8000b1b0: 00000013 nop
+8000b1b4: 00000013 nop
+8000b1b8: 00000013 nop
+8000b1bc: 00000013 nop
+8000b1c0: 00000013 nop
+8000b1c4: 00000013 nop
+8000b1c8: 00000013 nop
+8000b1cc: 00000013 nop
+8000b1d0: 00000013 nop
+8000b1d4: 00000013 nop
+8000b1d8: 00000013 nop
+8000b1dc: 00000013 nop
+8000b1e0: 00000013 nop
+8000b1e4: 00000013 nop
+8000b1e8: 00000013 nop
+8000b1ec: 00000013 nop
+8000b1f0: 00000013 nop
+8000b1f4: 00000013 nop
+8000b1f8: 00000013 nop
+8000b1fc: 00000013 nop
+8000b200: 00000013 nop
+8000b204: 00000013 nop
+8000b208: 00000013 nop
+8000b20c: 00000013 nop
+8000b210: 00000013 nop
+8000b214: 00000013 nop
+8000b218: 00000013 nop
+8000b21c: 00000013 nop
+8000b220: 00000013 nop
+8000b224: 00000013 nop
+8000b228: 00000013 nop
+8000b22c: 00000013 nop
+8000b230: 00000013 nop
+8000b234: 00000013 nop
+8000b238: 00000013 nop
+8000b23c: 00000013 nop
+8000b240: 00000013 nop
+8000b244: 00000013 nop
+8000b248: 00000013 nop
+8000b24c: 00000013 nop
+8000b250: 00000013 nop
+8000b254: 00000013 nop
+8000b258: 00000013 nop
+8000b25c: 00000013 nop
+8000b260: 00000013 nop
+8000b264: 00000013 nop
+8000b268: 00000013 nop
+8000b26c: 00000013 nop
+8000b270: 00000013 nop
+8000b274: 00000013 nop
+8000b278: 00000013 nop
+8000b27c: 00000013 nop
+8000b280: 00000013 nop
+8000b284: 00000013 nop
+8000b288: 00000013 nop
+8000b28c: 00000013 nop
+8000b290: 00000013 nop
+8000b294: 00000013 nop
+8000b298: 00000013 nop
+8000b29c: 00000013 nop
+8000b2a0: 00000013 nop
+8000b2a4: 00000013 nop
+8000b2a8: 00000013 nop
+8000b2ac: 00000013 nop
+8000b2b0: 00000013 nop
+8000b2b4: 00000013 nop
+8000b2b8: 00000013 nop
+8000b2bc: 00000013 nop
+8000b2c0: 00000013 nop
+8000b2c4: 00000013 nop
+8000b2c8: 00000013 nop
+8000b2cc: 00000013 nop
+8000b2d0: 00000013 nop
+8000b2d4: 00000013 nop
+8000b2d8: 00000013 nop
+8000b2dc: 00000013 nop
+8000b2e0: 00000013 nop
+8000b2e4: 00000013 nop
+8000b2e8: 00000013 nop
+8000b2ec: 00000013 nop
+8000b2f0: 00000013 nop
+8000b2f4: 00000013 nop
+8000b2f8: 00000013 nop
+8000b2fc: 00000013 nop
+8000b300: 00000013 nop
+8000b304: 00000013 nop
+8000b308: 00000013 nop
+8000b30c: 00000013 nop
+8000b310: 00000013 nop
+8000b314: 00000013 nop
+8000b318: 00000013 nop
+8000b31c: 00000013 nop
+8000b320: 00000013 nop
+8000b324: 00000013 nop
+8000b328: 00000013 nop
+8000b32c: 00000013 nop
+8000b330: 00000013 nop
+8000b334: 00000013 nop
+8000b338: 00000013 nop
+8000b33c: 00000013 nop
+8000b340: 00000013 nop
+8000b344: 00000013 nop
+8000b348: 00000013 nop
+8000b34c: 00000013 nop
+8000b350: 00000013 nop
+8000b354: 00000013 nop
+8000b358: 00000013 nop
+8000b35c: 00000013 nop
+8000b360: 00000013 nop
+8000b364: 00000013 nop
+8000b368: 00000013 nop
+8000b36c: 00000013 nop
+8000b370: 00000013 nop
+8000b374: 00000013 nop
+8000b378: 00000013 nop
+8000b37c: 00000013 nop
+8000b380: 00000013 nop
+8000b384: 00000013 nop
+8000b388: 00000013 nop
+8000b38c: 00000013 nop
+8000b390: 00000013 nop
+8000b394: 00000013 nop
+8000b398: 00000013 nop
+8000b39c: 00000013 nop
+8000b3a0: 00000013 nop
+8000b3a4: 00000013 nop
+8000b3a8: 00000013 nop
+8000b3ac: 00000013 nop
+8000b3b0: 00000013 nop
+8000b3b4: 00000013 nop
+8000b3b8: 00000013 nop
+8000b3bc: 00000013 nop
+8000b3c0: 00000013 nop
+8000b3c4: 00000013 nop
+8000b3c8: 00000013 nop
+8000b3cc: 00000013 nop
+8000b3d0: 00000013 nop
+8000b3d4: 00000013 nop
+8000b3d8: 00000013 nop
+8000b3dc: 00000013 nop
+8000b3e0: 00000013 nop
+8000b3e4: 00000013 nop
+8000b3e8: 00000013 nop
+8000b3ec: 00000013 nop
+8000b3f0: 00000013 nop
+8000b3f4: 00000013 nop
+8000b3f8: 00000013 nop
+8000b3fc: 00000013 nop
+8000b400: 00000013 nop
+8000b404: 00000013 nop
+8000b408: 00000013 nop
+8000b40c: 00000013 nop
+8000b410: 00000013 nop
+8000b414: 00000013 nop
+8000b418: 00000013 nop
+8000b41c: 00000013 nop
+8000b420: 00000013 nop
+8000b424: 00000013 nop
+8000b428: 00000013 nop
+8000b42c: 00000013 nop
+8000b430: 00000013 nop
+8000b434: 00000013 nop
+8000b438: 00000013 nop
+8000b43c: 00000013 nop
+8000b440: 00000013 nop
+8000b444: 00000013 nop
+8000b448: 00000013 nop
+8000b44c: 00000013 nop
+8000b450: 00000013 nop
+8000b454: 00000013 nop
+8000b458: 00000013 nop
+8000b45c: 00000013 nop
+8000b460: 00000013 nop
+8000b464: 00000013 nop
+8000b468: 00000013 nop
+8000b46c: 00000013 nop
+8000b470: 00000013 nop
+8000b474: 00000013 nop
+8000b478: 00000013 nop
+8000b47c: 00000013 nop
+8000b480: 00000013 nop
+8000b484: 00000013 nop
+8000b488: 00000013 nop
+8000b48c: 00000013 nop
+8000b490: 00000013 nop
+8000b494: 00000013 nop
+8000b498: 00000013 nop
+8000b49c: 00000013 nop
+8000b4a0: 00000013 nop
+8000b4a4: 00000013 nop
+8000b4a8: 00000013 nop
+8000b4ac: 00000013 nop
+8000b4b0: 00000013 nop
+8000b4b4: 00000013 nop
+8000b4b8: 00000013 nop
+8000b4bc: 00000013 nop
+8000b4c0: 00000013 nop
+8000b4c4: 00000013 nop
+8000b4c8: 00000013 nop
+8000b4cc: 00000013 nop
+8000b4d0: 00000013 nop
+8000b4d4: 00000013 nop
+8000b4d8: 00000013 nop
+8000b4dc: 00000013 nop
+8000b4e0: 00000013 nop
+8000b4e4: 00000013 nop
+8000b4e8: 00000013 nop
+8000b4ec: 00000013 nop
+8000b4f0: 00000013 nop
+8000b4f4: 00000013 nop
+8000b4f8: 00000013 nop
+8000b4fc: 00000013 nop
+8000b500: 00000013 nop
+8000b504: 00000013 nop
+8000b508: 00000013 nop
+8000b50c: 00000013 nop
+8000b510: 00000013 nop
+8000b514: 00000013 nop
+8000b518: 00000013 nop
+8000b51c: 00000013 nop
+8000b520: 00000013 nop
+8000b524: 00000013 nop
+8000b528: 00000013 nop
+8000b52c: 00000013 nop
+8000b530: 00000013 nop
+8000b534: 00000013 nop
+8000b538: 00000013 nop
+8000b53c: 00000013 nop
+8000b540: 00000013 nop
+8000b544: 00000013 nop
+8000b548: 00000013 nop
+8000b54c: 00000013 nop
+8000b550: 00000013 nop
+8000b554: 00000013 nop
+8000b558: 00000013 nop
+8000b55c: 00000013 nop
+8000b560: 00000013 nop
+8000b564: 00000013 nop
+8000b568: 00000013 nop
+8000b56c: 00000013 nop
+8000b570: 00000013 nop
+8000b574: 00000013 nop
+8000b578: 00000013 nop
+8000b57c: 00000013 nop
+8000b580: 00000013 nop
+8000b584: 00000013 nop
+8000b588: 00000013 nop
+8000b58c: 00000013 nop
+8000b590: 00000013 nop
+8000b594: 00000013 nop
+8000b598: 00000013 nop
+8000b59c: 00000013 nop
+8000b5a0: 00000013 nop
+8000b5a4: 00000013 nop
+8000b5a8: 00000013 nop
+8000b5ac: 00000013 nop
+8000b5b0: 00000013 nop
+8000b5b4: 00000013 nop
+8000b5b8: 00000013 nop
+8000b5bc: 00000013 nop
+8000b5c0: 00000013 nop
+8000b5c4: 00000013 nop
+8000b5c8: 00000013 nop
+8000b5cc: 00000013 nop
+8000b5d0: 00000013 nop
+8000b5d4: 00000013 nop
+8000b5d8: 00000013 nop
+8000b5dc: 00000013 nop
+8000b5e0: 00000013 nop
+8000b5e4: 00000013 nop
+8000b5e8: 00000013 nop
+8000b5ec: 00000013 nop
+8000b5f0: 00000013 nop
+8000b5f4: 00000013 nop
+8000b5f8: 00000013 nop
+8000b5fc: 00000013 nop
+8000b600: 00000013 nop
+8000b604: 00000013 nop
+8000b608: 00000013 nop
+8000b60c: 00000013 nop
+8000b610: 00000013 nop
+8000b614: 00000013 nop
+8000b618: 00000013 nop
+8000b61c: 00000013 nop
+8000b620: 00000013 nop
+8000b624: 00000013 nop
+8000b628: 00000013 nop
+8000b62c: 00000013 nop
+8000b630: 00000013 nop
+8000b634: 00000013 nop
+8000b638: 00000013 nop
+8000b63c: 00000013 nop
+8000b640: 00000013 nop
+8000b644: 00000013 nop
+8000b648: 00000013 nop
+8000b64c: 00000013 nop
+8000b650: 00000013 nop
+8000b654: 00000013 nop
+8000b658: 00000013 nop
+8000b65c: 00000013 nop
+8000b660: 00000013 nop
+8000b664: 00000013 nop
+8000b668: 00000013 nop
+8000b66c: 00000013 nop
+8000b670: 00000013 nop
+8000b674: 00000013 nop
+8000b678: 00000013 nop
+8000b67c: 00000013 nop
+8000b680: 00000013 nop
+8000b684: 00000013 nop
+8000b688: 00000013 nop
+8000b68c: 00000013 nop
+8000b690: 00000013 nop
+8000b694: 00000013 nop
+8000b698: 00000013 nop
+8000b69c: 00000013 nop
+8000b6a0: 00000013 nop
+8000b6a4: 00000013 nop
+8000b6a8: 00000013 nop
+8000b6ac: 00000013 nop
+8000b6b0: 00000013 nop
+8000b6b4: 00000013 nop
+8000b6b8: 00000013 nop
+8000b6bc: 00000013 nop
+8000b6c0: 00000013 nop
+8000b6c4: 00000013 nop
+8000b6c8: 00000013 nop
+8000b6cc: 00000013 nop
+8000b6d0: 00000013 nop
+8000b6d4: 00000013 nop
+8000b6d8: 00000013 nop
+8000b6dc: 00000013 nop
+8000b6e0: 00000013 nop
+8000b6e4: 00000013 nop
+8000b6e8: 00000013 nop
+8000b6ec: 00000013 nop
+8000b6f0: 00000013 nop
+8000b6f4: 00000013 nop
+8000b6f8: 00000013 nop
+8000b6fc: 00000013 nop
+8000b700: 00000013 nop
+8000b704: 00000013 nop
+8000b708: 00000013 nop
+8000b70c: 00000013 nop
+8000b710: 00000013 nop
+8000b714: 00000013 nop
+8000b718: 00000013 nop
+8000b71c: 00000013 nop
+8000b720: 00000013 nop
+8000b724: 00000013 nop
+8000b728: 00000013 nop
+8000b72c: 00000013 nop
+8000b730: 00000013 nop
+8000b734: 00000013 nop
+8000b738: 00000013 nop
+8000b73c: 00000013 nop
+8000b740: 00000013 nop
+8000b744: 00000013 nop
+8000b748: 00000013 nop
+8000b74c: 00000013 nop
+8000b750: 00000013 nop
+8000b754: 00000013 nop
+8000b758: 00000013 nop
+8000b75c: 00000013 nop
+8000b760: 00000013 nop
+8000b764: 00000013 nop
+8000b768: 00000013 nop
+8000b76c: 00000013 nop
+8000b770: 00000013 nop
+8000b774: 00000013 nop
+8000b778: 00000013 nop
+8000b77c: 00000013 nop
+8000b780: 00000013 nop
+8000b784: 00000013 nop
+8000b788: 00000013 nop
+8000b78c: 00000013 nop
+8000b790: 00000013 nop
+8000b794: 00000013 nop
+8000b798: 00000013 nop
+8000b79c: 00000013 nop
+8000b7a0: 00000013 nop
+8000b7a4: 00000013 nop
+8000b7a8: 00000013 nop
+8000b7ac: 00000013 nop
+8000b7b0: 00000013 nop
+8000b7b4: 00000013 nop
+8000b7b8: 00000013 nop
+8000b7bc: 00000013 nop
+8000b7c0: 00000013 nop
+8000b7c4: 00000013 nop
+8000b7c8: 00000013 nop
+8000b7cc: 00000013 nop
+8000b7d0: 00000013 nop
+8000b7d4: 00000013 nop
+8000b7d8: 00000013 nop
+8000b7dc: 00000013 nop
+8000b7e0: 00000013 nop
+8000b7e4: 00000013 nop
+8000b7e8: 00000013 nop
+8000b7ec: 00000013 nop
+8000b7f0: 00000013 nop
+8000b7f4: 00000013 nop
+8000b7f8: 00000013 nop
+8000b7fc: 00000013 nop
+8000b800: 00000013 nop
+8000b804: 00000013 nop
+8000b808: 00000013 nop
+8000b80c: 00000013 nop
+8000b810: 00000013 nop
+8000b814: 00000013 nop
+8000b818: 00000013 nop
+8000b81c: 00000013 nop
+8000b820: 00000013 nop
+8000b824: 00000013 nop
+8000b828: 00000013 nop
+8000b82c: 00000013 nop
+8000b830: 00000013 nop
+8000b834: 00000013 nop
+8000b838: 00000013 nop
+8000b83c: 00000013 nop
+8000b840: 00000013 nop
+8000b844: 00000013 nop
+8000b848: 00000013 nop
+8000b84c: 00000013 nop
+8000b850: 00000013 nop
+8000b854: 00000013 nop
+8000b858: 00000013 nop
+8000b85c: 00000013 nop
+8000b860: 00000013 nop
+8000b864: 00000013 nop
+8000b868: 00000013 nop
+8000b86c: 00000013 nop
+8000b870: 00000013 nop
+8000b874: 00000013 nop
+8000b878: 00000013 nop
+8000b87c: 00000013 nop
+8000b880: 00000013 nop
+8000b884: 00000013 nop
+8000b888: 00000013 nop
+8000b88c: 00000013 nop
+8000b890: 00000013 nop
+8000b894: 00000013 nop
+8000b898: 00000013 nop
+8000b89c: 00000013 nop
+8000b8a0: 00000013 nop
+8000b8a4: 00000013 nop
+8000b8a8: 00000013 nop
+8000b8ac: 00000013 nop
+8000b8b0: 00000013 nop
+8000b8b4: 00000013 nop
+8000b8b8: 00000013 nop
+8000b8bc: 00000013 nop
+8000b8c0: 00000013 nop
+8000b8c4: 00000013 nop
+8000b8c8: 00000013 nop
+8000b8cc: 00000013 nop
+8000b8d0: 00000013 nop
+8000b8d4: 00000013 nop
+8000b8d8: 00000013 nop
+8000b8dc: 00000013 nop
+8000b8e0: 00000013 nop
+8000b8e4: 00000013 nop
+8000b8e8: 00000013 nop
+8000b8ec: 00000013 nop
+8000b8f0: 00000013 nop
+8000b8f4: 00000013 nop
+8000b8f8: 00000013 nop
+8000b8fc: 00000013 nop
+8000b900: 00000013 nop
+8000b904: 00000013 nop
+8000b908: 00000013 nop
+8000b90c: 00000013 nop
+8000b910: 00000013 nop
+8000b914: 00000013 nop
+8000b918: 00000013 nop
+8000b91c: 00000013 nop
+8000b920: 00000013 nop
+8000b924: 00000013 nop
+8000b928: 00000013 nop
+8000b92c: 00000013 nop
+8000b930: 00000013 nop
+8000b934: 00000013 nop
+8000b938: 00000013 nop
+8000b93c: 00000013 nop
+8000b940: 00000013 nop
+8000b944: 00000013 nop
+8000b948: 00000013 nop
+8000b94c: 00000013 nop
+8000b950: 00000013 nop
+8000b954: 00000013 nop
+8000b958: 00000013 nop
+8000b95c: 00000013 nop
+8000b960: 00000013 nop
+8000b964: 00000013 nop
+8000b968: 00000013 nop
+8000b96c: 00000013 nop
+8000b970: 00000013 nop
+8000b974: 00000013 nop
+8000b978: 00000013 nop
+8000b97c: 00000013 nop
+8000b980: 00000013 nop
+8000b984: 00000013 nop
+8000b988: 00000013 nop
+8000b98c: 00000013 nop
+8000b990: 00000013 nop
+8000b994: 00000013 nop
+8000b998: 00000013 nop
+8000b99c: 00000013 nop
+8000b9a0: 00000013 nop
+8000b9a4: 00000013 nop
+8000b9a8: 00000013 nop
+8000b9ac: 00000013 nop
+8000b9b0: 00000013 nop
+8000b9b4: 00000013 nop
+8000b9b8: 00000013 nop
+8000b9bc: 00000013 nop
+8000b9c0: 00000013 nop
+8000b9c4: 00000013 nop
+8000b9c8: 00000013 nop
+8000b9cc: 00000013 nop
+8000b9d0: 00000013 nop
+8000b9d4: 00000013 nop
+8000b9d8: 00000013 nop
+8000b9dc: 00000013 nop
+8000b9e0: 00000013 nop
+8000b9e4: 00000013 nop
+8000b9e8: 00000013 nop
+8000b9ec: 00000013 nop
+8000b9f0: 00000013 nop
+8000b9f4: 00000013 nop
+8000b9f8: 00000013 nop
+8000b9fc: 00000013 nop
+8000ba00: 00000013 nop
+8000ba04: 00000013 nop
+8000ba08: 00000013 nop
+8000ba0c: 00000013 nop
+8000ba10: 00000013 nop
+8000ba14: 00000013 nop
+8000ba18: 00000013 nop
+8000ba1c: 00000013 nop
+8000ba20: 00000013 nop
+8000ba24: 00000013 nop
+8000ba28: 00000013 nop
+8000ba2c: 00000013 nop
+8000ba30: 00000013 nop
+8000ba34: 00000013 nop
+8000ba38: 00000013 nop
+8000ba3c: 00000013 nop
+8000ba40: 00000013 nop
+8000ba44: 00000013 nop
+8000ba48: 00000013 nop
+8000ba4c: 00000013 nop
+8000ba50: 00000013 nop
+8000ba54: 00000013 nop
+8000ba58: 00000013 nop
+8000ba5c: 00000013 nop
+8000ba60: 00000013 nop
+8000ba64: 00000013 nop
+8000ba68: 00000013 nop
+8000ba6c: 00000013 nop
+8000ba70: 00000013 nop
+8000ba74: 00000013 nop
+8000ba78: 00000013 nop
+8000ba7c: 00000013 nop
+8000ba80: 00000013 nop
+8000ba84: 00000013 nop
+8000ba88: 00000013 nop
+8000ba8c: 00000013 nop
+8000ba90: 00000013 nop
+8000ba94: 00000013 nop
+8000ba98: 00000013 nop
+8000ba9c: 00000013 nop
+8000baa0: 00000013 nop
+8000baa4: 00000013 nop
+8000baa8: 00000013 nop
+8000baac: 00000013 nop
+8000bab0: 00000013 nop
+8000bab4: 00000013 nop
+8000bab8: 00000013 nop
+8000babc: 00000013 nop
+8000bac0: 00000013 nop
+8000bac4: 00000013 nop
+8000bac8: 00000013 nop
+8000bacc: 00000013 nop
+8000bad0: 00000013 nop
+8000bad4: 00000013 nop
+8000bad8: 00000013 nop
+8000badc: 00000013 nop
+8000bae0: 00000013 nop
+8000bae4: 00000013 nop
+8000bae8: 00000013 nop
+8000baec: 00000013 nop
+8000baf0: 00000013 nop
+8000baf4: 00000013 nop
+8000baf8: 00000013 nop
+8000bafc: 00000013 nop
+8000bb00: 00000013 nop
+8000bb04: 00000013 nop
+8000bb08: 00000013 nop
+8000bb0c: 00000013 nop
+8000bb10: 00000013 nop
+8000bb14: 00000013 nop
+8000bb18: 00000013 nop
+8000bb1c: 00000013 nop
+8000bb20: 00000013 nop
+8000bb24: 00000013 nop
+8000bb28: 00000013 nop
+8000bb2c: 00000013 nop
+8000bb30: 00000013 nop
+8000bb34: 00000013 nop
+8000bb38: 00000013 nop
+8000bb3c: 00000013 nop
+8000bb40: 00000013 nop
+8000bb44: 00000013 nop
+8000bb48: 00000013 nop
+8000bb4c: 00000013 nop
+8000bb50: 00000013 nop
+8000bb54: 00000013 nop
+8000bb58: 00000013 nop
+8000bb5c: 00000013 nop
+8000bb60: 00000013 nop
+8000bb64: 00000013 nop
+8000bb68: 00000013 nop
+8000bb6c: 00000013 nop
+8000bb70: 00000013 nop
+8000bb74: 00000013 nop
+8000bb78: 00000013 nop
+8000bb7c: 00000013 nop
+8000bb80: 00000013 nop
+8000bb84: 00000013 nop
+8000bb88: 00000013 nop
+8000bb8c: 00000013 nop
+8000bb90: 00000013 nop
+8000bb94: 00000013 nop
+8000bb98: 00000013 nop
+8000bb9c: 00000013 nop
+8000bba0: 00000013 nop
+8000bba4: 00000013 nop
+8000bba8: 00000013 nop
+8000bbac: 00000013 nop
+8000bbb0: 00000013 nop
+8000bbb4: 00000013 nop
+8000bbb8: 00000013 nop
+8000bbbc: 00000013 nop
+8000bbc0: 00000013 nop
+8000bbc4: 00000013 nop
+8000bbc8: 00000013 nop
+8000bbcc: 00000013 nop
+8000bbd0: 00000013 nop
+8000bbd4: 00000013 nop
+8000bbd8: 00000013 nop
+8000bbdc: 00000013 nop
+8000bbe0: 00000013 nop
+8000bbe4: 00000013 nop
+8000bbe8: 00000013 nop
+8000bbec: 00000013 nop
+8000bbf0: 00000013 nop
+8000bbf4: 00000013 nop
+8000bbf8: 00000013 nop
+8000bbfc: 00000013 nop
+8000bc00: 00000013 nop
+8000bc04: 00000013 nop
+8000bc08: 00000013 nop
+8000bc0c: 00000013 nop
+8000bc10: 00000013 nop
+8000bc14: 00000013 nop
+8000bc18: 00000013 nop
+8000bc1c: 00000013 nop
+8000bc20: 00000013 nop
+8000bc24: 00000013 nop
+8000bc28: 00000013 nop
+8000bc2c: 00000013 nop
+8000bc30: 00000013 nop
+8000bc34: 00000013 nop
+8000bc38: 00000013 nop
+8000bc3c: 00000013 nop
+8000bc40: 00000013 nop
+8000bc44: 00000013 nop
+8000bc48: 00000013 nop
+8000bc4c: 00000013 nop
+8000bc50: 00000013 nop
+8000bc54: 00000013 nop
+8000bc58: 00000013 nop
+8000bc5c: 00000013 nop
+8000bc60: 00000013 nop
+8000bc64: 00000013 nop
+8000bc68: 00000013 nop
+8000bc6c: 00000013 nop
+8000bc70: 00000013 nop
+8000bc74: 00000013 nop
+8000bc78: 00000013 nop
+8000bc7c: 00000013 nop
+8000bc80: 00000013 nop
+8000bc84: 00000013 nop
+8000bc88: 00000013 nop
+8000bc8c: 00000013 nop
+8000bc90: 00000013 nop
+8000bc94: 00000013 nop
+8000bc98: 00000013 nop
+8000bc9c: 00000013 nop
+8000bca0: 00000013 nop
+8000bca4: 00000013 nop
+8000bca8: 00000013 nop
+8000bcac: 00000013 nop
+8000bcb0: 00000013 nop
+8000bcb4: 00000013 nop
+8000bcb8: 00000013 nop
+8000bcbc: 00000013 nop
+8000bcc0: 00000013 nop
+8000bcc4: 00000013 nop
+8000bcc8: 00000013 nop
+8000bccc: 00000013 nop
+8000bcd0: 00000013 nop
+8000bcd4: 00000013 nop
+8000bcd8: 00000013 nop
+8000bcdc: 00000013 nop
+8000bce0: 00000013 nop
+8000bce4: 00000013 nop
+8000bce8: 00000013 nop
+8000bcec: 00000013 nop
+8000bcf0: 00000013 nop
+8000bcf4: 00000013 nop
+8000bcf8: 00000013 nop
+8000bcfc: 00000013 nop
+8000bd00: 00000013 nop
+8000bd04: 00000013 nop
+8000bd08: 00000013 nop
+8000bd0c: 00000013 nop
+8000bd10: 00000013 nop
+8000bd14: 00000013 nop
+8000bd18: 00000013 nop
+8000bd1c: 00000013 nop
+8000bd20: 00000013 nop
+8000bd24: 00000013 nop
+8000bd28: 00000013 nop
+8000bd2c: 00000013 nop
+8000bd30: 00000013 nop
+8000bd34: 00000013 nop
+8000bd38: 00000013 nop
+8000bd3c: 00000013 nop
+8000bd40: 00000013 nop
+8000bd44: 00000013 nop
+8000bd48: 00000013 nop
+8000bd4c: 00000013 nop
+8000bd50: 00000013 nop
+8000bd54: 00000013 nop
+8000bd58: 00000013 nop
+8000bd5c: 00000013 nop
+8000bd60: 00000013 nop
+8000bd64: 00000013 nop
+8000bd68: 00000013 nop
+8000bd6c: 00000013 nop
+8000bd70: 00000013 nop
+8000bd74: 00000013 nop
+8000bd78: 00000013 nop
+8000bd7c: 00000013 nop
+8000bd80: 00000013 nop
+8000bd84: 00000013 nop
+8000bd88: 00000013 nop
+8000bd8c: 00000013 nop
+8000bd90: 00000013 nop
+8000bd94: 00000013 nop
+8000bd98: 00000013 nop
+8000bd9c: 00000013 nop
+8000bda0: 00000013 nop
+8000bda4: 00000013 nop
+8000bda8: 00000013 nop
+8000bdac: 00000013 nop
+8000bdb0: 00000013 nop
+8000bdb4: 00000013 nop
+8000bdb8: 00000013 nop
+8000bdbc: 00000013 nop
+8000bdc0: 00000013 nop
+8000bdc4: 00000013 nop
+8000bdc8: 00000013 nop
+8000bdcc: 00000013 nop
+8000bdd0: 00000013 nop
+8000bdd4: 00000013 nop
+8000bdd8: 00000013 nop
+8000bddc: 00000013 nop
+8000bde0: 00000013 nop
+8000bde4: 00000013 nop
+8000bde8: 00000013 nop
+8000bdec: 00000013 nop
+8000bdf0: 00000013 nop
+8000bdf4: 00000013 nop
+8000bdf8: 00000013 nop
+8000bdfc: 00000013 nop
+8000be00: 00000013 nop
+8000be04: 00000013 nop
+8000be08: 00000013 nop
+8000be0c: 00000013 nop
+8000be10: 00000013 nop
+8000be14: 00000013 nop
+8000be18: 00000013 nop
+8000be1c: 00000013 nop
+8000be20: 00000013 nop
+8000be24: 00000013 nop
+8000be28: 00000013 nop
+8000be2c: 00000013 nop
+8000be30: 00000013 nop
+8000be34: 00000013 nop
+8000be38: 00000013 nop
+8000be3c: 00000013 nop
+8000be40: 00000013 nop
+8000be44: 00000013 nop
+8000be48: 00000013 nop
+8000be4c: 00000013 nop
+8000be50: 00000013 nop
+8000be54: 00000013 nop
+8000be58: 00000013 nop
+8000be5c: 00000013 nop
+8000be60: 00000013 nop
+8000be64: 00000013 nop
+8000be68: 00000013 nop
+8000be6c: 00000013 nop
+8000be70: 00000013 nop
+8000be74: 00000013 nop
+8000be78: 00000013 nop
+8000be7c: 00000013 nop
+8000be80: 00000013 nop
+8000be84: 00000013 nop
+8000be88: 00000013 nop
+8000be8c: 00000013 nop
+8000be90: 00000013 nop
+8000be94: 00000013 nop
+8000be98: 00000013 nop
+8000be9c: 00000013 nop
+8000bea0: 00000013 nop
+8000bea4: 00000013 nop
+8000bea8: 00000013 nop
+8000beac: 00000013 nop
+8000beb0: 00000013 nop
+8000beb4: 00000013 nop
+8000beb8: 00000013 nop
+8000bebc: 00000013 nop
+8000bec0: 00000013 nop
+8000bec4: 00000013 nop
+8000bec8: 00000013 nop
+8000becc: 00000013 nop
+8000bed0: 00000013 nop
+8000bed4: 00000013 nop
+8000bed8: 00000013 nop
+8000bedc: 00000013 nop
+8000bee0: 00000013 nop
+8000bee4: 00000013 nop
+8000bee8: 00000013 nop
+8000beec: 00000013 nop
+8000bef0: 00000013 nop
+8000bef4: 00000013 nop
+8000bef8: 00000013 nop
+8000befc: 00000013 nop
+8000bf00: 00000013 nop
+8000bf04: 00000013 nop
+8000bf08: 00000013 nop
+8000bf0c: 00000013 nop
+8000bf10: 00000013 nop
+8000bf14: 00000013 nop
+8000bf18: 00000013 nop
+8000bf1c: 00000013 nop
+8000bf20: 00000013 nop
+8000bf24: 00000013 nop
+8000bf28: 00000013 nop
+8000bf2c: 00000013 nop
+8000bf30: 00000013 nop
+8000bf34: 00000013 nop
+8000bf38: 00000013 nop
+8000bf3c: 00000013 nop
+8000bf40: 00000013 nop
+8000bf44: 00000013 nop
+8000bf48: 00000013 nop
+8000bf4c: 00000013 nop
+8000bf50: 00000013 nop
+8000bf54: 00000013 nop
+8000bf58: 00000013 nop
+8000bf5c: 00000013 nop
+8000bf60: 00000013 nop
+8000bf64: 00000013 nop
+8000bf68: 00000013 nop
+8000bf6c: 00000013 nop
+8000bf70: 00000013 nop
+8000bf74: 00000013 nop
+8000bf78: 00000013 nop
+8000bf7c: 00000013 nop
+8000bf80: 00000013 nop
+8000bf84: 00000013 nop
+8000bf88: 00000013 nop
+8000bf8c: 00000013 nop
+8000bf90: 00000013 nop
+8000bf94: 00000013 nop
+8000bf98: 00000013 nop
+8000bf9c: 00000013 nop
+8000bfa0: 00000013 nop
+8000bfa4: 00000013 nop
+8000bfa8: 00000013 nop
+8000bfac: 00000013 nop
+8000bfb0: 00000013 nop
+8000bfb4: 00000013 nop
+8000bfb8: 00000013 nop
+8000bfbc: 00000013 nop
+8000bfc0: 00000013 nop
+8000bfc4: 00000013 nop
+8000bfc8: 00000013 nop
+8000bfcc: 00000013 nop
+8000bfd0: 00000013 nop
+8000bfd4: 00000013 nop
+8000bfd8: 00000013 nop
+8000bfdc: 00000013 nop
+8000bfe0: 00000013 nop
+8000bfe4: 00000013 nop
+8000bfe8: 00000013 nop
+8000bfec: 00000013 nop
+8000bff0: 00000013 nop
+8000bff4: 00000013 nop
+8000bff8: 00000013 nop
+8000bffc: 00000013 nop
+
+8000c000 <ROM_7>:
+8000c000: 7170 flw fa2,100(a0)
+8000c002: 7372 flw ft6,60(sp)
+8000c004: 7574 flw fa3,108(a0)
+8000c006: 7776 flw fa4,124(sp)
+8000c008: 7978 flw fa4,116(a0)
+8000c00a: 7b7a flw fs6,188(sp)
+8000c00c: 7d7c flw fa5,124(a0)
+8000c00e: 7f7e flw ft10,252(sp)
+ ...
diff --git a/VexRiscv/src/test/cpp/raw/mmu/build/mmu.hex b/VexRiscv/src/test/cpp/raw/mmu/build/mmu.hex
new file mode 100644
index 0000000..6760347
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/mmu/build/mmu.hex
@@ -0,0 +1,3233 @@
+:0200000480007A
+:10000000930E0000970000009380005973905030C9
+:10001000130E1000977000009380C0FE3721262732
+:100020001301415283A0400063922054130E20001C
+:10003000970000009380000273901034B7200000F6
+:100040009380008073900030730020306F00005266
+:10005000130E3000B71000009380008073900030C2
+:10006000970000009380400173901034730020309B
+:100070006F00C04F130E400097800000938080F8FF
+:10008000373136371301415383A040006390204E2F
+:10009000130E5000971000009380C07617210000C7
+:1000A000130141F6135121001361110123A0200017
+:1000B00097200000938000F5370100801351210044
+:1000C0001361F10023A02000130E500097200000C0
+:1000D00093804083173100001301C1F213512100B6
+:1000E0001361110123A0200097300000938000F4D9
+:1000F00017910000130101F1135121001361F10167
+:1001000023A02000973000009380C0F317A10000C7
+:10011000130141EF135121001361310123A020008D
+:1001200097300000938040F217A10000130181ED89
+:10013000135121001361710123A0200097300000AA
+:100140009380C0F017A100001301C1EB13512100EF
+:100150001361910123A0200097300000938040EFAD
+:1001600017A10000130101EA135121001361B1012D
+:1001700023A02000973000009380C0ED17A100005D
+:10018000130141E8135121001361F10023A0200065
+:10019000130E5000972000009380C08617010000C6
+:1001A000130141E6135121001361F10123A0200046
+:1001B000130E5000972000009380C09423A00000ED
+:1001C000B700040073A0001097100000938080E334
+:1001D00093D0C00037010080B3E020007390001876
+:1001E000130E6000B7A000909380800037514A4BF7
+:1001F0001301819483A00000639A2036130E7000CF
+:10020000B7A00090938000363701EEAA13011100C9
+:1002100023A0200083A00000639A2034130E8000E6
+:1002200097C00020938040DE3771767713014157E5
+:1002300083A00000639C2032130E9000B7A000A0A2
+:10024000938000363701EEAA1301210023A020007D
+:1002500083A00000639C2030130EA0007350001890
+:1002600097900000938000103701EEAA130111004F
+:1002700083A00000639C202E130EB00097A0000006
+:100280009380400E3701EEAA1301210083A00000E5
+:10029000639E202C971000009380C0D693D0C0009E
+:1002A00037010080B3E0200073900018130EC000E7
+:1002B000930E1000170F0000130F0F0173000000C2
+:1002C0006F00C02A130ED000170F0000130F4F014C
+:1002D000B70000B083A080006F004029130EE0003B
+:1002E000170F0000130F4F01B70000B023A4100038
+:1002F0006F00C027130EF000170F0000130F4F01FF
+:10030000B70000B0678000006F004026130E0001A8
+:10031000930E0000B70001909380800037615A5B14
+:100320001301819583A0000063922024B7100190EF
+:100330009380800037615A5B1301819583A0000090
+:1003400063962022B73001909380800037615A5B1A
+:100350001301819583A00000639A2020130E1001E1
+:10036000B7100190938000363701EEAA13013100D7
+:1003700023A0200083A00000639A201E130E2001FA
+:100380009700000093808001372101901301010143
+:10039000670001006F00801D130E3001930E1000E6
+:1003A000170F0000130F8F01B720019093800001F9
+:1003B00083A000006F00801B170F0000130F8F0138
+:1003C000B73001909380000123A010006F00001A45
+:1003D000170F0000130F8F01B710019093800001D9
+:1003E000678000006F008018130E5001930E00000C
+:1003F000B700080073A00010B72001909380800020
+:1004000037615A5B1301819583A000006390201629
+:10041000B700080073B00010930E0000130E4001E7
+:10042000B7400190938000383701EEAA13015100C4
+:1004300023A0200083A00000639A2012B7000400CC
+:1004400073B00010930E1000170F0000130F8F01F0
+:10045000B71001909380806423A010006F000011FA
+:10046000130E2003930E0000B700040073A00010C9
+:10047000732500187310001897200000938080B82F
+:1004800037010080135121001361F10123A02000E6
+:10049000731005189300001073B00010970000004F
+:1004A0009380800173901014730000127300201069
+:1004B0006F00C00B130E3003B710019093808000C3
+:1004C00037615A5B1301819583A000006390200A75
+:1004D000B7A000A0938040323701EEAA130181003B
+:1004E00023A0200083A0000063922008130E400385
+:1004F00097000000938080013721019013010101D2
+:10050000670001006F008006130E5003930E100069
+:10051000170F0000130F8F01B7400190938000392F
+:10052000678000006F008004130E6003930E1000BC
+:10053000170F0000130F8F01B740019093804039CF
+:1005400083A000006F008002130E7003930E100052
+:10055000170F0000130F8F01B7400190938080396F
+:1005600023A010006F0080006F008001930E000038
+:1005700073000000370110F0130141F22320C10184
+:10058000930E200073000000370110F0130101F2F8
+:1005900023200100E3800EFEF3202034F3201034EA
+:1005A000F3200030F320303493002000E38E1EFC53
+:1005B00073101F347300203013000000130000007C
+:1005C00013000000130000001300000013000000DF
+:1005D00013000000130000001300000013000000CF
+:1005E00013000000130000001300000013000000BF
+:1005F00013000000130000001300000013000000AF
+:10060000130000001300000013000000130000009E
+:10061000130000001300000013000000130000008E
+:10062000130000001300000013000000130000007E
+:10063000130000001300000013000000130000006E
+:10064000130000001300000013000000130000005E
+:10065000130000001300000013000000130000004E
+:10066000130000001300000013000000130000003E
+:10067000130000001300000013000000130000002E
+:10068000130000001300000013000000130000001E
+:10069000130000001300000013000000130000000E
+:1006A00013000000130000001300000013000000FE
+:1006B00013000000130000001300000013000000EE
+:1006C00013000000130000001300000013000000DE
+:1006D00013000000130000001300000013000000CE
+:1006E00013000000130000001300000013000000BE
+:1006F00013000000130000001300000013000000AE
+:10070000130000001300000013000000130000009D
+:10071000130000001300000013000000130000008D
+:10072000130000001300000013000000130000007D
+:10073000130000001300000013000000130000006D
+:10074000130000001300000013000000130000005D
+:10075000130000001300000013000000130000004D
+:10076000130000001300000013000000130000003D
+:10077000130000001300000013000000130000002D
+:10078000130000001300000013000000130000001D
+:10079000130000001300000013000000130000000D
+:1007A00013000000130000001300000013000000FD
+:1007B00013000000130000001300000013000000ED
+:1007C00013000000130000001300000013000000DD
+:1007D00013000000130000001300000013000000CD
+:1007E00013000000130000001300000013000000BD
+:1007F00013000000130000001300000013000000AD
+:10080000130000001300000013000000130000009C
+:10081000130000001300000013000000130000008C
+:10082000130000001300000013000000130000007C
+:10083000130000001300000013000000130000006C
+:10084000130000001300000013000000130000005C
+:10085000130000001300000013000000130000004C
+:10086000130000001300000013000000130000003C
+:10087000130000001300000013000000130000002C
+:10088000130000001300000013000000130000001C
+:10089000130000001300000013000000130000000C
+:1008A00013000000130000001300000013000000FC
+:1008B00013000000130000001300000013000000EC
+:1008C00013000000130000001300000013000000DC
+:1008D00013000000130000001300000013000000CC
+:1008E00013000000130000001300000013000000BC
+:1008F00013000000130000001300000013000000AC
+:10090000130000001300000013000000130000009B
+:10091000130000001300000013000000130000008B
+:10092000130000001300000013000000130000007B
+:10093000130000001300000013000000130000006B
+:10094000130000001300000013000000130000005B
+:10095000130000001300000013000000130000004B
+:10096000130000001300000013000000130000003B
+:10097000130000001300000013000000130000002B
+:10098000130000001300000013000000130000001B
+:10099000130000001300000013000000130000000B
+:1009A00013000000130000001300000013000000FB
+:1009B00013000000130000001300000013000000EB
+:1009C00013000000130000001300000013000000DB
+:1009D00013000000130000001300000013000000CB
+:1009E00013000000130000001300000013000000BB
+:1009F00013000000130000001300000013000000AB
+:100A0000130000001300000013000000130000009A
+:100A1000130000001300000013000000130000008A
+:100A2000130000001300000013000000130000007A
+:100A3000130000001300000013000000130000006A
+:100A4000130000001300000013000000130000005A
+:100A5000130000001300000013000000130000004A
+:100A6000130000001300000013000000130000003A
+:100A7000130000001300000013000000130000002A
+:100A8000130000001300000013000000130000001A
+:100A9000130000001300000013000000130000000A
+:100AA00013000000130000001300000013000000FA
+:100AB00013000000130000001300000013000000EA
+:100AC00013000000130000001300000013000000DA
+:100AD00013000000130000001300000013000000CA
+:100AE00013000000130000001300000013000000BA
+:100AF00013000000130000001300000013000000AA
+:100B00001300000013000000130000001300000099
+:100B10001300000013000000130000001300000089
+:100B20001300000013000000130000001300000079
+:100B30001300000013000000130000001300000069
+:100B40001300000013000000130000001300000059
+:100B50001300000013000000130000001300000049
+:100B60001300000013000000130000001300000039
+:100B70001300000013000000130000001300000029
+:100B80001300000013000000130000001300000019
+:100B90001300000013000000130000001300000009
+:100BA00013000000130000001300000013000000F9
+:100BB00013000000130000001300000013000000E9
+:100BC00013000000130000001300000013000000D9
+:100BD00013000000130000001300000013000000C9
+:100BE00013000000130000001300000013000000B9
+:100BF00013000000130000001300000013000000A9
+:100C00001300000013000000130000001300000098
+:100C10001300000013000000130000001300000088
+:100C20001300000013000000130000001300000078
+:100C30001300000013000000130000001300000068
+:100C40001300000013000000130000001300000058
+:100C50001300000013000000130000001300000048
+:100C60001300000013000000130000001300000038
+:100C70001300000013000000130000001300000028
+:100C80001300000013000000130000001300000018
+:100C90001300000013000000130000001300000008
+:100CA00013000000130000001300000013000000F8
+:100CB00013000000130000001300000013000000E8
+:100CC00013000000130000001300000013000000D8
+:100CD00013000000130000001300000013000000C8
+:100CE00013000000130000001300000013000000B8
+:100CF00013000000130000001300000013000000A8
+:100D00001300000013000000130000001300000097
+:100D10001300000013000000130000001300000087
+:100D20001300000013000000130000001300000077
+:100D30001300000013000000130000001300000067
+:100D40001300000013000000130000001300000057
+:100D50001300000013000000130000001300000047
+:100D60001300000013000000130000001300000037
+:100D70001300000013000000130000001300000027
+:100D80001300000013000000130000001300000017
+:100D90001300000013000000130000001300000007
+:100DA00013000000130000001300000013000000F7
+:100DB00013000000130000001300000013000000E7
+:100DC00013000000130000001300000013000000D7
+:100DD00013000000130000001300000013000000C7
+:100DE00013000000130000001300000013000000B7
+:100DF00013000000130000001300000013000000A7
+:100E00001300000013000000130000001300000096
+:100E10001300000013000000130000001300000086
+:100E20001300000013000000130000001300000076
+:100E30001300000013000000130000001300000066
+:100E40001300000013000000130000001300000056
+:100E50001300000013000000130000001300000046
+:100E60001300000013000000130000001300000036
+:100E70001300000013000000130000001300000026
+:100E80001300000013000000130000001300000016
+:100E90001300000013000000130000001300000006
+:100EA00013000000130000001300000013000000F6
+:100EB00013000000130000001300000013000000E6
+:100EC00013000000130000001300000013000000D6
+:100ED00013000000130000001300000013000000C6
+:100EE00013000000130000001300000013000000B6
+:100EF00013000000130000001300000013000000A6
+:100F00001300000013000000130000001300000095
+:100F10001300000013000000130000001300000085
+:100F20001300000013000000130000001300000075
+:100F30001300000013000000130000001300000065
+:100F40001300000013000000130000001300000055
+:100F50001300000013000000130000001300000045
+:100F60001300000013000000130000001300000035
+:100F70001300000013000000130000001300000025
+:100F80001300000013000000130000001300000015
+:100F90001300000013000000130000001300000005
+:100FA00013000000130000001300000013000000F5
+:100FB00013000000130000001300000013000000E5
+:100FC00013000000130000001300000013000000D5
+:100FD00013000000130000001300000013000000C5
+:100FE00013000000130000001300000013000000B5
+:100FF00013000000130000001300000013000000A5
+:1010000000000000130000001300000013000000A7
+:101010001300000013000000130000001300000084
+:101020001300000013000000130000001300000074
+:101030001300000013000000130000001300000064
+:101040001300000013000000130000001300000054
+:101050001300000013000000130000001300000044
+:101060001300000013000000130000001300000034
+:101070001300000013000000130000001300000024
+:101080001300000013000000130000001300000014
+:101090001300000013000000130000001300000004
+:1010A00013000000130000001300000013000000F4
+:1010B00013000000130000001300000013000000E4
+:1010C00013000000130000001300000013000000D4
+:1010D00013000000130000001300000013000000C4
+:1010E00013000000130000001300000013000000B4
+:1010F00013000000130000001300000013000000A4
+:101100001300000013000000130000001300000093
+:101110001300000013000000130000001300000083
+:101120001300000013000000130000001300000073
+:101130001300000013000000130000001300000063
+:101140001300000013000000130000001300000053
+:101150001300000013000000130000001300000043
+:101160001300000013000000130000001300000033
+:101170001300000013000000130000001300000023
+:101180001300000013000000130000001300000013
+:101190001300000013000000130000001300000003
+:1011A00013000000130000001300000013000000F3
+:1011B00013000000130000001300000013000000E3
+:1011C00013000000130000001300000013000000D3
+:1011D00013000000130000001300000013000000C3
+:1011E00013000000130000001300000013000000B3
+:1011F00013000000130000001300000013000000A3
+:101200001300000013000000130000001300000092
+:101210001300000013000000130000001300000082
+:101220001300000013000000130000001300000072
+:101230001300000013000000130000001300000062
+:101240001300000013000000130000001300000052
+:101250001300000013000000130000001300000042
+:101260001300000013000000130000001300000032
+:101270001300000013000000130000001300000022
+:101280001300000013000000130000001300000012
+:101290001300000013000000130000001300000002
+:1012A00013000000130000001300000013000000F2
+:1012B00013000000130000001300000013000000E2
+:1012C00013000000130000001300000013000000D2
+:1012D00013000000130000001300000013000000C2
+:1012E00013000000130000001300000013000000B2
+:1012F00013000000130000001300000013000000A2
+:101300001300000013000000130000001300000091
+:101310001300000013000000130000001300000081
+:101320001300000013000000130000001300000071
+:101330001300000013000000130000001300000061
+:101340001300000013000000130000001300000051
+:101350001300000013000000130000001300000041
+:101360001300000013000000130000001300000031
+:101370001300000013000000130000001300000021
+:101380001300000013000000130000001300000011
+:101390001300000013000000130000001300000001
+:1013A00013000000130000001300000013000000F1
+:1013B00013000000130000001300000013000000E1
+:1013C00013000000130000001300000013000000D1
+:1013D00013000000130000001300000013000000C1
+:1013E00013000000130000001300000013000000B1
+:1013F00013000000130000001300000013000000A1
+:101400001300000013000000130000001300000090
+:101410001300000013000000130000001300000080
+:101420001300000013000000130000001300000070
+:101430001300000013000000130000001300000060
+:101440001300000013000000130000001300000050
+:101450001300000013000000130000001300000040
+:101460001300000013000000130000001300000030
+:101470001300000013000000130000001300000020
+:101480001300000013000000130000001300000010
+:101490001300000013000000130000001300000000
+:1014A00013000000130000001300000013000000F0
+:1014B00013000000130000001300000013000000E0
+:1014C00013000000130000001300000013000000D0
+:1014D00013000000130000001300000013000000C0
+:1014E00013000000130000001300000013000000B0
+:1014F00013000000130000001300000013000000A0
+:10150000130000001300000013000000130000008F
+:10151000130000001300000013000000130000007F
+:10152000130000001300000013000000130000006F
+:10153000130000001300000013000000130000005F
+:10154000130000001300000013000000130000004F
+:10155000130000001300000013000000130000003F
+:10156000130000001300000013000000130000002F
+:10157000130000001300000013000000130000001F
+:10158000130000001300000013000000130000000F
+:1015900013000000130000001300000013000000FF
+:1015A00013000000130000001300000013000000EF
+:1015B00013000000130000001300000013000000DF
+:1015C00013000000130000001300000013000000CF
+:1015D00013000000130000001300000013000000BF
+:1015E00013000000130000001300000013000000AF
+:1015F000130000001300000013000000130000009F
+:10160000130000001300000013000000130000008E
+:10161000130000001300000013000000130000007E
+:10162000130000001300000013000000130000006E
+:10163000130000001300000013000000130000005E
+:10164000130000001300000013000000130000004E
+:10165000130000001300000013000000130000003E
+:10166000130000001300000013000000130000002E
+:10167000130000001300000013000000130000001E
+:10168000130000001300000013000000130000000E
+:1016900013000000130000001300000013000000FE
+:1016A00013000000130000001300000013000000EE
+:1016B00013000000130000001300000013000000DE
+:1016C00013000000130000001300000013000000CE
+:1016D00013000000130000001300000013000000BE
+:1016E00013000000130000001300000013000000AE
+:1016F000130000001300000013000000130000009E
+:10170000130000001300000013000000130000008D
+:10171000130000001300000013000000130000007D
+:10172000130000001300000013000000130000006D
+:10173000130000001300000013000000130000005D
+:10174000130000001300000013000000130000004D
+:10175000130000001300000013000000130000003D
+:10176000130000001300000013000000130000002D
+:10177000130000001300000013000000130000001D
+:10178000130000001300000013000000130000000D
+:1017900013000000130000001300000013000000FD
+:1017A00013000000130000001300000013000000ED
+:1017B00013000000130000001300000013000000DD
+:1017C00013000000130000001300000013000000CD
+:1017D00013000000130000001300000013000000BD
+:1017E00013000000130000001300000013000000AD
+:1017F000130000001300000013000000130000009D
+:10180000130000001300000013000000130000008C
+:10181000130000001300000013000000130000007C
+:10182000130000001300000013000000130000006C
+:10183000130000001300000013000000130000005C
+:10184000130000001300000013000000130000004C
+:10185000130000001300000013000000130000003C
+:10186000130000001300000013000000130000002C
+:10187000130000001300000013000000130000001C
+:10188000130000001300000013000000130000000C
+:1018900013000000130000001300000013000000FC
+:1018A00013000000130000001300000013000000EC
+:1018B00013000000130000001300000013000000DC
+:1018C00013000000130000001300000013000000CC
+:1018D00013000000130000001300000013000000BC
+:1018E00013000000130000001300000013000000AC
+:1018F000130000001300000013000000130000009C
+:10190000130000001300000013000000130000008B
+:10191000130000001300000013000000130000007B
+:10192000130000001300000013000000130000006B
+:10193000130000001300000013000000130000005B
+:10194000130000001300000013000000130000004B
+:10195000130000001300000013000000130000003B
+:10196000130000001300000013000000130000002B
+:10197000130000001300000013000000130000001B
+:10198000130000001300000013000000130000000B
+:1019900013000000130000001300000013000000FB
+:1019A00013000000130000001300000013000000EB
+:1019B00013000000130000001300000013000000DB
+:1019C00013000000130000001300000013000000CB
+:1019D00013000000130000001300000013000000BB
+:1019E00013000000130000001300000013000000AB
+:1019F000130000001300000013000000130000009B
+:101A0000130000001300000013000000130000008A
+:101A1000130000001300000013000000130000007A
+:101A2000130000001300000013000000130000006A
+:101A3000130000001300000013000000130000005A
+:101A4000130000001300000013000000130000004A
+:101A5000130000001300000013000000130000003A
+:101A6000130000001300000013000000130000002A
+:101A7000130000001300000013000000130000001A
+:101A8000130000001300000013000000130000000A
+:101A900013000000130000001300000013000000FA
+:101AA00013000000130000001300000013000000EA
+:101AB00013000000130000001300000013000000DA
+:101AC00013000000130000001300000013000000CA
+:101AD00013000000130000001300000013000000BA
+:101AE00013000000130000001300000013000000AA
+:101AF000130000001300000013000000130000009A
+:101B00001300000013000000130000001300000089
+:101B10001300000013000000130000001300000079
+:101B20001300000013000000130000001300000069
+:101B30001300000013000000130000001300000059
+:101B40001300000013000000130000001300000049
+:101B50001300000013000000130000001300000039
+:101B60001300000013000000130000001300000029
+:101B70001300000013000000130000001300000019
+:101B80001300000013000000130000001300000009
+:101B900013000000130000001300000013000000F9
+:101BA00013000000130000001300000013000000E9
+:101BB00013000000130000001300000013000000D9
+:101BC00013000000130000001300000013000000C9
+:101BD00013000000130000001300000013000000B9
+:101BE00013000000130000001300000013000000A9
+:101BF0001300000013000000130000001300000099
+:101C00001300000013000000130000001300000088
+:101C10001300000013000000130000001300000078
+:101C20001300000013000000130000001300000068
+:101C30001300000013000000130000001300000058
+:101C40001300000013000000130000001300000048
+:101C50001300000013000000130000001300000038
+:101C60001300000013000000130000001300000028
+:101C70001300000013000000130000001300000018
+:101C80001300000013000000130000001300000008
+:101C900013000000130000001300000013000000F8
+:101CA00013000000130000001300000013000000E8
+:101CB00013000000130000001300000013000000D8
+:101CC00013000000130000001300000013000000C8
+:101CD00013000000130000001300000013000000B8
+:101CE00013000000130000001300000013000000A8
+:101CF0001300000013000000130000001300000098
+:101D00001300000013000000130000001300000087
+:101D10001300000013000000130000001300000077
+:101D20001300000013000000130000001300000067
+:101D30001300000013000000130000001300000057
+:101D40001300000013000000130000001300000047
+:101D50001300000013000000130000001300000037
+:101D60001300000013000000130000001300000027
+:101D70001300000013000000130000001300000017
+:101D80001300000013000000130000001300000007
+:101D900013000000130000001300000013000000F7
+:101DA00013000000130000001300000013000000E7
+:101DB00013000000130000001300000013000000D7
+:101DC00013000000130000001300000013000000C7
+:101DD00013000000130000001300000013000000B7
+:101DE00013000000130000001300000013000000A7
+:101DF0001300000013000000130000001300000097
+:101E00001300000013000000130000001300000086
+:101E10001300000013000000130000001300000076
+:101E20001300000013000000130000001300000066
+:101E30001300000013000000130000001300000056
+:101E40001300000013000000130000001300000046
+:101E50001300000013000000130000001300000036
+:101E60001300000013000000130000001300000026
+:101E70001300000013000000130000001300000016
+:101E80001300000013000000130000001300000006
+:101E900013000000130000001300000013000000F6
+:101EA00013000000130000001300000013000000E6
+:101EB00013000000130000001300000013000000D6
+:101EC00013000000130000001300000013000000C6
+:101ED00013000000130000001300000013000000B6
+:101EE00013000000130000001300000013000000A6
+:101EF0001300000013000000130000001300000096
+:101F00001300000013000000130000001300000085
+:101F10001300000013000000130000001300000075
+:101F20001300000013000000130000001300000065
+:101F30001300000013000000130000001300000055
+:101F40001300000013000000130000001300000045
+:101F50001300000013000000130000001300000035
+:101F60001300000013000000130000001300000025
+:101F70001300000013000000130000001300000015
+:101F80001300000013000000130000001300000005
+:101F900013000000130000001300000013000000F5
+:101FA00013000000130000001300000013000000E5
+:101FB00013000000130000001300000013000000D5
+:101FC00013000000130000001300000013000000C5
+:101FD00013000000130000001300000013000000B5
+:101FE00013000000130000001300000013000000A5
+:101FF0001300000013000000130000001300000095
+:102000000000000013000000130000001300000097
+:102010001300000013000000130000001300000074
+:102020001300000013000000130000001300000064
+:102030001300000013000000130000001300000054
+:102040001300000013000000130000001300000044
+:102050001300000013000000130000001300000034
+:102060001300000013000000130000001300000024
+:102070001300000013000000130000001300000014
+:102080001300000013000000130000001300000004
+:1020900013000000130000001300000013000000F4
+:1020A00013000000130000001300000013000000E4
+:1020B00013000000130000001300000013000000D4
+:1020C00013000000130000001300000013000000C4
+:1020D00013000000130000001300000013000000B4
+:1020E00013000000130000001300000013000000A4
+:1020F0001300000013000000130000001300000094
+:102100001300000013000000130000001300000083
+:102110001300000013000000130000001300000073
+:102120001300000013000000130000001300000063
+:102130001300000013000000130000001300000053
+:102140001300000013000000130000001300000043
+:102150001300000013000000130000001300000033
+:102160001300000013000000130000001300000023
+:102170001300000013000000130000001300000013
+:102180001300000013000000130000001300000003
+:1021900013000000130000001300000013000000F3
+:1021A00013000000130000001300000013000000E3
+:1021B00013000000130000001300000013000000D3
+:1021C00013000000130000001300000013000000C3
+:1021D00013000000130000001300000013000000B3
+:1021E00013000000130000001300000013000000A3
+:1021F0001300000013000000130000001300000093
+:102200001300000013000000130000001300000082
+:102210001300000013000000130000001300000072
+:102220001300000013000000130000001300000062
+:102230001300000013000000130000001300000052
+:102240001300000013000000130000001300000042
+:102250001300000013000000130000001300000032
+:102260001300000013000000130000001300000022
+:102270001300000013000000130000001300000012
+:102280001300000013000000130000001300000002
+:1022900013000000130000001300000013000000F2
+:1022A00013000000130000001300000013000000E2
+:1022B00013000000130000001300000013000000D2
+:1022C00013000000130000001300000013000000C2
+:1022D00013000000130000001300000013000000B2
+:1022E00013000000130000001300000013000000A2
+:1022F0001300000013000000130000001300000092
+:102300001300000013000000130000001300000081
+:102310001300000013000000130000001300000071
+:102320001300000013000000130000001300000061
+:102330001300000013000000130000001300000051
+:102340001300000013000000130000001300000041
+:102350001300000013000000130000001300000031
+:102360001300000013000000130000001300000021
+:102370001300000013000000130000001300000011
+:102380001300000013000000130000001300000001
+:1023900013000000130000001300000013000000F1
+:1023A00013000000130000001300000013000000E1
+:1023B00013000000130000001300000013000000D1
+:1023C00013000000130000001300000013000000C1
+:1023D00013000000130000001300000013000000B1
+:1023E00013000000130000001300000013000000A1
+:1023F0001300000013000000130000001300000091
+:102400001300000013000000130000001300000080
+:102410001300000013000000130000001300000070
+:102420001300000013000000130000001300000060
+:102430001300000013000000130000001300000050
+:102440001300000013000000130000001300000040
+:102450001300000013000000130000001300000030
+:102460001300000013000000130000001300000020
+:102470001300000013000000130000001300000010
+:102480001300000013000000130000001300000000
+:1024900013000000130000001300000013000000F0
+:1024A00013000000130000001300000013000000E0
+:1024B00013000000130000001300000013000000D0
+:1024C00013000000130000001300000013000000C0
+:1024D00013000000130000001300000013000000B0
+:1024E00013000000130000001300000013000000A0
+:1024F0001300000013000000130000001300000090
+:10250000130000001300000013000000130000007F
+:10251000130000001300000013000000130000006F
+:10252000130000001300000013000000130000005F
+:10253000130000001300000013000000130000004F
+:10254000130000001300000013000000130000003F
+:10255000130000001300000013000000130000002F
+:10256000130000001300000013000000130000001F
+:10257000130000001300000013000000130000000F
+:1025800013000000130000001300000013000000FF
+:1025900013000000130000001300000013000000EF
+:1025A00013000000130000001300000013000000DF
+:1025B00013000000130000001300000013000000CF
+:1025C00013000000130000001300000013000000BF
+:1025D00013000000130000001300000013000000AF
+:1025E000130000001300000013000000130000009F
+:1025F000130000001300000013000000130000008F
+:10260000130000001300000013000000130000007E
+:10261000130000001300000013000000130000006E
+:10262000130000001300000013000000130000005E
+:10263000130000001300000013000000130000004E
+:10264000130000001300000013000000130000003E
+:10265000130000001300000013000000130000002E
+:10266000130000001300000013000000130000001E
+:10267000130000001300000013000000130000000E
+:1026800013000000130000001300000013000000FE
+:1026900013000000130000001300000013000000EE
+:1026A00013000000130000001300000013000000DE
+:1026B00013000000130000001300000013000000CE
+:1026C00013000000130000001300000013000000BE
+:1026D00013000000130000001300000013000000AE
+:1026E000130000001300000013000000130000009E
+:1026F000130000001300000013000000130000008E
+:10270000130000001300000013000000130000007D
+:10271000130000001300000013000000130000006D
+:10272000130000001300000013000000130000005D
+:10273000130000001300000013000000130000004D
+:10274000130000001300000013000000130000003D
+:10275000130000001300000013000000130000002D
+:10276000130000001300000013000000130000001D
+:10277000130000001300000013000000130000000D
+:1027800013000000130000001300000013000000FD
+:1027900013000000130000001300000013000000ED
+:1027A00013000000130000001300000013000000DD
+:1027B00013000000130000001300000013000000CD
+:1027C00013000000130000001300000013000000BD
+:1027D00013000000130000001300000013000000AD
+:1027E000130000001300000013000000130000009D
+:1027F000130000001300000013000000130000008D
+:10280000130000001300000013000000130000007C
+:10281000130000001300000013000000130000006C
+:10282000130000001300000013000000130000005C
+:10283000130000001300000013000000130000004C
+:10284000130000001300000013000000130000003C
+:10285000130000001300000013000000130000002C
+:10286000130000001300000013000000130000001C
+:10287000130000001300000013000000130000000C
+:1028800013000000130000001300000013000000FC
+:1028900013000000130000001300000013000000EC
+:1028A00013000000130000001300000013000000DC
+:1028B00013000000130000001300000013000000CC
+:1028C00013000000130000001300000013000000BC
+:1028D00013000000130000001300000013000000AC
+:1028E000130000001300000013000000130000009C
+:1028F000130000001300000013000000130000008C
+:10290000130000001300000013000000130000007B
+:10291000130000001300000013000000130000006B
+:10292000130000001300000013000000130000005B
+:10293000130000001300000013000000130000004B
+:10294000130000001300000013000000130000003B
+:10295000130000001300000013000000130000002B
+:10296000130000001300000013000000130000001B
+:10297000130000001300000013000000130000000B
+:1029800013000000130000001300000013000000FB
+:1029900013000000130000001300000013000000EB
+:1029A00013000000130000001300000013000000DB
+:1029B00013000000130000001300000013000000CB
+:1029C00013000000130000001300000013000000BB
+:1029D00013000000130000001300000013000000AB
+:1029E000130000001300000013000000130000009B
+:1029F000130000001300000013000000130000008B
+:102A0000130000001300000013000000130000007A
+:102A1000130000001300000013000000130000006A
+:102A2000130000001300000013000000130000005A
+:102A3000130000001300000013000000130000004A
+:102A4000130000001300000013000000130000003A
+:102A5000130000001300000013000000130000002A
+:102A6000130000001300000013000000130000001A
+:102A7000130000001300000013000000130000000A
+:102A800013000000130000001300000013000000FA
+:102A900013000000130000001300000013000000EA
+:102AA00013000000130000001300000013000000DA
+:102AB00013000000130000001300000013000000CA
+:102AC00013000000130000001300000013000000BA
+:102AD00013000000130000001300000013000000AA
+:102AE000130000001300000013000000130000009A
+:102AF000130000001300000013000000130000008A
+:102B00001300000013000000130000001300000079
+:102B10001300000013000000130000001300000069
+:102B20001300000013000000130000001300000059
+:102B30001300000013000000130000001300000049
+:102B40001300000013000000130000001300000039
+:102B50001300000013000000130000001300000029
+:102B60001300000013000000130000001300000019
+:102B70001300000013000000130000001300000009
+:102B800013000000130000001300000013000000F9
+:102B900013000000130000001300000013000000E9
+:102BA00013000000130000001300000013000000D9
+:102BB00013000000130000001300000013000000C9
+:102BC00013000000130000001300000013000000B9
+:102BD00013000000130000001300000013000000A9
+:102BE0001300000013000000130000001300000099
+:102BF0001300000013000000130000001300000089
+:102C00001300000013000000130000001300000078
+:102C10001300000013000000130000001300000068
+:102C20001300000013000000130000001300000058
+:102C30001300000013000000130000001300000048
+:102C40001300000013000000130000001300000038
+:102C50001300000013000000130000001300000028
+:102C60001300000013000000130000001300000018
+:102C70001300000013000000130000001300000008
+:102C800013000000130000001300000013000000F8
+:102C900013000000130000001300000013000000E8
+:102CA00013000000130000001300000013000000D8
+:102CB00013000000130000001300000013000000C8
+:102CC00013000000130000001300000013000000B8
+:102CD00013000000130000001300000013000000A8
+:102CE0001300000013000000130000001300000098
+:102CF0001300000013000000130000001300000088
+:102D00001300000013000000130000001300000077
+:102D10001300000013000000130000001300000067
+:102D20001300000013000000130000001300000057
+:102D30001300000013000000130000001300000047
+:102D40001300000013000000130000001300000037
+:102D50001300000013000000130000001300000027
+:102D60001300000013000000130000001300000017
+:102D70001300000013000000130000001300000007
+:102D800013000000130000001300000013000000F7
+:102D900013000000130000001300000013000000E7
+:102DA00013000000130000001300000013000000D7
+:102DB00013000000130000001300000013000000C7
+:102DC00013000000130000001300000013000000B7
+:102DD00013000000130000001300000013000000A7
+:102DE0001300000013000000130000001300000097
+:102DF0001300000013000000130000001300000087
+:102E00001300000013000000130000001300000076
+:102E10001300000013000000130000001300000066
+:102E20001300000013000000130000001300000056
+:102E30001300000013000000130000001300000046
+:102E40001300000013000000130000001300000036
+:102E50001300000013000000130000001300000026
+:102E60001300000013000000130000001300000016
+:102E70001300000013000000130000001300000006
+:102E800013000000130000001300000013000000F6
+:102E900013000000130000001300000013000000E6
+:102EA00013000000130000001300000013000000D6
+:102EB00013000000130000001300000013000000C6
+:102EC00013000000130000001300000013000000B6
+:102ED00013000000130000001300000013000000A6
+:102EE0001300000013000000130000001300000096
+:102EF0001300000013000000130000001300000086
+:102F00001300000013000000130000001300000075
+:102F10001300000013000000130000001300000065
+:102F20001300000013000000130000001300000055
+:102F30001300000013000000130000001300000045
+:102F40001300000013000000130000001300000035
+:102F50001300000013000000130000001300000025
+:102F60001300000013000000130000001300000015
+:102F70001300000013000000130000001300000005
+:102F800013000000130000001300000013000000F5
+:102F900013000000130000001300000013000000E5
+:102FA00013000000130000001300000013000000D5
+:102FB00013000000130000001300000013000000C5
+:102FC00013000000130000001300000013000000B5
+:102FD00013000000130000001300000013000000A5
+:102FE0001300000013000000130000001300000095
+:102FF0001300000013000000130000001300000085
+:103000000000000013000000130000001300000087
+:103010001300000013000000130000001300000064
+:103020001300000013000000130000001300000054
+:103030001300000013000000130000001300000044
+:103040001300000013000000130000001300000034
+:103050001300000013000000130000001300000024
+:103060001300000013000000130000001300000014
+:103070001300000013000000130000001300000004
+:1030800013000000130000001300000013000000F4
+:1030900013000000130000001300000013000000E4
+:1030A00013000000130000001300000013000000D4
+:1030B00013000000130000001300000013000000C4
+:1030C00013000000130000001300000013000000B4
+:1030D00013000000130000001300000013000000A4
+:1030E0001300000013000000130000001300000094
+:1030F0001300000013000000130000001300000084
+:103100001300000013000000130000001300000073
+:103110001300000013000000130000001300000063
+:103120001300000013000000130000001300000053
+:103130001300000013000000130000001300000043
+:103140001300000013000000130000001300000033
+:103150001300000013000000130000001300000023
+:103160001300000013000000130000001300000013
+:103170001300000013000000130000001300000003
+:1031800013000000130000001300000013000000F3
+:1031900013000000130000001300000013000000E3
+:1031A00013000000130000001300000013000000D3
+:1031B00013000000130000001300000013000000C3
+:1031C00013000000130000001300000013000000B3
+:1031D00013000000130000001300000013000000A3
+:1031E0001300000013000000130000001300000093
+:1031F0001300000013000000130000001300000083
+:103200001300000013000000130000001300000072
+:103210001300000013000000130000001300000062
+:103220001300000013000000130000001300000052
+:103230001300000013000000130000001300000042
+:103240001300000013000000130000001300000032
+:103250001300000013000000130000001300000022
+:103260001300000013000000130000001300000012
+:103270001300000013000000130000001300000002
+:1032800013000000130000001300000013000000F2
+:1032900013000000130000001300000013000000E2
+:1032A00013000000130000001300000013000000D2
+:1032B00013000000130000001300000013000000C2
+:1032C00013000000130000001300000013000000B2
+:1032D00013000000130000001300000013000000A2
+:1032E0001300000013000000130000001300000092
+:1032F0001300000013000000130000001300000082
+:103300001300000013000000130000001300000071
+:103310001300000013000000130000001300000061
+:103320001300000013000000130000001300000051
+:103330001300000013000000130000001300000041
+:103340001300000013000000130000001300000031
+:103350001300000013000000130000001300000021
+:103360001300000013000000130000001300000011
+:103370001300000013000000130000001300000001
+:1033800013000000130000001300000013000000F1
+:1033900013000000130000001300000013000000E1
+:1033A00013000000130000001300000013000000D1
+:1033B00013000000130000001300000013000000C1
+:1033C00013000000130000001300000013000000B1
+:1033D00013000000130000001300000013000000A1
+:1033E0001300000013000000130000001300000091
+:1033F0001300000013000000130000001300000081
+:103400001300000013000000130000001300000070
+:103410001300000013000000130000001300000060
+:103420001300000013000000130000001300000050
+:103430001300000013000000130000001300000040
+:103440001300000013000000130000001300000030
+:103450001300000013000000130000001300000020
+:103460001300000013000000130000001300000010
+:103470001300000013000000130000001300000000
+:1034800013000000130000001300000013000000F0
+:1034900013000000130000001300000013000000E0
+:1034A00013000000130000001300000013000000D0
+:1034B00013000000130000001300000013000000C0
+:1034C00013000000130000001300000013000000B0
+:1034D00013000000130000001300000013000000A0
+:1034E0001300000013000000130000001300000090
+:1034F0001300000013000000130000001300000080
+:10350000130000001300000013000000130000006F
+:10351000130000001300000013000000130000005F
+:10352000130000001300000013000000130000004F
+:10353000130000001300000013000000130000003F
+:10354000130000001300000013000000130000002F
+:10355000130000001300000013000000130000001F
+:10356000130000001300000013000000130000000F
+:1035700013000000130000001300000013000000FF
+:1035800013000000130000001300000013000000EF
+:1035900013000000130000001300000013000000DF
+:1035A00013000000130000001300000013000000CF
+:1035B00013000000130000001300000013000000BF
+:1035C00013000000130000001300000013000000AF
+:1035D000130000001300000013000000130000009F
+:1035E000130000001300000013000000130000008F
+:1035F000130000001300000013000000130000007F
+:10360000130000001300000013000000130000006E
+:10361000130000001300000013000000130000005E
+:10362000130000001300000013000000130000004E
+:10363000130000001300000013000000130000003E
+:10364000130000001300000013000000130000002E
+:10365000130000001300000013000000130000001E
+:10366000130000001300000013000000130000000E
+:1036700013000000130000001300000013000000FE
+:1036800013000000130000001300000013000000EE
+:1036900013000000130000001300000013000000DE
+:1036A00013000000130000001300000013000000CE
+:1036B00013000000130000001300000013000000BE
+:1036C00013000000130000001300000013000000AE
+:1036D000130000001300000013000000130000009E
+:1036E000130000001300000013000000130000008E
+:1036F000130000001300000013000000130000007E
+:10370000130000001300000013000000130000006D
+:10371000130000001300000013000000130000005D
+:10372000130000001300000013000000130000004D
+:10373000130000001300000013000000130000003D
+:10374000130000001300000013000000130000002D
+:10375000130000001300000013000000130000001D
+:10376000130000001300000013000000130000000D
+:1037700013000000130000001300000013000000FD
+:1037800013000000130000001300000013000000ED
+:1037900013000000130000001300000013000000DD
+:1037A00013000000130000001300000013000000CD
+:1037B00013000000130000001300000013000000BD
+:1037C00013000000130000001300000013000000AD
+:1037D000130000001300000013000000130000009D
+:1037E000130000001300000013000000130000008D
+:1037F000130000001300000013000000130000007D
+:10380000130000001300000013000000130000006C
+:10381000130000001300000013000000130000005C
+:10382000130000001300000013000000130000004C
+:10383000130000001300000013000000130000003C
+:10384000130000001300000013000000130000002C
+:10385000130000001300000013000000130000001C
+:10386000130000001300000013000000130000000C
+:1038700013000000130000001300000013000000FC
+:1038800013000000130000001300000013000000EC
+:1038900013000000130000001300000013000000DC
+:1038A00013000000130000001300000013000000CC
+:1038B00013000000130000001300000013000000BC
+:1038C00013000000130000001300000013000000AC
+:1038D000130000001300000013000000130000009C
+:1038E000130000001300000013000000130000008C
+:1038F000130000001300000013000000130000007C
+:10390000130000001300000013000000130000006B
+:10391000130000001300000013000000130000005B
+:10392000130000001300000013000000130000004B
+:10393000130000001300000013000000130000003B
+:10394000130000001300000013000000130000002B
+:10395000130000001300000013000000130000001B
+:10396000130000001300000013000000130000000B
+:1039700013000000130000001300000013000000FB
+:1039800013000000130000001300000013000000EB
+:1039900013000000130000001300000013000000DB
+:1039A00013000000130000001300000013000000CB
+:1039B00013000000130000001300000013000000BB
+:1039C00013000000130000001300000013000000AB
+:1039D000130000001300000013000000130000009B
+:1039E000130000001300000013000000130000008B
+:1039F000130000001300000013000000130000007B
+:103A0000130000001300000013000000130000006A
+:103A1000130000001300000013000000130000005A
+:103A2000130000001300000013000000130000004A
+:103A3000130000001300000013000000130000003A
+:103A4000130000001300000013000000130000002A
+:103A5000130000001300000013000000130000001A
+:103A6000130000001300000013000000130000000A
+:103A700013000000130000001300000013000000FA
+:103A800013000000130000001300000013000000EA
+:103A900013000000130000001300000013000000DA
+:103AA00013000000130000001300000013000000CA
+:103AB00013000000130000001300000013000000BA
+:103AC00013000000130000001300000013000000AA
+:103AD000130000001300000013000000130000009A
+:103AE000130000001300000013000000130000008A
+:103AF000130000001300000013000000130000007A
+:103B00001300000013000000130000001300000069
+:103B10001300000013000000130000001300000059
+:103B20001300000013000000130000001300000049
+:103B30001300000013000000130000001300000039
+:103B40001300000013000000130000001300000029
+:103B50001300000013000000130000001300000019
+:103B60001300000013000000130000001300000009
+:103B700013000000130000001300000013000000F9
+:103B800013000000130000001300000013000000E9
+:103B900013000000130000001300000013000000D9
+:103BA00013000000130000001300000013000000C9
+:103BB00013000000130000001300000013000000B9
+:103BC00013000000130000001300000013000000A9
+:103BD0001300000013000000130000001300000099
+:103BE0001300000013000000130000001300000089
+:103BF0001300000013000000130000001300000079
+:103C00001300000013000000130000001300000068
+:103C10001300000013000000130000001300000058
+:103C20001300000013000000130000001300000048
+:103C30001300000013000000130000001300000038
+:103C40001300000013000000130000001300000028
+:103C50001300000013000000130000001300000018
+:103C60001300000013000000130000001300000008
+:103C700013000000130000001300000013000000F8
+:103C800013000000130000001300000013000000E8
+:103C900013000000130000001300000013000000D8
+:103CA00013000000130000001300000013000000C8
+:103CB00013000000130000001300000013000000B8
+:103CC00013000000130000001300000013000000A8
+:103CD0001300000013000000130000001300000098
+:103CE0001300000013000000130000001300000088
+:103CF0001300000013000000130000001300000078
+:103D00001300000013000000130000001300000067
+:103D10001300000013000000130000001300000057
+:103D20001300000013000000130000001300000047
+:103D30001300000013000000130000001300000037
+:103D40001300000013000000130000001300000027
+:103D50001300000013000000130000001300000017
+:103D60001300000013000000130000001300000007
+:103D700013000000130000001300000013000000F7
+:103D800013000000130000001300000013000000E7
+:103D900013000000130000001300000013000000D7
+:103DA00013000000130000001300000013000000C7
+:103DB00013000000130000001300000013000000B7
+:103DC00013000000130000001300000013000000A7
+:103DD0001300000013000000130000001300000097
+:103DE0001300000013000000130000001300000087
+:103DF0001300000013000000130000001300000077
+:103E00001300000013000000130000001300000066
+:103E10001300000013000000130000001300000056
+:103E20001300000013000000130000001300000046
+:103E30001300000013000000130000001300000036
+:103E40001300000013000000130000001300000026
+:103E50001300000013000000130000001300000016
+:103E60001300000013000000130000001300000006
+:103E700013000000130000001300000013000000F6
+:103E800013000000130000001300000013000000E6
+:103E900013000000130000001300000013000000D6
+:103EA00013000000130000001300000013000000C6
+:103EB00013000000130000001300000013000000B6
+:103EC00013000000130000001300000013000000A6
+:103ED0001300000013000000130000001300000096
+:103EE0001300000013000000130000001300000086
+:103EF0001300000013000000130000001300000076
+:103F00001300000013000000130000001300000065
+:103F10001300000013000000130000001300000055
+:103F20001300000013000000130000001300000045
+:103F30001300000013000000130000001300000035
+:103F40001300000013000000130000001300000025
+:103F50001300000013000000130000001300000015
+:103F60001300000013000000130000001300000005
+:103F700013000000130000001300000013000000F5
+:103F800013000000130000001300000013000000E5
+:103F900013000000130000001300000013000000D5
+:103FA00013000000130000001300000013000000C5
+:103FB00013000000130000001300000013000000B5
+:103FC00013000000130000001300000013000000A5
+:103FD0001300000013000000130000001300000095
+:103FE0001300000013000000130000001300000085
+:103FF0001300000013000000130000001300000075
+:104000000000000013000000130000001300000077
+:104010001300000013000000130000001300000054
+:104020001300000013000000130000001300000044
+:104030001300000013000000130000001300000034
+:104040001300000013000000130000001300000024
+:104050001300000013000000130000001300000014
+:104060001300000013000000130000001300000004
+:1040700013000000130000001300000013000000F4
+:1040800013000000130000001300000013000000E4
+:1040900013000000130000001300000013000000D4
+:1040A00013000000130000001300000013000000C4
+:1040B00013000000130000001300000013000000B4
+:1040C00013000000130000001300000013000000A4
+:1040D0001300000013000000130000001300000094
+:1040E0001300000013000000130000001300000084
+:1040F0001300000013000000130000001300000074
+:104100001300000013000000130000001300000063
+:104110001300000013000000130000001300000053
+:104120001300000013000000130000001300000043
+:104130001300000013000000130000001300000033
+:104140001300000013000000130000001300000023
+:104150001300000013000000130000001300000013
+:104160001300000013000000130000001300000003
+:1041700013000000130000001300000013000000F3
+:1041800013000000130000001300000013000000E3
+:1041900013000000130000001300000013000000D3
+:1041A00013000000130000001300000013000000C3
+:1041B00013000000130000001300000013000000B3
+:1041C00013000000130000001300000013000000A3
+:1041D0001300000013000000130000001300000093
+:1041E0001300000013000000130000001300000083
+:1041F0001300000013000000130000001300000073
+:104200001300000013000000130000001300000062
+:104210001300000013000000130000001300000052
+:104220001300000013000000130000001300000042
+:104230001300000013000000130000001300000032
+:104240001300000013000000130000001300000022
+:104250001300000013000000130000001300000012
+:104260001300000013000000130000001300000002
+:1042700013000000130000001300000013000000F2
+:1042800013000000130000001300000013000000E2
+:1042900013000000130000001300000013000000D2
+:1042A00013000000130000001300000013000000C2
+:1042B00013000000130000001300000013000000B2
+:1042C00013000000130000001300000013000000A2
+:1042D0001300000013000000130000001300000092
+:1042E0001300000013000000130000001300000082
+:1042F0001300000013000000130000001300000072
+:104300001300000013000000130000001300000061
+:104310001300000013000000130000001300000051
+:104320001300000013000000130000001300000041
+:104330001300000013000000130000001300000031
+:104340001300000013000000130000001300000021
+:104350001300000013000000130000001300000011
+:104360001300000013000000130000001300000001
+:1043700013000000130000001300000013000000F1
+:1043800013000000130000001300000013000000E1
+:1043900013000000130000001300000013000000D1
+:1043A00013000000130000001300000013000000C1
+:1043B00013000000130000001300000013000000B1
+:1043C00013000000130000001300000013000000A1
+:1043D0001300000013000000130000001300000091
+:1043E0001300000013000000130000001300000081
+:1043F0001300000013000000130000001300000071
+:104400001300000013000000130000001300000060
+:104410001300000013000000130000001300000050
+:104420001300000013000000130000001300000040
+:104430001300000013000000130000001300000030
+:104440001300000013000000130000001300000020
+:104450001300000013000000130000001300000010
+:104460001300000013000000130000001300000000
+:1044700013000000130000001300000013000000F0
+:1044800013000000130000001300000013000000E0
+:1044900013000000130000001300000013000000D0
+:1044A00013000000130000001300000013000000C0
+:1044B00013000000130000001300000013000000B0
+:1044C00013000000130000001300000013000000A0
+:1044D0001300000013000000130000001300000090
+:1044E0001300000013000000130000001300000080
+:1044F0001300000013000000130000001300000070
+:10450000130000001300000013000000130000005F
+:10451000130000001300000013000000130000004F
+:10452000130000001300000013000000130000003F
+:10453000130000001300000013000000130000002F
+:10454000130000001300000013000000130000001F
+:10455000130000001300000013000000130000000F
+:1045600013000000130000001300000013000000FF
+:1045700013000000130000001300000013000000EF
+:1045800013000000130000001300000013000000DF
+:1045900013000000130000001300000013000000CF
+:1045A00013000000130000001300000013000000BF
+:1045B00013000000130000001300000013000000AF
+:1045C000130000001300000013000000130000009F
+:1045D000130000001300000013000000130000008F
+:1045E000130000001300000013000000130000007F
+:1045F000130000001300000013000000130000006F
+:10460000130000001300000013000000130000005E
+:10461000130000001300000013000000130000004E
+:10462000130000001300000013000000130000003E
+:10463000130000001300000013000000130000002E
+:10464000130000001300000013000000130000001E
+:10465000130000001300000013000000130000000E
+:1046600013000000130000001300000013000000FE
+:1046700013000000130000001300000013000000EE
+:1046800013000000130000001300000013000000DE
+:1046900013000000130000001300000013000000CE
+:1046A00013000000130000001300000013000000BE
+:1046B00013000000130000001300000013000000AE
+:1046C000130000001300000013000000130000009E
+:1046D000130000001300000013000000130000008E
+:1046E000130000001300000013000000130000007E
+:1046F000130000001300000013000000130000006E
+:10470000130000001300000013000000130000005D
+:10471000130000001300000013000000130000004D
+:10472000130000001300000013000000130000003D
+:10473000130000001300000013000000130000002D
+:10474000130000001300000013000000130000001D
+:10475000130000001300000013000000130000000D
+:1047600013000000130000001300000013000000FD
+:1047700013000000130000001300000013000000ED
+:1047800013000000130000001300000013000000DD
+:1047900013000000130000001300000013000000CD
+:1047A00013000000130000001300000013000000BD
+:1047B00013000000130000001300000013000000AD
+:1047C000130000001300000013000000130000009D
+:1047D000130000001300000013000000130000008D
+:1047E000130000001300000013000000130000007D
+:1047F000130000001300000013000000130000006D
+:10480000130000001300000013000000130000005C
+:10481000130000001300000013000000130000004C
+:10482000130000001300000013000000130000003C
+:10483000130000001300000013000000130000002C
+:10484000130000001300000013000000130000001C
+:10485000130000001300000013000000130000000C
+:1048600013000000130000001300000013000000FC
+:1048700013000000130000001300000013000000EC
+:1048800013000000130000001300000013000000DC
+:1048900013000000130000001300000013000000CC
+:1048A00013000000130000001300000013000000BC
+:1048B00013000000130000001300000013000000AC
+:1048C000130000001300000013000000130000009C
+:1048D000130000001300000013000000130000008C
+:1048E000130000001300000013000000130000007C
+:1048F000130000001300000013000000130000006C
+:10490000130000001300000013000000130000005B
+:10491000130000001300000013000000130000004B
+:10492000130000001300000013000000130000003B
+:10493000130000001300000013000000130000002B
+:10494000130000001300000013000000130000001B
+:10495000130000001300000013000000130000000B
+:1049600013000000130000001300000013000000FB
+:1049700013000000130000001300000013000000EB
+:1049800013000000130000001300000013000000DB
+:1049900013000000130000001300000013000000CB
+:1049A00013000000130000001300000013000000BB
+:1049B00013000000130000001300000013000000AB
+:1049C000130000001300000013000000130000009B
+:1049D000130000001300000013000000130000008B
+:1049E000130000001300000013000000130000007B
+:1049F000130000001300000013000000130000006B
+:104A0000130000001300000013000000130000005A
+:104A1000130000001300000013000000130000004A
+:104A2000130000001300000013000000130000003A
+:104A3000130000001300000013000000130000002A
+:104A4000130000001300000013000000130000001A
+:104A5000130000001300000013000000130000000A
+:104A600013000000130000001300000013000000FA
+:104A700013000000130000001300000013000000EA
+:104A800013000000130000001300000013000000DA
+:104A900013000000130000001300000013000000CA
+:104AA00013000000130000001300000013000000BA
+:104AB00013000000130000001300000013000000AA
+:104AC000130000001300000013000000130000009A
+:104AD000130000001300000013000000130000008A
+:104AE000130000001300000013000000130000007A
+:104AF000130000001300000013000000130000006A
+:104B00001300000013000000130000001300000059
+:104B10001300000013000000130000001300000049
+:104B20001300000013000000130000001300000039
+:104B30001300000013000000130000001300000029
+:104B40001300000013000000130000001300000019
+:104B50001300000013000000130000001300000009
+:104B600013000000130000001300000013000000F9
+:104B700013000000130000001300000013000000E9
+:104B800013000000130000001300000013000000D9
+:104B900013000000130000001300000013000000C9
+:104BA00013000000130000001300000013000000B9
+:104BB00013000000130000001300000013000000A9
+:104BC0001300000013000000130000001300000099
+:104BD0001300000013000000130000001300000089
+:104BE0001300000013000000130000001300000079
+:104BF0001300000013000000130000001300000069
+:104C00001300000013000000130000001300000058
+:104C10001300000013000000130000001300000048
+:104C20001300000013000000130000001300000038
+:104C30001300000013000000130000001300000028
+:104C40001300000013000000130000001300000018
+:104C50001300000013000000130000001300000008
+:104C600013000000130000001300000013000000F8
+:104C700013000000130000001300000013000000E8
+:104C800013000000130000001300000013000000D8
+:104C900013000000130000001300000013000000C8
+:104CA00013000000130000001300000013000000B8
+:104CB00013000000130000001300000013000000A8
+:104CC0001300000013000000130000001300000098
+:104CD0001300000013000000130000001300000088
+:104CE0001300000013000000130000001300000078
+:104CF0001300000013000000130000001300000068
+:104D00001300000013000000130000001300000057
+:104D10001300000013000000130000001300000047
+:104D20001300000013000000130000001300000037
+:104D30001300000013000000130000001300000027
+:104D40001300000013000000130000001300000017
+:104D50001300000013000000130000001300000007
+:104D600013000000130000001300000013000000F7
+:104D700013000000130000001300000013000000E7
+:104D800013000000130000001300000013000000D7
+:104D900013000000130000001300000013000000C7
+:104DA00013000000130000001300000013000000B7
+:104DB00013000000130000001300000013000000A7
+:104DC0001300000013000000130000001300000097
+:104DD0001300000013000000130000001300000087
+:104DE0001300000013000000130000001300000077
+:104DF0001300000013000000130000001300000067
+:104E00001300000013000000130000001300000056
+:104E10001300000013000000130000001300000046
+:104E20001300000013000000130000001300000036
+:104E30001300000013000000130000001300000026
+:104E40001300000013000000130000001300000016
+:104E50001300000013000000130000001300000006
+:104E600013000000130000001300000013000000F6
+:104E700013000000130000001300000013000000E6
+:104E800013000000130000001300000013000000D6
+:104E900013000000130000001300000013000000C6
+:104EA00013000000130000001300000013000000B6
+:104EB00013000000130000001300000013000000A6
+:104EC0001300000013000000130000001300000096
+:104ED0001300000013000000130000001300000086
+:104EE0001300000013000000130000001300000076
+:104EF0001300000013000000130000001300000066
+:104F00001300000013000000130000001300000055
+:104F10001300000013000000130000001300000045
+:104F20001300000013000000130000001300000035
+:104F30001300000013000000130000001300000025
+:104F40001300000013000000130000001300000015
+:104F50001300000013000000130000001300000005
+:104F600013000000130000001300000013000000F5
+:104F700013000000130000001300000013000000E5
+:104F800013000000130000001300000013000000D5
+:104F900013000000130000001300000013000000C5
+:104FA00013000000130000001300000013000000B5
+:104FB00013000000130000001300000013000000A5
+:104FC0001300000013000000130000001300000095
+:104FD0001300000013000000130000001300000085
+:104FE0001300000013000000130000001300000075
+:104FF0001300000013000000130000001300000065
+:10500000000102030405060708090A0B0C0D0E0F28
+:105010001300000013000000130000001300000044
+:105020001300000013000000130000001300000034
+:105030001300000013000000130000001300000024
+:105040001300000013000000130000001300000014
+:105050001300000013000000130000001300000004
+:1050600013000000130000001300000013000000F4
+:1050700013000000130000001300000013000000E4
+:1050800013000000130000001300000013000000D4
+:1050900013000000130000001300000013000000C4
+:1050A00013000000130000001300000013000000B4
+:1050B00013000000130000001300000013000000A4
+:1050C0001300000013000000130000001300000094
+:1050D0001300000013000000130000001300000084
+:1050E0001300000013000000130000001300000074
+:1050F0001300000013000000130000001300000064
+:105100001300000013000000130000001300000053
+:105110001300000013000000130000001300000043
+:105120001300000013000000130000001300000033
+:105130001300000013000000130000001300000023
+:105140001300000013000000130000001300000013
+:105150001300000013000000130000001300000003
+:1051600013000000130000001300000013000000F3
+:1051700013000000130000001300000013000000E3
+:1051800013000000130000001300000013000000D3
+:1051900013000000130000001300000013000000C3
+:1051A00013000000130000001300000013000000B3
+:1051B00013000000130000001300000013000000A3
+:1051C0001300000013000000130000001300000093
+:1051D0001300000013000000130000001300000083
+:1051E0001300000013000000130000001300000073
+:1051F0001300000013000000130000001300000063
+:105200001300000013000000130000001300000052
+:105210001300000013000000130000001300000042
+:105220001300000013000000130000001300000032
+:105230001300000013000000130000001300000022
+:105240001300000013000000130000001300000012
+:105250001300000013000000130000001300000002
+:1052600013000000130000001300000013000000F2
+:1052700013000000130000001300000013000000E2
+:1052800013000000130000001300000013000000D2
+:1052900013000000130000001300000013000000C2
+:1052A00013000000130000001300000013000000B2
+:1052B00013000000130000001300000013000000A2
+:1052C0001300000013000000130000001300000092
+:1052D0001300000013000000130000001300000082
+:1052E0001300000013000000130000001300000072
+:1052F0001300000013000000130000001300000062
+:105300001300000013000000130000001300000051
+:105310001300000013000000130000001300000041
+:105320001300000013000000130000001300000031
+:105330001300000013000000130000001300000021
+:105340001300000013000000130000001300000011
+:105350001300000013000000130000001300000001
+:1053600013000000130000001300000013000000F1
+:1053700013000000130000001300000013000000E1
+:1053800013000000130000001300000013000000D1
+:1053900013000000130000001300000013000000C1
+:1053A00013000000130000001300000013000000B1
+:1053B00013000000130000001300000013000000A1
+:1053C0001300000013000000130000001300000091
+:1053D0001300000013000000130000001300000081
+:1053E0001300000013000000130000001300000071
+:1053F0001300000013000000130000001300000061
+:105400001300000013000000130000001300000050
+:105410001300000013000000130000001300000040
+:105420001300000013000000130000001300000030
+:105430001300000013000000130000001300000020
+:105440001300000013000000130000001300000010
+:105450001300000013000000130000001300000000
+:1054600013000000130000001300000013000000F0
+:1054700013000000130000001300000013000000E0
+:1054800013000000130000001300000013000000D0
+:1054900013000000130000001300000013000000C0
+:1054A00013000000130000001300000013000000B0
+:1054B00013000000130000001300000013000000A0
+:1054C0001300000013000000130000001300000090
+:1054D0001300000013000000130000001300000080
+:1054E0001300000013000000130000001300000070
+:1054F0001300000013000000130000001300000060
+:10550000130000001300000013000000130000004F
+:10551000130000001300000013000000130000003F
+:10552000130000001300000013000000130000002F
+:10553000130000001300000013000000130000001F
+:10554000130000001300000013000000130000000F
+:1055500013000000130000001300000013000000FF
+:1055600013000000130000001300000013000000EF
+:1055700013000000130000001300000013000000DF
+:1055800013000000130000001300000013000000CF
+:1055900013000000130000001300000013000000BF
+:1055A00013000000130000001300000013000000AF
+:1055B000130000001300000013000000130000009F
+:1055C000130000001300000013000000130000008F
+:1055D000130000001300000013000000130000007F
+:1055E000130000001300000013000000130000006F
+:1055F000130000001300000013000000130000005F
+:10560000130000001300000013000000130000004E
+:10561000130000001300000013000000130000003E
+:10562000130000001300000013000000130000002E
+:10563000130000001300000013000000130000001E
+:10564000130000001300000013000000130000000E
+:1056500013000000130000001300000013000000FE
+:1056600013000000130000001300000013000000EE
+:1056700013000000130000001300000013000000DE
+:1056800013000000130000001300000013000000CE
+:1056900013000000130000001300000013000000BE
+:1056A00013000000130000001300000013000000AE
+:1056B000130000001300000013000000130000009E
+:1056C000130000001300000013000000130000008E
+:1056D000130000001300000013000000130000007E
+:1056E000130000001300000013000000130000006E
+:1056F000130000001300000013000000130000005E
+:10570000130000001300000013000000130000004D
+:10571000130000001300000013000000130000003D
+:10572000130000001300000013000000130000002D
+:10573000130000001300000013000000130000001D
+:10574000130000001300000013000000130000000D
+:1057500013000000130000001300000013000000FD
+:1057600013000000130000001300000013000000ED
+:1057700013000000130000001300000013000000DD
+:1057800013000000130000001300000013000000CD
+:1057900013000000130000001300000013000000BD
+:1057A00013000000130000001300000013000000AD
+:1057B000130000001300000013000000130000009D
+:1057C000130000001300000013000000130000008D
+:1057D000130000001300000013000000130000007D
+:1057E000130000001300000013000000130000006D
+:1057F000130000001300000013000000130000005D
+:10580000130000001300000013000000130000004C
+:10581000130000001300000013000000130000003C
+:10582000130000001300000013000000130000002C
+:10583000130000001300000013000000130000001C
+:10584000130000001300000013000000130000000C
+:1058500013000000130000001300000013000000FC
+:1058600013000000130000001300000013000000EC
+:1058700013000000130000001300000013000000DC
+:1058800013000000130000001300000013000000CC
+:1058900013000000130000001300000013000000BC
+:1058A00013000000130000001300000013000000AC
+:1058B000130000001300000013000000130000009C
+:1058C000130000001300000013000000130000008C
+:1058D000130000001300000013000000130000007C
+:1058E000130000001300000013000000130000006C
+:1058F000130000001300000013000000130000005C
+:10590000130000001300000013000000130000004B
+:10591000130000001300000013000000130000003B
+:10592000130000001300000013000000130000002B
+:10593000130000001300000013000000130000001B
+:10594000130000001300000013000000130000000B
+:1059500013000000130000001300000013000000FB
+:1059600013000000130000001300000013000000EB
+:1059700013000000130000001300000013000000DB
+:1059800013000000130000001300000013000000CB
+:1059900013000000130000001300000013000000BB
+:1059A00013000000130000001300000013000000AB
+:1059B000130000001300000013000000130000009B
+:1059C000130000001300000013000000130000008B
+:1059D000130000001300000013000000130000007B
+:1059E000130000001300000013000000130000006B
+:1059F000130000001300000013000000130000005B
+:105A0000130000001300000013000000130000004A
+:105A1000130000001300000013000000130000003A
+:105A2000130000001300000013000000130000002A
+:105A3000130000001300000013000000130000001A
+:105A4000130000001300000013000000130000000A
+:105A500013000000130000001300000013000000FA
+:105A600013000000130000001300000013000000EA
+:105A700013000000130000001300000013000000DA
+:105A800013000000130000001300000013000000CA
+:105A900013000000130000001300000013000000BA
+:105AA00013000000130000001300000013000000AA
+:105AB000130000001300000013000000130000009A
+:105AC000130000001300000013000000130000008A
+:105AD000130000001300000013000000130000007A
+:105AE000130000001300000013000000130000006A
+:105AF000130000001300000013000000130000005A
+:105B00001300000013000000130000001300000049
+:105B10001300000013000000130000001300000039
+:105B20001300000013000000130000001300000029
+:105B30001300000013000000130000001300000019
+:105B40001300000013000000130000001300000009
+:105B500013000000130000001300000013000000F9
+:105B600013000000130000001300000013000000E9
+:105B700013000000130000001300000013000000D9
+:105B800013000000130000001300000013000000C9
+:105B900013000000130000001300000013000000B9
+:105BA00013000000130000001300000013000000A9
+:105BB0001300000013000000130000001300000099
+:105BC0001300000013000000130000001300000089
+:105BD0001300000013000000130000001300000079
+:105BE0001300000013000000130000001300000069
+:105BF0001300000013000000130000001300000059
+:105C00001300000013000000130000001300000048
+:105C10001300000013000000130000001300000038
+:105C20001300000013000000130000001300000028
+:105C30001300000013000000130000001300000018
+:105C40001300000013000000130000001300000008
+:105C500013000000130000001300000013000000F8
+:105C600013000000130000001300000013000000E8
+:105C700013000000130000001300000013000000D8
+:105C800013000000130000001300000013000000C8
+:105C900013000000130000001300000013000000B8
+:105CA00013000000130000001300000013000000A8
+:105CB0001300000013000000130000001300000098
+:105CC0001300000013000000130000001300000088
+:105CD0001300000013000000130000001300000078
+:105CE0001300000013000000130000001300000068
+:105CF0001300000013000000130000001300000058
+:105D00001300000013000000130000001300000047
+:105D10001300000013000000130000001300000037
+:105D20001300000013000000130000001300000027
+:105D30001300000013000000130000001300000017
+:105D40001300000013000000130000001300000007
+:105D500013000000130000001300000013000000F7
+:105D600013000000130000001300000013000000E7
+:105D700013000000130000001300000013000000D7
+:105D800013000000130000001300000013000000C7
+:105D900013000000130000001300000013000000B7
+:105DA00013000000130000001300000013000000A7
+:105DB0001300000013000000130000001300000097
+:105DC0001300000013000000130000001300000087
+:105DD0001300000013000000130000001300000077
+:105DE0001300000013000000130000001300000067
+:105DF0001300000013000000130000001300000057
+:105E00001300000013000000130000001300000046
+:105E10001300000013000000130000001300000036
+:105E20001300000013000000130000001300000026
+:105E30001300000013000000130000001300000016
+:105E40001300000013000000130000001300000006
+:105E500013000000130000001300000013000000F6
+:105E600013000000130000001300000013000000E6
+:105E700013000000130000001300000013000000D6
+:105E800013000000130000001300000013000000C6
+:105E900013000000130000001300000013000000B6
+:105EA00013000000130000001300000013000000A6
+:105EB0001300000013000000130000001300000096
+:105EC0001300000013000000130000001300000086
+:105ED0001300000013000000130000001300000076
+:105EE0001300000013000000130000001300000066
+:105EF0001300000013000000130000001300000056
+:105F00001300000013000000130000001300000045
+:105F10001300000013000000130000001300000035
+:105F20001300000013000000130000001300000025
+:105F30001300000013000000130000001300000015
+:105F40001300000013000000130000001300000005
+:105F500013000000130000001300000013000000F5
+:105F600013000000130000001300000013000000E5
+:105F700013000000130000001300000013000000D5
+:105F800013000000130000001300000013000000C5
+:105F900013000000130000001300000013000000B5
+:105FA00013000000130000001300000013000000A5
+:105FB0001300000013000000130000001300000095
+:105FC0001300000013000000130000001300000085
+:105FD0001300000013000000130000001300000075
+:105FE0001300000013000000130000001300000065
+:105FF0001300000013000000130000001300000055
+:10600000101112131415161718191A1B1C1D1E1F18
+:106010001300000013000000130000001300000034
+:106020001300000013000000130000001300000024
+:106030001300000013000000130000001300000014
+:106040001300000013000000130000001300000004
+:1060500013000000130000001300000013000000F4
+:1060600013000000130000001300000013000000E4
+:1060700013000000130000001300000013000000D4
+:1060800013000000130000001300000013000000C4
+:1060900013000000130000001300000013000000B4
+:1060A00013000000130000001300000013000000A4
+:1060B0001300000013000000130000001300000094
+:1060C0001300000013000000130000001300000084
+:1060D0001300000013000000130000001300000074
+:1060E0001300000013000000130000001300000064
+:1060F0001300000013000000130000001300000054
+:106100001300000013000000130000001300000043
+:106110001300000013000000130000001300000033
+:106120001300000013000000130000001300000023
+:106130001300000013000000130000001300000013
+:106140001300000013000000130000001300000003
+:1061500013000000130000001300000013000000F3
+:1061600013000000130000001300000013000000E3
+:1061700013000000130000001300000013000000D3
+:1061800013000000130000001300000013000000C3
+:1061900013000000130000001300000013000000B3
+:1061A00013000000130000001300000013000000A3
+:1061B0001300000013000000130000001300000093
+:1061C0001300000013000000130000001300000083
+:1061D0001300000013000000130000001300000073
+:1061E0001300000013000000130000001300000063
+:1061F0001300000013000000130000001300000053
+:106200001300000013000000130000001300000042
+:106210001300000013000000130000001300000032
+:106220001300000013000000130000001300000022
+:106230001300000013000000130000001300000012
+:106240001300000013000000130000001300000002
+:1062500013000000130000001300000013000000F2
+:1062600013000000130000001300000013000000E2
+:1062700013000000130000001300000013000000D2
+:1062800013000000130000001300000013000000C2
+:1062900013000000130000001300000013000000B2
+:1062A00013000000130000001300000013000000A2
+:1062B0001300000013000000130000001300000092
+:1062C0001300000013000000130000001300000082
+:1062D0001300000013000000130000001300000072
+:1062E0001300000013000000130000001300000062
+:1062F0001300000013000000130000001300000052
+:106300001300000013000000130000001300000041
+:106310001300000013000000130000001300000031
+:106320001300000013000000130000001300000021
+:106330001300000013000000130000001300000011
+:106340001300000013000000130000001300000001
+:1063500013000000130000001300000013000000F1
+:1063600013000000130000001300000013000000E1
+:1063700013000000130000001300000013000000D1
+:1063800013000000130000001300000013000000C1
+:1063900013000000130000001300000013000000B1
+:1063A00013000000130000001300000013000000A1
+:1063B0001300000013000000130000001300000091
+:1063C0001300000013000000130000001300000081
+:1063D0001300000013000000130000001300000071
+:1063E0001300000013000000130000001300000061
+:1063F0001300000013000000130000001300000051
+:106400001300000013000000130000001300000040
+:106410001300000013000000130000001300000030
+:106420001300000013000000130000001300000020
+:106430001300000013000000130000001300000010
+:106440001300000013000000130000001300000000
+:1064500013000000130000001300000013000000F0
+:1064600013000000130000001300000013000000E0
+:1064700013000000130000001300000013000000D0
+:1064800013000000130000001300000013000000C0
+:1064900013000000130000001300000013000000B0
+:1064A00013000000130000001300000013000000A0
+:1064B0001300000013000000130000001300000090
+:1064C0001300000013000000130000001300000080
+:1064D0001300000013000000130000001300000070
+:1064E0001300000013000000130000001300000060
+:1064F0001300000013000000130000001300000050
+:10650000130000001300000013000000130000003F
+:10651000130000001300000013000000130000002F
+:10652000130000001300000013000000130000001F
+:10653000130000001300000013000000130000000F
+:1065400013000000130000001300000013000000FF
+:1065500013000000130000001300000013000000EF
+:1065600013000000130000001300000013000000DF
+:1065700013000000130000001300000013000000CF
+:1065800013000000130000001300000013000000BF
+:1065900013000000130000001300000013000000AF
+:1065A000130000001300000013000000130000009F
+:1065B000130000001300000013000000130000008F
+:1065C000130000001300000013000000130000007F
+:1065D000130000001300000013000000130000006F
+:1065E000130000001300000013000000130000005F
+:1065F000130000001300000013000000130000004F
+:10660000130000001300000013000000130000003E
+:10661000130000001300000013000000130000002E
+:10662000130000001300000013000000130000001E
+:10663000130000001300000013000000130000000E
+:1066400013000000130000001300000013000000FE
+:1066500013000000130000001300000013000000EE
+:1066600013000000130000001300000013000000DE
+:1066700013000000130000001300000013000000CE
+:1066800013000000130000001300000013000000BE
+:1066900013000000130000001300000013000000AE
+:1066A000130000001300000013000000130000009E
+:1066B000130000001300000013000000130000008E
+:1066C000130000001300000013000000130000007E
+:1066D000130000001300000013000000130000006E
+:1066E000130000001300000013000000130000005E
+:1066F000130000001300000013000000130000004E
+:10670000130000001300000013000000130000003D
+:10671000130000001300000013000000130000002D
+:10672000130000001300000013000000130000001D
+:10673000130000001300000013000000130000000D
+:1067400013000000130000001300000013000000FD
+:1067500013000000130000001300000013000000ED
+:1067600013000000130000001300000013000000DD
+:1067700013000000130000001300000013000000CD
+:1067800013000000130000001300000013000000BD
+:1067900013000000130000001300000013000000AD
+:1067A000130000001300000013000000130000009D
+:1067B000130000001300000013000000130000008D
+:1067C000130000001300000013000000130000007D
+:1067D000130000001300000013000000130000006D
+:1067E000130000001300000013000000130000005D
+:1067F000130000001300000013000000130000004D
+:10680000130000001300000013000000130000003C
+:10681000130000001300000013000000130000002C
+:10682000130000001300000013000000130000001C
+:10683000130000001300000013000000130000000C
+:1068400013000000130000001300000013000000FC
+:1068500013000000130000001300000013000000EC
+:1068600013000000130000001300000013000000DC
+:1068700013000000130000001300000013000000CC
+:1068800013000000130000001300000013000000BC
+:1068900013000000130000001300000013000000AC
+:1068A000130000001300000013000000130000009C
+:1068B000130000001300000013000000130000008C
+:1068C000130000001300000013000000130000007C
+:1068D000130000001300000013000000130000006C
+:1068E000130000001300000013000000130000005C
+:1068F000130000001300000013000000130000004C
+:10690000130000001300000013000000130000003B
+:10691000130000001300000013000000130000002B
+:10692000130000001300000013000000130000001B
+:10693000130000001300000013000000130000000B
+:1069400013000000130000001300000013000000FB
+:1069500013000000130000001300000013000000EB
+:1069600013000000130000001300000013000000DB
+:1069700013000000130000001300000013000000CB
+:1069800013000000130000001300000013000000BB
+:1069900013000000130000001300000013000000AB
+:1069A000130000001300000013000000130000009B
+:1069B000130000001300000013000000130000008B
+:1069C000130000001300000013000000130000007B
+:1069D000130000001300000013000000130000006B
+:1069E000130000001300000013000000130000005B
+:1069F000130000001300000013000000130000004B
+:106A0000130000001300000013000000130000003A
+:106A1000130000001300000013000000130000002A
+:106A2000130000001300000013000000130000001A
+:106A3000130000001300000013000000130000000A
+:106A400013000000130000001300000013000000FA
+:106A500013000000130000001300000013000000EA
+:106A600013000000130000001300000013000000DA
+:106A700013000000130000001300000013000000CA
+:106A800013000000130000001300000013000000BA
+:106A900013000000130000001300000013000000AA
+:106AA000130000001300000013000000130000009A
+:106AB000130000001300000013000000130000008A
+:106AC000130000001300000013000000130000007A
+:106AD000130000001300000013000000130000006A
+:106AE000130000001300000013000000130000005A
+:106AF000130000001300000013000000130000004A
+:106B00001300000013000000130000001300000039
+:106B10001300000013000000130000001300000029
+:106B20001300000013000000130000001300000019
+:106B30001300000013000000130000001300000009
+:106B400013000000130000001300000013000000F9
+:106B500013000000130000001300000013000000E9
+:106B600013000000130000001300000013000000D9
+:106B700013000000130000001300000013000000C9
+:106B800013000000130000001300000013000000B9
+:106B900013000000130000001300000013000000A9
+:106BA0001300000013000000130000001300000099
+:106BB0001300000013000000130000001300000089
+:106BC0001300000013000000130000001300000079
+:106BD0001300000013000000130000001300000069
+:106BE0001300000013000000130000001300000059
+:106BF0001300000013000000130000001300000049
+:106C00001300000013000000130000001300000038
+:106C10001300000013000000130000001300000028
+:106C20001300000013000000130000001300000018
+:106C30001300000013000000130000001300000008
+:106C400013000000130000001300000013000000F8
+:106C500013000000130000001300000013000000E8
+:106C600013000000130000001300000013000000D8
+:106C700013000000130000001300000013000000C8
+:106C800013000000130000001300000013000000B8
+:106C900013000000130000001300000013000000A8
+:106CA0001300000013000000130000001300000098
+:106CB0001300000013000000130000001300000088
+:106CC0001300000013000000130000001300000078
+:106CD0001300000013000000130000001300000068
+:106CE0001300000013000000130000001300000058
+:106CF0001300000013000000130000001300000048
+:106D00001300000013000000130000001300000037
+:106D10001300000013000000130000001300000027
+:106D20001300000013000000130000001300000017
+:106D30001300000013000000130000001300000007
+:106D400013000000130000001300000013000000F7
+:106D500013000000130000001300000013000000E7
+:106D600013000000130000001300000013000000D7
+:106D700013000000130000001300000013000000C7
+:106D800013000000130000001300000013000000B7
+:106D900013000000130000001300000013000000A7
+:106DA0001300000013000000130000001300000097
+:106DB0001300000013000000130000001300000087
+:106DC0001300000013000000130000001300000077
+:106DD0001300000013000000130000001300000067
+:106DE0001300000013000000130000001300000057
+:106DF0001300000013000000130000001300000047
+:106E00001300000013000000130000001300000036
+:106E10001300000013000000130000001300000026
+:106E20001300000013000000130000001300000016
+:106E30001300000013000000130000001300000006
+:106E400013000000130000001300000013000000F6
+:106E500013000000130000001300000013000000E6
+:106E600013000000130000001300000013000000D6
+:106E700013000000130000001300000013000000C6
+:106E800013000000130000001300000013000000B6
+:106E900013000000130000001300000013000000A6
+:106EA0001300000013000000130000001300000096
+:106EB0001300000013000000130000001300000086
+:106EC0001300000013000000130000001300000076
+:106ED0001300000013000000130000001300000066
+:106EE0001300000013000000130000001300000056
+:106EF0001300000013000000130000001300000046
+:106F00001300000013000000130000001300000035
+:106F10001300000013000000130000001300000025
+:106F20001300000013000000130000001300000015
+:106F30001300000013000000130000001300000005
+:106F400013000000130000001300000013000000F5
+:106F500013000000130000001300000013000000E5
+:106F600013000000130000001300000013000000D5
+:106F700013000000130000001300000013000000C5
+:106F800013000000130000001300000013000000B5
+:106F900013000000130000001300000013000000A5
+:106FA0001300000013000000130000001300000095
+:106FB0001300000013000000130000001300000085
+:106FC0001300000013000000130000001300000075
+:106FD0001300000013000000130000001300000065
+:106FE0001300000013000000130000001300000055
+:106FF0001300000013000000130000001300000045
+:10700000202122232425262728292A2B2C2D2E2F08
+:107010001300000013000000130000001300000024
+:107020001300000013000000130000001300000014
+:107030001300000013000000130000001300000004
+:1070400013000000130000001300000013000000F4
+:1070500013000000130000001300000013000000E4
+:1070600013000000130000001300000013000000D4
+:1070700013000000130000001300000013000000C4
+:1070800013000000130000001300000013000000B4
+:1070900013000000130000001300000013000000A4
+:1070A0001300000013000000130000001300000094
+:1070B0001300000013000000130000001300000084
+:1070C0001300000013000000130000001300000074
+:1070D0001300000013000000130000001300000064
+:1070E0001300000013000000130000001300000054
+:1070F0001300000013000000130000001300000044
+:107100001300000013000000130000001300000033
+:107110001300000013000000130000001300000023
+:107120001300000013000000130000001300000013
+:107130001300000013000000130000001300000003
+:1071400013000000130000001300000013000000F3
+:1071500013000000130000001300000013000000E3
+:1071600013000000130000001300000013000000D3
+:1071700013000000130000001300000013000000C3
+:1071800013000000130000001300000013000000B3
+:1071900013000000130000001300000013000000A3
+:1071A0001300000013000000130000001300000093
+:1071B0001300000013000000130000001300000083
+:1071C0001300000013000000130000001300000073
+:1071D0001300000013000000130000001300000063
+:1071E0001300000013000000130000001300000053
+:1071F0001300000013000000130000001300000043
+:107200001300000013000000130000001300000032
+:107210001300000013000000130000001300000022
+:107220001300000013000000130000001300000012
+:107230001300000013000000130000001300000002
+:1072400013000000130000001300000013000000F2
+:1072500013000000130000001300000013000000E2
+:1072600013000000130000001300000013000000D2
+:1072700013000000130000001300000013000000C2
+:1072800013000000130000001300000013000000B2
+:1072900013000000130000001300000013000000A2
+:1072A0001300000013000000130000001300000092
+:1072B0001300000013000000130000001300000082
+:1072C0001300000013000000130000001300000072
+:1072D0001300000013000000130000001300000062
+:1072E0001300000013000000130000001300000052
+:1072F0001300000013000000130000001300000042
+:107300001300000013000000130000001300000031
+:107310001300000013000000130000001300000021
+:107320001300000013000000130000001300000011
+:107330001300000013000000130000001300000001
+:1073400013000000130000001300000013000000F1
+:1073500013000000130000001300000013000000E1
+:1073600013000000130000001300000013000000D1
+:1073700013000000130000001300000013000000C1
+:1073800013000000130000001300000013000000B1
+:1073900013000000130000001300000013000000A1
+:1073A0001300000013000000130000001300000091
+:1073B0001300000013000000130000001300000081
+:1073C0001300000013000000130000001300000071
+:1073D0001300000013000000130000001300000061
+:1073E0001300000013000000130000001300000051
+:1073F0001300000013000000130000001300000041
+:107400001300000013000000130000001300000030
+:107410001300000013000000130000001300000020
+:107420001300000013000000130000001300000010
+:107430001300000013000000130000001300000000
+:1074400013000000130000001300000013000000F0
+:1074500013000000130000001300000013000000E0
+:1074600013000000130000001300000013000000D0
+:1074700013000000130000001300000013000000C0
+:1074800013000000130000001300000013000000B0
+:1074900013000000130000001300000013000000A0
+:1074A0001300000013000000130000001300000090
+:1074B0001300000013000000130000001300000080
+:1074C0001300000013000000130000001300000070
+:1074D0001300000013000000130000001300000060
+:1074E0001300000013000000130000001300000050
+:1074F0001300000013000000130000001300000040
+:10750000130000001300000013000000130000002F
+:10751000130000001300000013000000130000001F
+:10752000130000001300000013000000130000000F
+:1075300013000000130000001300000013000000FF
+:1075400013000000130000001300000013000000EF
+:1075500013000000130000001300000013000000DF
+:1075600013000000130000001300000013000000CF
+:1075700013000000130000001300000013000000BF
+:1075800013000000130000001300000013000000AF
+:10759000130000001300000013000000130000009F
+:1075A000130000001300000013000000130000008F
+:1075B000130000001300000013000000130000007F
+:1075C000130000001300000013000000130000006F
+:1075D000130000001300000013000000130000005F
+:1075E000130000001300000013000000130000004F
+:1075F000130000001300000013000000130000003F
+:10760000130000001300000013000000130000002E
+:10761000130000001300000013000000130000001E
+:10762000130000001300000013000000130000000E
+:1076300013000000130000001300000013000000FE
+:1076400013000000130000001300000013000000EE
+:1076500013000000130000001300000013000000DE
+:1076600013000000130000001300000013000000CE
+:1076700013000000130000001300000013000000BE
+:1076800013000000130000001300000013000000AE
+:10769000130000001300000013000000130000009E
+:1076A000130000001300000013000000130000008E
+:1076B000130000001300000013000000130000007E
+:1076C000130000001300000013000000130000006E
+:1076D000130000001300000013000000130000005E
+:1076E000130000001300000013000000130000004E
+:1076F000130000001300000013000000130000003E
+:10770000130000001300000013000000130000002D
+:10771000130000001300000013000000130000001D
+:10772000130000001300000013000000130000000D
+:1077300013000000130000001300000013000000FD
+:1077400013000000130000001300000013000000ED
+:1077500013000000130000001300000013000000DD
+:1077600013000000130000001300000013000000CD
+:1077700013000000130000001300000013000000BD
+:1077800013000000130000001300000013000000AD
+:10779000130000001300000013000000130000009D
+:1077A000130000001300000013000000130000008D
+:1077B000130000001300000013000000130000007D
+:1077C000130000001300000013000000130000006D
+:1077D000130000001300000013000000130000005D
+:1077E000130000001300000013000000130000004D
+:1077F000130000001300000013000000130000003D
+:10780000130000001300000013000000130000002C
+:10781000130000001300000013000000130000001C
+:10782000130000001300000013000000130000000C
+:1078300013000000130000001300000013000000FC
+:1078400013000000130000001300000013000000EC
+:1078500013000000130000001300000013000000DC
+:1078600013000000130000001300000013000000CC
+:1078700013000000130000001300000013000000BC
+:1078800013000000130000001300000013000000AC
+:10789000130000001300000013000000130000009C
+:1078A000130000001300000013000000130000008C
+:1078B000130000001300000013000000130000007C
+:1078C000130000001300000013000000130000006C
+:1078D000130000001300000013000000130000005C
+:1078E000130000001300000013000000130000004C
+:1078F000130000001300000013000000130000003C
+:10790000130000001300000013000000130000002B
+:10791000130000001300000013000000130000001B
+:10792000130000001300000013000000130000000B
+:1079300013000000130000001300000013000000FB
+:1079400013000000130000001300000013000000EB
+:1079500013000000130000001300000013000000DB
+:1079600013000000130000001300000013000000CB
+:1079700013000000130000001300000013000000BB
+:1079800013000000130000001300000013000000AB
+:10799000130000001300000013000000130000009B
+:1079A000130000001300000013000000130000008B
+:1079B000130000001300000013000000130000007B
+:1079C000130000001300000013000000130000006B
+:1079D000130000001300000013000000130000005B
+:1079E000130000001300000013000000130000004B
+:1079F000130000001300000013000000130000003B
+:107A0000130000001300000013000000130000002A
+:107A1000130000001300000013000000130000001A
+:107A2000130000001300000013000000130000000A
+:107A300013000000130000001300000013000000FA
+:107A400013000000130000001300000013000000EA
+:107A500013000000130000001300000013000000DA
+:107A600013000000130000001300000013000000CA
+:107A700013000000130000001300000013000000BA
+:107A800013000000130000001300000013000000AA
+:107A9000130000001300000013000000130000009A
+:107AA000130000001300000013000000130000008A
+:107AB000130000001300000013000000130000007A
+:107AC000130000001300000013000000130000006A
+:107AD000130000001300000013000000130000005A
+:107AE000130000001300000013000000130000004A
+:107AF000130000001300000013000000130000003A
+:107B00001300000013000000130000001300000029
+:107B10001300000013000000130000001300000019
+:107B20001300000013000000130000001300000009
+:107B300013000000130000001300000013000000F9
+:107B400013000000130000001300000013000000E9
+:107B500013000000130000001300000013000000D9
+:107B600013000000130000001300000013000000C9
+:107B700013000000130000001300000013000000B9
+:107B800013000000130000001300000013000000A9
+:107B90001300000013000000130000001300000099
+:107BA0001300000013000000130000001300000089
+:107BB0001300000013000000130000001300000079
+:107BC0001300000013000000130000001300000069
+:107BD0001300000013000000130000001300000059
+:107BE0001300000013000000130000001300000049
+:107BF0001300000013000000130000001300000039
+:107C00001300000013000000130000001300000028
+:107C10001300000013000000130000001300000018
+:107C20001300000013000000130000001300000008
+:107C300013000000130000001300000013000000F8
+:107C400013000000130000001300000013000000E8
+:107C500013000000130000001300000013000000D8
+:107C600013000000130000001300000013000000C8
+:107C700013000000130000001300000013000000B8
+:107C800013000000130000001300000013000000A8
+:107C90001300000013000000130000001300000098
+:107CA0001300000013000000130000001300000088
+:107CB0001300000013000000130000001300000078
+:107CC0001300000013000000130000001300000068
+:107CD0001300000013000000130000001300000058
+:107CE0001300000013000000130000001300000048
+:107CF0001300000013000000130000001300000038
+:107D00001300000013000000130000001300000027
+:107D10001300000013000000130000001300000017
+:107D20001300000013000000130000001300000007
+:107D300013000000130000001300000013000000F7
+:107D400013000000130000001300000013000000E7
+:107D500013000000130000001300000013000000D7
+:107D600013000000130000001300000013000000C7
+:107D700013000000130000001300000013000000B7
+:107D800013000000130000001300000013000000A7
+:107D90001300000013000000130000001300000097
+:107DA0001300000013000000130000001300000087
+:107DB0001300000013000000130000001300000077
+:107DC0001300000013000000130000001300000067
+:107DD0001300000013000000130000001300000057
+:107DE0001300000013000000130000001300000047
+:107DF0001300000013000000130000001300000037
+:107E00001300000013000000130000001300000026
+:107E10001300000013000000130000001300000016
+:107E20001300000013000000130000001300000006
+:107E300013000000130000001300000013000000F6
+:107E400013000000130000001300000013000000E6
+:107E500013000000130000001300000013000000D6
+:107E600013000000130000001300000013000000C6
+:107E700013000000130000001300000013000000B6
+:107E800013000000130000001300000013000000A6
+:107E90001300000013000000130000001300000096
+:107EA0001300000013000000130000001300000086
+:107EB0001300000013000000130000001300000076
+:107EC0001300000013000000130000001300000066
+:107ED0001300000013000000130000001300000056
+:107EE0001300000013000000130000001300000046
+:107EF0001300000013000000130000001300000036
+:107F00001300000013000000130000001300000025
+:107F10001300000013000000130000001300000015
+:107F20001300000013000000130000001300000005
+:107F300013000000130000001300000013000000F5
+:107F400013000000130000001300000013000000E5
+:107F500013000000130000001300000013000000D5
+:107F600013000000130000001300000013000000C5
+:107F700013000000130000001300000013000000B5
+:107F800013000000130000001300000013000000A5
+:107F90001300000013000000130000001300000095
+:107FA0001300000013000000130000001300000085
+:107FB0001300000013000000130000001300000075
+:107FC0001300000013000000130000001300000065
+:107FD0001300000013000000130000001300000055
+:107FE0001300000013000000130000001300000045
+:107FF0001300000013000000130000001300000035
+:10800000303132333435363738393A3B3C3D3E3FF8
+:108010001300000013000000130000001300000014
+:108020001300000013000000130000001300000004
+:1080300013000000130000001300000013000000F4
+:1080400013000000130000001300000013000000E4
+:1080500013000000130000001300000013000000D4
+:1080600013000000130000001300000013000000C4
+:1080700013000000130000001300000013000000B4
+:1080800013000000130000001300000013000000A4
+:108090001300000013000000130000001300000094
+:1080A0001300000013000000130000001300000084
+:1080B0001300000013000000130000001300000074
+:1080C0001300000013000000130000001300000064
+:1080D0001300000013000000130000001300000054
+:1080E0001300000013000000130000001300000044
+:1080F0001300000013000000130000001300000034
+:108100001300000013000000130000001300000023
+:108110001300000013000000130000001300000013
+:108120001300000013000000130000001300000003
+:1081300013000000130000001300000013000000F3
+:1081400013000000130000001300000013000000E3
+:1081500013000000130000001300000013000000D3
+:1081600013000000130000001300000013000000C3
+:1081700013000000130000001300000013000000B3
+:1081800013000000130000001300000013000000A3
+:108190001300000013000000130000001300000093
+:1081A0001300000013000000130000001300000083
+:1081B0001300000013000000130000001300000073
+:1081C0001300000013000000130000001300000063
+:1081D0001300000013000000130000001300000053
+:1081E0001300000013000000130000001300000043
+:1081F0001300000013000000130000001300000033
+:108200001300000013000000130000001300000022
+:108210001300000013000000130000001300000012
+:108220001300000013000000130000001300000002
+:1082300013000000130000001300000013000000F2
+:1082400013000000130000001300000013000000E2
+:1082500013000000130000001300000013000000D2
+:1082600013000000130000001300000013000000C2
+:1082700013000000130000001300000013000000B2
+:1082800013000000130000001300000013000000A2
+:108290001300000013000000130000001300000092
+:1082A0001300000013000000130000001300000082
+:1082B0001300000013000000130000001300000072
+:1082C0001300000013000000130000001300000062
+:1082D0001300000013000000130000001300000052
+:1082E0001300000013000000130000001300000042
+:1082F0001300000013000000130000001300000032
+:108300001300000013000000130000001300000021
+:108310001300000013000000130000001300000011
+:108320001300000013000000130000001300000001
+:1083300013000000130000001300000013000000F1
+:1083400013000000130000001300000013000000E1
+:1083500013000000130000001300000013000000D1
+:1083600013000000130000001300000013000000C1
+:1083700013000000130000001300000013000000B1
+:1083800013000000130000001300000013000000A1
+:108390001300000013000000130000001300000091
+:1083A0001300000013000000130000001300000081
+:1083B0001300000013000000130000001300000071
+:1083C0001300000013000000130000001300000061
+:1083D0001300000013000000130000001300000051
+:1083E0001300000013000000130000001300000041
+:1083F0001300000013000000130000001300000031
+:108400001300000013000000130000001300000020
+:108410001300000013000000130000001300000010
+:108420001300000013000000130000001300000000
+:1084300013000000130000001300000013000000F0
+:1084400013000000130000001300000013000000E0
+:1084500013000000130000001300000013000000D0
+:1084600013000000130000001300000013000000C0
+:1084700013000000130000001300000013000000B0
+:1084800013000000130000001300000013000000A0
+:108490001300000013000000130000001300000090
+:1084A0001300000013000000130000001300000080
+:1084B0001300000013000000130000001300000070
+:1084C0001300000013000000130000001300000060
+:1084D0001300000013000000130000001300000050
+:1084E0001300000013000000130000001300000040
+:1084F0001300000013000000130000001300000030
+:10850000130000001300000013000000130000001F
+:10851000130000001300000013000000130000000F
+:1085200013000000130000001300000013000000FF
+:1085300013000000130000001300000013000000EF
+:1085400013000000130000001300000013000000DF
+:1085500013000000130000001300000013000000CF
+:1085600013000000130000001300000013000000BF
+:1085700013000000130000001300000013000000AF
+:10858000130000001300000013000000130000009F
+:10859000130000001300000013000000130000008F
+:1085A000130000001300000013000000130000007F
+:1085B000130000001300000013000000130000006F
+:1085C000130000001300000013000000130000005F
+:1085D000130000001300000013000000130000004F
+:1085E000130000001300000013000000130000003F
+:1085F000130000001300000013000000130000002F
+:10860000130000001300000013000000130000001E
+:10861000130000001300000013000000130000000E
+:1086200013000000130000001300000013000000FE
+:1086300013000000130000001300000013000000EE
+:1086400013000000130000001300000013000000DE
+:1086500013000000130000001300000013000000CE
+:1086600013000000130000001300000013000000BE
+:1086700013000000130000001300000013000000AE
+:10868000130000001300000013000000130000009E
+:10869000130000001300000013000000130000008E
+:1086A000130000001300000013000000130000007E
+:1086B000130000001300000013000000130000006E
+:1086C000130000001300000013000000130000005E
+:1086D000130000001300000013000000130000004E
+:1086E000130000001300000013000000130000003E
+:1086F000130000001300000013000000130000002E
+:10870000130000001300000013000000130000001D
+:10871000130000001300000013000000130000000D
+:1087200013000000130000001300000013000000FD
+:1087300013000000130000001300000013000000ED
+:1087400013000000130000001300000013000000DD
+:1087500013000000130000001300000013000000CD
+:1087600013000000130000001300000013000000BD
+:1087700013000000130000001300000013000000AD
+:10878000130000001300000013000000130000009D
+:10879000130000001300000013000000130000008D
+:1087A000130000001300000013000000130000007D
+:1087B000130000001300000013000000130000006D
+:1087C000130000001300000013000000130000005D
+:1087D000130000001300000013000000130000004D
+:1087E000130000001300000013000000130000003D
+:1087F000130000001300000013000000130000002D
+:10880000130000001300000013000000130000001C
+:10881000130000001300000013000000130000000C
+:1088200013000000130000001300000013000000FC
+:1088300013000000130000001300000013000000EC
+:1088400013000000130000001300000013000000DC
+:1088500013000000130000001300000013000000CC
+:1088600013000000130000001300000013000000BC
+:1088700013000000130000001300000013000000AC
+:10888000130000001300000013000000130000009C
+:10889000130000001300000013000000130000008C
+:1088A000130000001300000013000000130000007C
+:1088B000130000001300000013000000130000006C
+:1088C000130000001300000013000000130000005C
+:1088D000130000001300000013000000130000004C
+:1088E000130000001300000013000000130000003C
+:1088F000130000001300000013000000130000002C
+:10890000130000001300000013000000130000001B
+:10891000130000001300000013000000130000000B
+:1089200013000000130000001300000013000000FB
+:1089300013000000130000001300000013000000EB
+:1089400013000000130000001300000013000000DB
+:1089500013000000130000001300000013000000CB
+:1089600013000000130000001300000013000000BB
+:1089700013000000130000001300000013000000AB
+:10898000130000001300000013000000130000009B
+:10899000130000001300000013000000130000008B
+:1089A000130000001300000013000000130000007B
+:1089B000130000001300000013000000130000006B
+:1089C000130000001300000013000000130000005B
+:1089D000130000001300000013000000130000004B
+:1089E000130000001300000013000000130000003B
+:1089F000130000001300000013000000130000002B
+:108A0000130000001300000013000000130000001A
+:108A1000130000001300000013000000130000000A
+:108A200013000000130000001300000013000000FA
+:108A300013000000130000001300000013000000EA
+:108A400013000000130000001300000013000000DA
+:108A500013000000130000001300000013000000CA
+:108A600013000000130000001300000013000000BA
+:108A700013000000130000001300000013000000AA
+:108A8000130000001300000013000000130000009A
+:108A9000130000001300000013000000130000008A
+:108AA000130000001300000013000000130000007A
+:108AB000130000001300000013000000130000006A
+:108AC000130000001300000013000000130000005A
+:108AD000130000001300000013000000130000004A
+:108AE000130000001300000013000000130000003A
+:108AF000130000001300000013000000130000002A
+:108B00001300000013000000130000001300000019
+:108B10001300000013000000130000001300000009
+:108B200013000000130000001300000013000000F9
+:108B300013000000130000001300000013000000E9
+:108B400013000000130000001300000013000000D9
+:108B500013000000130000001300000013000000C9
+:108B600013000000130000001300000013000000B9
+:108B700013000000130000001300000013000000A9
+:108B80001300000013000000130000001300000099
+:108B90001300000013000000130000001300000089
+:108BA0001300000013000000130000001300000079
+:108BB0001300000013000000130000001300000069
+:108BC0001300000013000000130000001300000059
+:108BD0001300000013000000130000001300000049
+:108BE0001300000013000000130000001300000039
+:108BF0001300000013000000130000001300000029
+:108C00001300000013000000130000001300000018
+:108C10001300000013000000130000001300000008
+:108C200013000000130000001300000013000000F8
+:108C300013000000130000001300000013000000E8
+:108C400013000000130000001300000013000000D8
+:108C500013000000130000001300000013000000C8
+:108C600013000000130000001300000013000000B8
+:108C700013000000130000001300000013000000A8
+:108C80001300000013000000130000001300000098
+:108C90001300000013000000130000001300000088
+:108CA0001300000013000000130000001300000078
+:108CB0001300000013000000130000001300000068
+:108CC0001300000013000000130000001300000058
+:108CD0001300000013000000130000001300000048
+:108CE0001300000013000000130000001300000038
+:108CF0001300000013000000130000001300000028
+:108D00001300000013000000130000001300000017
+:108D10001300000013000000130000001300000007
+:108D200013000000130000001300000013000000F7
+:108D300013000000130000001300000013000000E7
+:108D400013000000130000001300000013000000D7
+:108D500013000000130000001300000013000000C7
+:108D600013000000130000001300000013000000B7
+:108D700013000000130000001300000013000000A7
+:108D80001300000013000000130000001300000097
+:108D90001300000013000000130000001300000087
+:108DA0001300000013000000130000001300000077
+:108DB0001300000013000000130000001300000067
+:108DC0001300000013000000130000001300000057
+:108DD0001300000013000000130000001300000047
+:108DE0001300000013000000130000001300000037
+:108DF0001300000013000000130000001300000027
+:108E00001300000013000000130000001300000016
+:108E10001300000013000000130000001300000006
+:108E200013000000130000001300000013000000F6
+:108E300013000000130000001300000013000000E6
+:108E400013000000130000001300000013000000D6
+:108E500013000000130000001300000013000000C6
+:108E600013000000130000001300000013000000B6
+:108E700013000000130000001300000013000000A6
+:108E80001300000013000000130000001300000096
+:108E90001300000013000000130000001300000086
+:108EA0001300000013000000130000001300000076
+:108EB0001300000013000000130000001300000066
+:108EC0001300000013000000130000001300000056
+:108ED0001300000013000000130000001300000046
+:108EE0001300000013000000130000001300000036
+:108EF0001300000013000000130000001300000026
+:108F00001300000013000000130000001300000015
+:108F10001300000013000000130000001300000005
+:108F200013000000130000001300000013000000F5
+:108F300013000000130000001300000013000000E5
+:108F400013000000130000001300000013000000D5
+:108F500013000000130000001300000013000000C5
+:108F600013000000130000001300000013000000B5
+:108F700013000000130000001300000013000000A5
+:108F80001300000013000000130000001300000095
+:108F90001300000013000000130000001300000085
+:108FA0001300000013000000130000001300000075
+:108FB0001300000013000000130000001300000065
+:108FC0001300000013000000130000001300000055
+:108FD0001300000013000000130000001300000045
+:108FE0001300000013000000130000001300000035
+:108FF0001300000013000000130000001300000025
+:10900000404142434445464748494A4B4C4D4E4FE8
+:109010001300000013000000130000001300000004
+:1090200013000000130000001300000013000000F4
+:1090300013000000130000001300000013000000E4
+:1090400013000000130000001300000013000000D4
+:1090500013000000130000001300000013000000C4
+:1090600013000000130000001300000013000000B4
+:1090700013000000130000001300000013000000A4
+:109080001300000013000000130000001300000094
+:109090001300000013000000130000001300000084
+:1090A0001300000013000000130000001300000074
+:1090B0001300000013000000130000001300000064
+:1090C0001300000013000000130000001300000054
+:1090D0001300000013000000130000001300000044
+:1090E0001300000013000000130000001300000034
+:1090F0001300000013000000130000001300000024
+:109100001300000013000000130000001300000013
+:109110001300000013000000130000001300000003
+:1091200013000000130000001300000013000000F3
+:1091300013000000130000001300000013000000E3
+:1091400013000000130000001300000013000000D3
+:1091500013000000130000001300000013000000C3
+:1091600013000000130000001300000013000000B3
+:1091700013000000130000001300000013000000A3
+:109180001300000013000000130000001300000093
+:109190001300000013000000130000001300000083
+:1091A0001300000013000000130000001300000073
+:1091B0001300000013000000130000001300000063
+:1091C0001300000013000000130000001300000053
+:1091D0001300000013000000130000001300000043
+:1091E0001300000013000000130000001300000033
+:1091F0001300000013000000130000001300000023
+:109200001300000013000000130000001300000012
+:109210001300000013000000130000001300000002
+:1092200013000000130000001300000013000000F2
+:1092300013000000130000001300000013000000E2
+:1092400013000000130000001300000013000000D2
+:1092500013000000130000001300000013000000C2
+:1092600013000000130000001300000013000000B2
+:1092700013000000130000001300000013000000A2
+:109280001300000013000000130000001300000092
+:109290001300000013000000130000001300000082
+:1092A0001300000013000000130000001300000072
+:1092B0001300000013000000130000001300000062
+:1092C0001300000013000000130000001300000052
+:1092D0001300000013000000130000001300000042
+:1092E0001300000013000000130000001300000032
+:1092F0001300000013000000130000001300000022
+:109300001300000013000000130000001300000011
+:109310001300000013000000130000001300000001
+:1093200013000000130000001300000013000000F1
+:1093300013000000130000001300000013000000E1
+:1093400013000000130000001300000013000000D1
+:1093500013000000130000001300000013000000C1
+:1093600013000000130000001300000013000000B1
+:1093700013000000130000001300000013000000A1
+:109380001300000013000000130000001300000091
+:109390001300000013000000130000001300000081
+:1093A0001300000013000000130000001300000071
+:1093B0001300000013000000130000001300000061
+:1093C0001300000013000000130000001300000051
+:1093D0001300000013000000130000001300000041
+:1093E0001300000013000000130000001300000031
+:1093F0001300000013000000130000001300000021
+:109400001300000013000000130000001300000010
+:109410001300000013000000130000001300000000
+:1094200013000000130000001300000013000000F0
+:1094300013000000130000001300000013000000E0
+:1094400013000000130000001300000013000000D0
+:1094500013000000130000001300000013000000C0
+:1094600013000000130000001300000013000000B0
+:1094700013000000130000001300000013000000A0
+:109480001300000013000000130000001300000090
+:109490001300000013000000130000001300000080
+:1094A0001300000013000000130000001300000070
+:1094B0001300000013000000130000001300000060
+:1094C0001300000013000000130000001300000050
+:1094D0001300000013000000130000001300000040
+:1094E0001300000013000000130000001300000030
+:1094F0001300000013000000130000001300000020
+:10950000130000001300000013000000130000000F
+:1095100013000000130000001300000013000000FF
+:1095200013000000130000001300000013000000EF
+:1095300013000000130000001300000013000000DF
+:1095400013000000130000001300000013000000CF
+:1095500013000000130000001300000013000000BF
+:1095600013000000130000001300000013000000AF
+:10957000130000001300000013000000130000009F
+:10958000130000001300000013000000130000008F
+:10959000130000001300000013000000130000007F
+:1095A000130000001300000013000000130000006F
+:1095B000130000001300000013000000130000005F
+:1095C000130000001300000013000000130000004F
+:1095D000130000001300000013000000130000003F
+:1095E000130000001300000013000000130000002F
+:1095F000130000001300000013000000130000001F
+:10960000130000001300000013000000130000000E
+:1096100013000000130000001300000013000000FE
+:1096200013000000130000001300000013000000EE
+:1096300013000000130000001300000013000000DE
+:1096400013000000130000001300000013000000CE
+:1096500013000000130000001300000013000000BE
+:1096600013000000130000001300000013000000AE
+:10967000130000001300000013000000130000009E
+:10968000130000001300000013000000130000008E
+:10969000130000001300000013000000130000007E
+:1096A000130000001300000013000000130000006E
+:1096B000130000001300000013000000130000005E
+:1096C000130000001300000013000000130000004E
+:1096D000130000001300000013000000130000003E
+:1096E000130000001300000013000000130000002E
+:1096F000130000001300000013000000130000001E
+:10970000130000001300000013000000130000000D
+:1097100013000000130000001300000013000000FD
+:1097200013000000130000001300000013000000ED
+:1097300013000000130000001300000013000000DD
+:1097400013000000130000001300000013000000CD
+:1097500013000000130000001300000013000000BD
+:1097600013000000130000001300000013000000AD
+:10977000130000001300000013000000130000009D
+:10978000130000001300000013000000130000008D
+:10979000130000001300000013000000130000007D
+:1097A000130000001300000013000000130000006D
+:1097B000130000001300000013000000130000005D
+:1097C000130000001300000013000000130000004D
+:1097D000130000001300000013000000130000003D
+:1097E000130000001300000013000000130000002D
+:1097F000130000001300000013000000130000001D
+:10980000130000001300000013000000130000000C
+:1098100013000000130000001300000013000000FC
+:1098200013000000130000001300000013000000EC
+:1098300013000000130000001300000013000000DC
+:1098400013000000130000001300000013000000CC
+:1098500013000000130000001300000013000000BC
+:1098600013000000130000001300000013000000AC
+:10987000130000001300000013000000130000009C
+:10988000130000001300000013000000130000008C
+:10989000130000001300000013000000130000007C
+:1098A000130000001300000013000000130000006C
+:1098B000130000001300000013000000130000005C
+:1098C000130000001300000013000000130000004C
+:1098D000130000001300000013000000130000003C
+:1098E000130000001300000013000000130000002C
+:1098F000130000001300000013000000130000001C
+:10990000130000001300000013000000130000000B
+:1099100013000000130000001300000013000000FB
+:1099200013000000130000001300000013000000EB
+:1099300013000000130000001300000013000000DB
+:1099400013000000130000001300000013000000CB
+:1099500013000000130000001300000013000000BB
+:1099600013000000130000001300000013000000AB
+:10997000130000001300000013000000130000009B
+:10998000130000001300000013000000130000008B
+:10999000130000001300000013000000130000007B
+:1099A000130000001300000013000000130000006B
+:1099B000130000001300000013000000130000005B
+:1099C000130000001300000013000000130000004B
+:1099D000130000001300000013000000130000003B
+:1099E000130000001300000013000000130000002B
+:1099F000130000001300000013000000130000001B
+:109A0000130000001300000013000000130000000A
+:109A100013000000130000001300000013000000FA
+:109A200013000000130000001300000013000000EA
+:109A300013000000130000001300000013000000DA
+:109A400013000000130000001300000013000000CA
+:109A500013000000130000001300000013000000BA
+:109A600013000000130000001300000013000000AA
+:109A7000130000001300000013000000130000009A
+:109A8000130000001300000013000000130000008A
+:109A9000130000001300000013000000130000007A
+:109AA000130000001300000013000000130000006A
+:109AB000130000001300000013000000130000005A
+:109AC000130000001300000013000000130000004A
+:109AD000130000001300000013000000130000003A
+:109AE000130000001300000013000000130000002A
+:109AF000130000001300000013000000130000001A
+:109B00001300000013000000130000001300000009
+:109B100013000000130000001300000013000000F9
+:109B200013000000130000001300000013000000E9
+:109B300013000000130000001300000013000000D9
+:109B400013000000130000001300000013000000C9
+:109B500013000000130000001300000013000000B9
+:109B600013000000130000001300000013000000A9
+:109B70001300000013000000130000001300000099
+:109B80001300000013000000130000001300000089
+:109B90001300000013000000130000001300000079
+:109BA0001300000013000000130000001300000069
+:109BB0001300000013000000130000001300000059
+:109BC0001300000013000000130000001300000049
+:109BD0001300000013000000130000001300000039
+:109BE0001300000013000000130000001300000029
+:109BF0001300000013000000130000001300000019
+:109C00001300000013000000130000001300000008
+:109C100013000000130000001300000013000000F8
+:109C200013000000130000001300000013000000E8
+:109C300013000000130000001300000013000000D8
+:109C400013000000130000001300000013000000C8
+:109C500013000000130000001300000013000000B8
+:109C600013000000130000001300000013000000A8
+:109C70001300000013000000130000001300000098
+:109C80001300000013000000130000001300000088
+:109C90001300000013000000130000001300000078
+:109CA0001300000013000000130000001300000068
+:109CB0001300000013000000130000001300000058
+:109CC0001300000013000000130000001300000048
+:109CD0001300000013000000130000001300000038
+:109CE0001300000013000000130000001300000028
+:109CF0001300000013000000130000001300000018
+:109D00001300000013000000130000001300000007
+:109D100013000000130000001300000013000000F7
+:109D200013000000130000001300000013000000E7
+:109D300013000000130000001300000013000000D7
+:109D400013000000130000001300000013000000C7
+:109D500013000000130000001300000013000000B7
+:109D600013000000130000001300000013000000A7
+:109D70001300000013000000130000001300000097
+:109D80001300000013000000130000001300000087
+:109D90001300000013000000130000001300000077
+:109DA0001300000013000000130000001300000067
+:109DB0001300000013000000130000001300000057
+:109DC0001300000013000000130000001300000047
+:109DD0001300000013000000130000001300000037
+:109DE0001300000013000000130000001300000027
+:109DF0001300000013000000130000001300000017
+:109E00001300000013000000130000001300000006
+:109E100013000000130000001300000013000000F6
+:109E200013000000130000001300000013000000E6
+:109E300013000000130000001300000013000000D6
+:109E400013000000130000001300000013000000C6
+:109E500013000000130000001300000013000000B6
+:109E600013000000130000001300000013000000A6
+:109E70001300000013000000130000001300000096
+:109E80001300000013000000130000001300000086
+:109E90001300000013000000130000001300000076
+:109EA0001300000013000000130000001300000066
+:109EB0001300000013000000130000001300000056
+:109EC0001300000013000000130000001300000046
+:109ED0001300000013000000130000001300000036
+:109EE0001300000013000000130000001300000026
+:109EF0001300000013000000130000001300000016
+:109F00001300000013000000130000001300000005
+:109F100013000000130000001300000013000000F5
+:109F200013000000130000001300000013000000E5
+:109F300013000000130000001300000013000000D5
+:109F400013000000130000001300000013000000C5
+:109F500013000000130000001300000013000000B5
+:109F600013000000130000001300000013000000A5
+:109F70001300000013000000130000001300000095
+:109F80001300000013000000130000001300000085
+:109F90001300000013000000130000001300000075
+:109FA0001300000013000000130000001300000065
+:109FB0001300000013000000130000001300000055
+:109FC0001300000013000000130000001300000045
+:109FD0001300000013000000130000001300000035
+:109FE0001300000013000000130000001300000025
+:109FF0001300000013000000130000001300000015
+:10A00000505152535455565758595A5B5C5D5E5FD8
+:10A010006780000013000000130000001300000020
+:10A0200013000000130000001300000013000000E4
+:10A0300013000000130000001300000013000000D4
+:10A0400013000000130000001300000013000000C4
+:10A0500013000000130000001300000013000000B4
+:10A0600013000000130000001300000013000000A4
+:10A070001300000013000000130000001300000094
+:10A080001300000013000000130000001300000084
+:10A090001300000013000000130000001300000074
+:10A0A0001300000013000000130000001300000064
+:10A0B0001300000013000000130000001300000054
+:10A0C0001300000013000000130000001300000044
+:10A0D0001300000013000000130000001300000034
+:10A0E0001300000013000000130000001300000024
+:10A0F0001300000013000000130000001300000014
+:10A100001300000013000000130000001300000003
+:10A1100013000000130000001300000013000000F3
+:10A1200013000000130000001300000013000000E3
+:10A1300013000000130000001300000013000000D3
+:10A1400013000000130000001300000013000000C3
+:10A1500013000000130000001300000013000000B3
+:10A1600013000000130000001300000013000000A3
+:10A170001300000013000000130000001300000093
+:10A180001300000013000000130000001300000083
+:10A190001300000013000000130000001300000073
+:10A1A0001300000013000000130000001300000063
+:10A1B0001300000013000000130000001300000053
+:10A1C0001300000013000000130000001300000043
+:10A1D0001300000013000000130000001300000033
+:10A1E0001300000013000000130000001300000023
+:10A1F0001300000013000000130000001300000013
+:10A200001300000013000000130000001300000002
+:10A2100013000000130000001300000013000000F2
+:10A2200013000000130000001300000013000000E2
+:10A2300013000000130000001300000013000000D2
+:10A2400013000000130000001300000013000000C2
+:10A2500013000000130000001300000013000000B2
+:10A2600013000000130000001300000013000000A2
+:10A270001300000013000000130000001300000092
+:10A280001300000013000000130000001300000082
+:10A290001300000013000000130000001300000072
+:10A2A0001300000013000000130000001300000062
+:10A2B0001300000013000000130000001300000052
+:10A2C0001300000013000000130000001300000042
+:10A2D0001300000013000000130000001300000032
+:10A2E0001300000013000000130000001300000022
+:10A2F0001300000013000000130000001300000012
+:10A300001300000013000000130000001300000001
+:10A3100013000000130000001300000013000000F1
+:10A3200013000000130000001300000013000000E1
+:10A3300013000000130000001300000013000000D1
+:10A3400013000000130000001300000013000000C1
+:10A3500013000000130000001300000013000000B1
+:10A3600013000000130000001300000013000000A1
+:10A370001300000013000000130000001300000091
+:10A380001300000013000000130000001300000081
+:10A390001300000013000000130000001300000071
+:10A3A0001300000013000000130000001300000061
+:10A3B0001300000013000000130000001300000051
+:10A3C0001300000013000000130000001300000041
+:10A3D0001300000013000000130000001300000031
+:10A3E0001300000013000000130000001300000021
+:10A3F0001300000013000000130000001300000011
+:10A400001300000013000000130000001300000000
+:10A4100013000000130000001300000013000000F0
+:10A4200013000000130000001300000013000000E0
+:10A4300013000000130000001300000013000000D0
+:10A4400013000000130000001300000013000000C0
+:10A4500013000000130000001300000013000000B0
+:10A4600013000000130000001300000013000000A0
+:10A470001300000013000000130000001300000090
+:10A480001300000013000000130000001300000080
+:10A490001300000013000000130000001300000070
+:10A4A0001300000013000000130000001300000060
+:10A4B0001300000013000000130000001300000050
+:10A4C0001300000013000000130000001300000040
+:10A4D0001300000013000000130000001300000030
+:10A4E0001300000013000000130000001300000020
+:10A4F0001300000013000000130000001300000010
+:10A5000013000000130000001300000013000000FF
+:10A5100013000000130000001300000013000000EF
+:10A5200013000000130000001300000013000000DF
+:10A5300013000000130000001300000013000000CF
+:10A5400013000000130000001300000013000000BF
+:10A5500013000000130000001300000013000000AF
+:10A56000130000001300000013000000130000009F
+:10A57000130000001300000013000000130000008F
+:10A58000130000001300000013000000130000007F
+:10A59000130000001300000013000000130000006F
+:10A5A000130000001300000013000000130000005F
+:10A5B000130000001300000013000000130000004F
+:10A5C000130000001300000013000000130000003F
+:10A5D000130000001300000013000000130000002F
+:10A5E000130000001300000013000000130000001F
+:10A5F000130000001300000013000000130000000F
+:10A6000013000000130000001300000013000000FE
+:10A6100013000000130000001300000013000000EE
+:10A6200013000000130000001300000013000000DE
+:10A6300013000000130000001300000013000000CE
+:10A6400013000000130000001300000013000000BE
+:10A6500013000000130000001300000013000000AE
+:10A66000130000001300000013000000130000009E
+:10A67000130000001300000013000000130000008E
+:10A68000130000001300000013000000130000007E
+:10A69000130000001300000013000000130000006E
+:10A6A000130000001300000013000000130000005E
+:10A6B000130000001300000013000000130000004E
+:10A6C000130000001300000013000000130000003E
+:10A6D000130000001300000013000000130000002E
+:10A6E000130000001300000013000000130000001E
+:10A6F000130000001300000013000000130000000E
+:10A7000013000000130000001300000013000000FD
+:10A7100013000000130000001300000013000000ED
+:10A7200013000000130000001300000013000000DD
+:10A7300013000000130000001300000013000000CD
+:10A7400013000000130000001300000013000000BD
+:10A7500013000000130000001300000013000000AD
+:10A76000130000001300000013000000130000009D
+:10A77000130000001300000013000000130000008D
+:10A78000130000001300000013000000130000007D
+:10A79000130000001300000013000000130000006D
+:10A7A000130000001300000013000000130000005D
+:10A7B000130000001300000013000000130000004D
+:10A7C000130000001300000013000000130000003D
+:10A7D000130000001300000013000000130000002D
+:10A7E000130000001300000013000000130000001D
+:10A7F000130000001300000013000000130000000D
+:10A8000013000000130000001300000013000000FC
+:10A8100013000000130000001300000013000000EC
+:10A8200013000000130000001300000013000000DC
+:10A8300013000000130000001300000013000000CC
+:10A8400013000000130000001300000013000000BC
+:10A8500013000000130000001300000013000000AC
+:10A86000130000001300000013000000130000009C
+:10A87000130000001300000013000000130000008C
+:10A88000130000001300000013000000130000007C
+:10A89000130000001300000013000000130000006C
+:10A8A000130000001300000013000000130000005C
+:10A8B000130000001300000013000000130000004C
+:10A8C000130000001300000013000000130000003C
+:10A8D000130000001300000013000000130000002C
+:10A8E000130000001300000013000000130000001C
+:10A8F000130000001300000013000000130000000C
+:10A9000013000000130000001300000013000000FB
+:10A9100013000000130000001300000013000000EB
+:10A9200013000000130000001300000013000000DB
+:10A9300013000000130000001300000013000000CB
+:10A9400013000000130000001300000013000000BB
+:10A9500013000000130000001300000013000000AB
+:10A96000130000001300000013000000130000009B
+:10A97000130000001300000013000000130000008B
+:10A98000130000001300000013000000130000007B
+:10A99000130000001300000013000000130000006B
+:10A9A000130000001300000013000000130000005B
+:10A9B000130000001300000013000000130000004B
+:10A9C000130000001300000013000000130000003B
+:10A9D000130000001300000013000000130000002B
+:10A9E000130000001300000013000000130000001B
+:10A9F000130000001300000013000000130000000B
+:10AA000013000000130000001300000013000000FA
+:10AA100013000000130000001300000013000000EA
+:10AA200013000000130000001300000013000000DA
+:10AA300013000000130000001300000013000000CA
+:10AA400013000000130000001300000013000000BA
+:10AA500013000000130000001300000013000000AA
+:10AA6000130000001300000013000000130000009A
+:10AA7000130000001300000013000000130000008A
+:10AA8000130000001300000013000000130000007A
+:10AA9000130000001300000013000000130000006A
+:10AAA000130000001300000013000000130000005A
+:10AAB000130000001300000013000000130000004A
+:10AAC000130000001300000013000000130000003A
+:10AAD000130000001300000013000000130000002A
+:10AAE000130000001300000013000000130000001A
+:10AAF000130000001300000013000000130000000A
+:10AB000013000000130000001300000013000000F9
+:10AB100013000000130000001300000013000000E9
+:10AB200013000000130000001300000013000000D9
+:10AB300013000000130000001300000013000000C9
+:10AB400013000000130000001300000013000000B9
+:10AB500013000000130000001300000013000000A9
+:10AB60001300000013000000130000001300000099
+:10AB70001300000013000000130000001300000089
+:10AB80001300000013000000130000001300000079
+:10AB90001300000013000000130000001300000069
+:10ABA0001300000013000000130000001300000059
+:10ABB0001300000013000000130000001300000049
+:10ABC0001300000013000000130000001300000039
+:10ABD0001300000013000000130000001300000029
+:10ABE0001300000013000000130000001300000019
+:10ABF0001300000013000000130000001300000009
+:10AC000013000000130000001300000013000000F8
+:10AC100013000000130000001300000013000000E8
+:10AC200013000000130000001300000013000000D8
+:10AC300013000000130000001300000013000000C8
+:10AC400013000000130000001300000013000000B8
+:10AC500013000000130000001300000013000000A8
+:10AC60001300000013000000130000001300000098
+:10AC70001300000013000000130000001300000088
+:10AC80001300000013000000130000001300000078
+:10AC90001300000013000000130000001300000068
+:10ACA0001300000013000000130000001300000058
+:10ACB0001300000013000000130000001300000048
+:10ACC0001300000013000000130000001300000038
+:10ACD0001300000013000000130000001300000028
+:10ACE0001300000013000000130000001300000018
+:10ACF0001300000013000000130000001300000008
+:10AD000013000000130000001300000013000000F7
+:10AD100013000000130000001300000013000000E7
+:10AD200013000000130000001300000013000000D7
+:10AD300013000000130000001300000013000000C7
+:10AD400013000000130000001300000013000000B7
+:10AD500013000000130000001300000013000000A7
+:10AD60001300000013000000130000001300000097
+:10AD70001300000013000000130000001300000087
+:10AD80001300000013000000130000001300000077
+:10AD90001300000013000000130000001300000067
+:10ADA0001300000013000000130000001300000057
+:10ADB0001300000013000000130000001300000047
+:10ADC0001300000013000000130000001300000037
+:10ADD0001300000013000000130000001300000027
+:10ADE0001300000013000000130000001300000017
+:10ADF0001300000013000000130000001300000007
+:10AE000013000000130000001300000013000000F6
+:10AE100013000000130000001300000013000000E6
+:10AE200013000000130000001300000013000000D6
+:10AE300013000000130000001300000013000000C6
+:10AE400013000000130000001300000013000000B6
+:10AE500013000000130000001300000013000000A6
+:10AE60001300000013000000130000001300000096
+:10AE70001300000013000000130000001300000086
+:10AE80001300000013000000130000001300000076
+:10AE90001300000013000000130000001300000066
+:10AEA0001300000013000000130000001300000056
+:10AEB0001300000013000000130000001300000046
+:10AEC0001300000013000000130000001300000036
+:10AED0001300000013000000130000001300000026
+:10AEE0001300000013000000130000001300000016
+:10AEF0001300000013000000130000001300000006
+:10AF000013000000130000001300000013000000F5
+:10AF100013000000130000001300000013000000E5
+:10AF200013000000130000001300000013000000D5
+:10AF300013000000130000001300000013000000C5
+:10AF400013000000130000001300000013000000B5
+:10AF500013000000130000001300000013000000A5
+:10AF60001300000013000000130000001300000095
+:10AF70001300000013000000130000001300000085
+:10AF80001300000013000000130000001300000075
+:10AF90001300000013000000130000001300000065
+:10AFA0001300000013000000130000001300000055
+:10AFB0001300000013000000130000001300000045
+:10AFC0001300000013000000130000001300000035
+:10AFD0001300000013000000130000001300000025
+:10AFE0001300000013000000130000001300000015
+:10AFF0001300000013000000130000001300000005
+:10B00000606162636465666768696A6B6C6D6E6FC8
+:10B0100013000000130000001300000013000000E4
+:10B0200013000000130000001300000013000000D4
+:10B0300013000000130000001300000013000000C4
+:10B0400013000000130000001300000013000000B4
+:10B0500013000000130000001300000013000000A4
+:10B060001300000013000000130000001300000094
+:10B070001300000013000000130000001300000084
+:10B080001300000013000000130000001300000074
+:10B090001300000013000000130000001300000064
+:10B0A0001300000013000000130000001300000054
+:10B0B0001300000013000000130000001300000044
+:10B0C0001300000013000000130000001300000034
+:10B0D0001300000013000000130000001300000024
+:10B0E0001300000013000000130000001300000014
+:10B0F0001300000013000000130000001300000004
+:10B1000013000000130000001300000013000000F3
+:10B1100013000000130000001300000013000000E3
+:10B1200013000000130000001300000013000000D3
+:10B1300013000000130000001300000013000000C3
+:10B1400013000000130000001300000013000000B3
+:10B1500013000000130000001300000013000000A3
+:10B160001300000013000000130000001300000093
+:10B170001300000013000000130000001300000083
+:10B180001300000013000000130000001300000073
+:10B190001300000013000000130000001300000063
+:10B1A0001300000013000000130000001300000053
+:10B1B0001300000013000000130000001300000043
+:10B1C0001300000013000000130000001300000033
+:10B1D0001300000013000000130000001300000023
+:10B1E0001300000013000000130000001300000013
+:10B1F0001300000013000000130000001300000003
+:10B2000013000000130000001300000013000000F2
+:10B2100013000000130000001300000013000000E2
+:10B2200013000000130000001300000013000000D2
+:10B2300013000000130000001300000013000000C2
+:10B2400013000000130000001300000013000000B2
+:10B2500013000000130000001300000013000000A2
+:10B260001300000013000000130000001300000092
+:10B270001300000013000000130000001300000082
+:10B280001300000013000000130000001300000072
+:10B290001300000013000000130000001300000062
+:10B2A0001300000013000000130000001300000052
+:10B2B0001300000013000000130000001300000042
+:10B2C0001300000013000000130000001300000032
+:10B2D0001300000013000000130000001300000022
+:10B2E0001300000013000000130000001300000012
+:10B2F0001300000013000000130000001300000002
+:10B3000013000000130000001300000013000000F1
+:10B3100013000000130000001300000013000000E1
+:10B3200013000000130000001300000013000000D1
+:10B3300013000000130000001300000013000000C1
+:10B3400013000000130000001300000013000000B1
+:10B3500013000000130000001300000013000000A1
+:10B360001300000013000000130000001300000091
+:10B370001300000013000000130000001300000081
+:10B380001300000013000000130000001300000071
+:10B390001300000013000000130000001300000061
+:10B3A0001300000013000000130000001300000051
+:10B3B0001300000013000000130000001300000041
+:10B3C0001300000013000000130000001300000031
+:10B3D0001300000013000000130000001300000021
+:10B3E0001300000013000000130000001300000011
+:10B3F0001300000013000000130000001300000001
+:10B4000013000000130000001300000013000000F0
+:10B4100013000000130000001300000013000000E0
+:10B4200013000000130000001300000013000000D0
+:10B4300013000000130000001300000013000000C0
+:10B4400013000000130000001300000013000000B0
+:10B4500013000000130000001300000013000000A0
+:10B460001300000013000000130000001300000090
+:10B470001300000013000000130000001300000080
+:10B480001300000013000000130000001300000070
+:10B490001300000013000000130000001300000060
+:10B4A0001300000013000000130000001300000050
+:10B4B0001300000013000000130000001300000040
+:10B4C0001300000013000000130000001300000030
+:10B4D0001300000013000000130000001300000020
+:10B4E0001300000013000000130000001300000010
+:10B4F0001300000013000000130000001300000000
+:10B5000013000000130000001300000013000000EF
+:10B5100013000000130000001300000013000000DF
+:10B5200013000000130000001300000013000000CF
+:10B5300013000000130000001300000013000000BF
+:10B5400013000000130000001300000013000000AF
+:10B55000130000001300000013000000130000009F
+:10B56000130000001300000013000000130000008F
+:10B57000130000001300000013000000130000007F
+:10B58000130000001300000013000000130000006F
+:10B59000130000001300000013000000130000005F
+:10B5A000130000001300000013000000130000004F
+:10B5B000130000001300000013000000130000003F
+:10B5C000130000001300000013000000130000002F
+:10B5D000130000001300000013000000130000001F
+:10B5E000130000001300000013000000130000000F
+:10B5F00013000000130000001300000013000000FF
+:10B6000013000000130000001300000013000000EE
+:10B6100013000000130000001300000013000000DE
+:10B6200013000000130000001300000013000000CE
+:10B6300013000000130000001300000013000000BE
+:10B6400013000000130000001300000013000000AE
+:10B65000130000001300000013000000130000009E
+:10B66000130000001300000013000000130000008E
+:10B67000130000001300000013000000130000007E
+:10B68000130000001300000013000000130000006E
+:10B69000130000001300000013000000130000005E
+:10B6A000130000001300000013000000130000004E
+:10B6B000130000001300000013000000130000003E
+:10B6C000130000001300000013000000130000002E
+:10B6D000130000001300000013000000130000001E
+:10B6E000130000001300000013000000130000000E
+:10B6F00013000000130000001300000013000000FE
+:10B7000013000000130000001300000013000000ED
+:10B7100013000000130000001300000013000000DD
+:10B7200013000000130000001300000013000000CD
+:10B7300013000000130000001300000013000000BD
+:10B7400013000000130000001300000013000000AD
+:10B75000130000001300000013000000130000009D
+:10B76000130000001300000013000000130000008D
+:10B77000130000001300000013000000130000007D
+:10B78000130000001300000013000000130000006D
+:10B79000130000001300000013000000130000005D
+:10B7A000130000001300000013000000130000004D
+:10B7B000130000001300000013000000130000003D
+:10B7C000130000001300000013000000130000002D
+:10B7D000130000001300000013000000130000001D
+:10B7E000130000001300000013000000130000000D
+:10B7F00013000000130000001300000013000000FD
+:10B8000013000000130000001300000013000000EC
+:10B8100013000000130000001300000013000000DC
+:10B8200013000000130000001300000013000000CC
+:10B8300013000000130000001300000013000000BC
+:10B8400013000000130000001300000013000000AC
+:10B85000130000001300000013000000130000009C
+:10B86000130000001300000013000000130000008C
+:10B87000130000001300000013000000130000007C
+:10B88000130000001300000013000000130000006C
+:10B89000130000001300000013000000130000005C
+:10B8A000130000001300000013000000130000004C
+:10B8B000130000001300000013000000130000003C
+:10B8C000130000001300000013000000130000002C
+:10B8D000130000001300000013000000130000001C
+:10B8E000130000001300000013000000130000000C
+:10B8F00013000000130000001300000013000000FC
+:10B9000013000000130000001300000013000000EB
+:10B9100013000000130000001300000013000000DB
+:10B9200013000000130000001300000013000000CB
+:10B9300013000000130000001300000013000000BB
+:10B9400013000000130000001300000013000000AB
+:10B95000130000001300000013000000130000009B
+:10B96000130000001300000013000000130000008B
+:10B97000130000001300000013000000130000007B
+:10B98000130000001300000013000000130000006B
+:10B99000130000001300000013000000130000005B
+:10B9A000130000001300000013000000130000004B
+:10B9B000130000001300000013000000130000003B
+:10B9C000130000001300000013000000130000002B
+:10B9D000130000001300000013000000130000001B
+:10B9E000130000001300000013000000130000000B
+:10B9F00013000000130000001300000013000000FB
+:10BA000013000000130000001300000013000000EA
+:10BA100013000000130000001300000013000000DA
+:10BA200013000000130000001300000013000000CA
+:10BA300013000000130000001300000013000000BA
+:10BA400013000000130000001300000013000000AA
+:10BA5000130000001300000013000000130000009A
+:10BA6000130000001300000013000000130000008A
+:10BA7000130000001300000013000000130000007A
+:10BA8000130000001300000013000000130000006A
+:10BA9000130000001300000013000000130000005A
+:10BAA000130000001300000013000000130000004A
+:10BAB000130000001300000013000000130000003A
+:10BAC000130000001300000013000000130000002A
+:10BAD000130000001300000013000000130000001A
+:10BAE000130000001300000013000000130000000A
+:10BAF00013000000130000001300000013000000FA
+:10BB000013000000130000001300000013000000E9
+:10BB100013000000130000001300000013000000D9
+:10BB200013000000130000001300000013000000C9
+:10BB300013000000130000001300000013000000B9
+:10BB400013000000130000001300000013000000A9
+:10BB50001300000013000000130000001300000099
+:10BB60001300000013000000130000001300000089
+:10BB70001300000013000000130000001300000079
+:10BB80001300000013000000130000001300000069
+:10BB90001300000013000000130000001300000059
+:10BBA0001300000013000000130000001300000049
+:10BBB0001300000013000000130000001300000039
+:10BBC0001300000013000000130000001300000029
+:10BBD0001300000013000000130000001300000019
+:10BBE0001300000013000000130000001300000009
+:10BBF00013000000130000001300000013000000F9
+:10BC000013000000130000001300000013000000E8
+:10BC100013000000130000001300000013000000D8
+:10BC200013000000130000001300000013000000C8
+:10BC300013000000130000001300000013000000B8
+:10BC400013000000130000001300000013000000A8
+:10BC50001300000013000000130000001300000098
+:10BC60001300000013000000130000001300000088
+:10BC70001300000013000000130000001300000078
+:10BC80001300000013000000130000001300000068
+:10BC90001300000013000000130000001300000058
+:10BCA0001300000013000000130000001300000048
+:10BCB0001300000013000000130000001300000038
+:10BCC0001300000013000000130000001300000028
+:10BCD0001300000013000000130000001300000018
+:10BCE0001300000013000000130000001300000008
+:10BCF00013000000130000001300000013000000F8
+:10BD000013000000130000001300000013000000E7
+:10BD100013000000130000001300000013000000D7
+:10BD200013000000130000001300000013000000C7
+:10BD300013000000130000001300000013000000B7
+:10BD400013000000130000001300000013000000A7
+:10BD50001300000013000000130000001300000097
+:10BD60001300000013000000130000001300000087
+:10BD70001300000013000000130000001300000077
+:10BD80001300000013000000130000001300000067
+:10BD90001300000013000000130000001300000057
+:10BDA0001300000013000000130000001300000047
+:10BDB0001300000013000000130000001300000037
+:10BDC0001300000013000000130000001300000027
+:10BDD0001300000013000000130000001300000017
+:10BDE0001300000013000000130000001300000007
+:10BDF00013000000130000001300000013000000F7
+:10BE000013000000130000001300000013000000E6
+:10BE100013000000130000001300000013000000D6
+:10BE200013000000130000001300000013000000C6
+:10BE300013000000130000001300000013000000B6
+:10BE400013000000130000001300000013000000A6
+:10BE50001300000013000000130000001300000096
+:10BE60001300000013000000130000001300000086
+:10BE70001300000013000000130000001300000076
+:10BE80001300000013000000130000001300000066
+:10BE90001300000013000000130000001300000056
+:10BEA0001300000013000000130000001300000046
+:10BEB0001300000013000000130000001300000036
+:10BEC0001300000013000000130000001300000026
+:10BED0001300000013000000130000001300000016
+:10BEE0001300000013000000130000001300000006
+:10BEF00013000000130000001300000013000000F6
+:10BF000013000000130000001300000013000000E5
+:10BF100013000000130000001300000013000000D5
+:10BF200013000000130000001300000013000000C5
+:10BF300013000000130000001300000013000000B5
+:10BF400013000000130000001300000013000000A5
+:10BF50001300000013000000130000001300000095
+:10BF60001300000013000000130000001300000085
+:10BF70001300000013000000130000001300000075
+:10BF80001300000013000000130000001300000065
+:10BF90001300000013000000130000001300000055
+:10BFA0001300000013000000130000001300000045
+:10BFB0001300000013000000130000001300000035
+:10BFC0001300000013000000130000001300000025
+:10BFD0001300000013000000130000001300000015
+:10BFE0001300000013000000130000001300000005
+:10BFF00013000000130000001300000013000000F5
+:10C00000707172737475767778797A7B7C7D7E7FB8
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:0CC9D0000000000000000000000000005B
+:040000058000000077
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/mmu/makefile b/VexRiscv/src/test/cpp/raw/mmu/makefile
new file mode 100644
index 0000000..961e3bc
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/mmu/makefile
@@ -0,0 +1,3 @@
+PROJ_NAME=mmu
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/mmu/src/crt.S b/VexRiscv/src/test/cpp/raw/mmu/src/crt.S
new file mode 100644
index 0000000..2f85bbe
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/mmu/src/crt.S
@@ -0,0 +1,526 @@
+.globl _start
+
+#define TEST_ID x28
+#define TRAP_OK x29
+#define TRAP_RET x30
+
+
+ROM_SUPER_0:
+
+_start:
+ li TRAP_OK, 0 //Do not allow trap
+ la x1, trap
+ csrw mtvec, x1
+
+test1: //test ram
+ li TEST_ID, 1
+ la x1, ROM_2
+ li x2, 0x27262524
+ lw x1, 4(x1)
+ bne x1, x2, fail
+
+test2: //dummy mret
+ li TEST_ID, 2
+ la x1, test3
+ csrw mepc, x1
+ li x1, 0x1800
+ csrw mstatus, x1
+ mret
+ j fail
+
+
+test3: // jump to supervisor
+ li TEST_ID, 3
+ li x1, 0x0800
+ csrw mstatus, x1
+ la x1, test4
+ csrw mepc, x1
+ mret
+ j fail
+
+
+
+test4: //test ram mmu off
+ li TEST_ID, 4
+ la x1, ROM_3
+ li x2, 0x37363534
+ lw x1, 4(x1)
+ bne x1, x2, fail
+
+test5: //setup MMU
+
+ li TEST_ID, 5
+ la x1, MMU_TABLE_0 + 0x800
+ la x2, MMU_TABLE_1
+ srli x2, x2, 2
+ ori x2, x2, 0x11
+ sw x2, 0(x1)
+
+ la x1, MMU_TABLE_1 + 0x000*4
+ li x2, 0x80000000
+ srli x2, x2, 2
+ ori x2, x2, 0x0F
+ sw x2, 0(x1)
+
+
+ li TEST_ID, 5
+ la x1, MMU_TABLE_0 + 0x900
+ la x2, MMU_TABLE_2
+ srli x2, x2, 2
+ ori x2, x2, 0x11
+ sw x2, 0(x1)
+
+ la x1, MMU_TABLE_2 + 0x00A*4
+ la x2, ROM_4
+ srli x2, x2, 2
+ ori x2, x2, 0x1F
+ sw x2, 0(x1)
+
+ la x1, MMU_TABLE_2 + 0x010*4 // Read Only
+ la x2, ROM_5
+ srli x2, x2, 2
+ ori x2, x2, 0x11 + (0x1 << 1)
+ sw x2, 0(x1)
+
+ la x1, MMU_TABLE_2 + 0x011*4 // Read Write
+ la x2, ROM_5
+ srli x2, x2, 2
+ ori x2, x2, 0x11 + (0x3 << 1)
+ sw x2, 0(x1)
+
+ la x1, MMU_TABLE_2 + 0x012*4 // Execute only
+ la x2, ROM_5
+ srli x2, x2, 2
+ ori x2, x2, 0x11 + (0x4 << 1)
+ sw x2, 0(x1)
+
+ la x1, MMU_TABLE_2 + 0x013*4 //Read Execute
+ la x2, ROM_5
+ srli x2, x2, 2
+ ori x2, x2, 0x11 + (0x5 << 1)
+ sw x2, 0(x1)
+
+ la x1, MMU_TABLE_2 + 0x014*4 //no user
+ la x2, ROM_5
+ srli x2, x2, 2
+ ori x2, x2, 0x01 + (0x7 << 1)
+ sw x2, 0(x1)
+
+ li TEST_ID, 5
+ la x1, MMU_TABLE_0 + 0xA00
+ la x2, ROM_SUPER_0
+ srli x2, x2, 2
+ ori x2, x2, 0x1F
+ sw x2, 0(x1)
+
+ li TEST_ID, 5
+ la x1, MMU_TABLE_0 + 0xB00
+ sw x0, 0(x1)
+
+ li x1, 1 << 18 //SUM
+ csrs sstatus, x1
+
+ la x1, MMU_TABLE_0
+ srli x1, x1, 12
+ li x2, 0x80000000
+ or x1, x1, x2
+ csrw satp, x1
+
+
+test6: //read through MMU
+ li TEST_ID, 6
+ li x1, 0x9000A008
+ li x2, 0x4B4A4948
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+
+
+test7: //write-read through MMU
+ li TEST_ID, 7
+ li x1, 0x9000A360
+ li x2, 0xAAEE0001
+ sw x2, 0(x1)
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+
+test8: //read through MMU super page
+ li TEST_ID, 8
+ la x1, ROM_7 + 0x20000004
+ li x2, 0x77767574
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+
+
+test9: //write-read through MMU super page
+ li TEST_ID, 9
+ li x1, 0xA000A360
+ li x2, 0xAAEE0002
+ sw x2, 0(x1)
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+
+
+test10: //check previously written value without the MMU
+ li TEST_ID, 10
+ csrwi satp, 0
+
+ la x1, ROM_4 + 0x360
+ li x2, 0xAAEE0001
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+
+test11:
+ li TEST_ID, 11
+ la x1, ROM_SUPER_0 + 0xA360
+ li x2, 0xAAEE0002
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+
+ la x1, MMU_TABLE_0
+ srli x1, x1, 12
+ li x2, 0x80000000
+ or x1, x1, x2
+ csrw satp, x1
+
+
+test12: //Dummy trap
+ li TEST_ID, 12
+ li TRAP_OK, 1 //Allow trap
+ la TRAP_RET, test13 // trap return address
+ ecall
+ j fail
+
+
+test13: //Trap load page fault
+ li TEST_ID, 13
+ la TRAP_RET, test14
+ li x1, 0xB0000000
+ lw x1, 8(x1)
+ j fail
+
+
+test14: //Trap store page fault
+ li TEST_ID, 14
+ la TRAP_RET, test15
+ li x1, 0xB0000000
+ sw x1, 8(x1)
+ j fail
+
+
+test15: //Trap instruction fetch
+ li TEST_ID, 15
+ la TRAP_RET, test15_end
+ li x1, 0xB0000000
+ jr x1
+ j fail
+
+test15_end:
+
+
+test16: //Test limited read access
+ li TEST_ID, 16
+ li TRAP_OK, 0 //disable trap
+
+ li x1, 0x90010008
+ li x2, 0x5B5A5958
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+
+ li x1, 0x90011008
+ li x2, 0x5B5A5958
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+ li x1, 0x90013008
+ li x2, 0x5B5A5958
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+test17: //Test limited write access
+ li TEST_ID, 17
+
+ li x1, 0x90011360
+ li x2, 0xAAEE0003
+ sw x2, 0(x1)
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+test18: //Test limited execute access
+ li TEST_ID, 18
+
+ la x1, test18_end
+ li x2, 0x90012010
+ jr x2
+ j fail
+test18_end:
+
+
+test19: //exception by access limitations
+ li TEST_ID, 19
+ li TRAP_OK, 1 //Allow trap
+ la TRAP_RET, test19_readTrap
+ li x1, 0x90012010
+ lw x1, 0(x1)
+ j fail
+test19_readTrap:
+ la TRAP_RET, test19_writeTrap
+ li x1, 0x90013010
+ sw x1, 0(x1)
+ j fail
+test19_writeTrap:
+ la TRAP_RET, test19_executeTrap
+ li x1, 0x90011010
+ jr x1
+ j fail
+test19_executeTrap:
+
+
+test20: //mxr set, read executable
+ li TEST_ID, 21
+ li TRAP_OK, 0
+ li x1, 1 << 19
+ csrs sstatus, x1
+ li x1, 0x90012008
+ li x2, 0x5B5A5958
+ lw x1, 0(x1)
+ bne x1, x2, fail
+ li x1, 1 << 19
+ csrc sstatus, x1
+
+
+test21: //supervisor accessing not user
+ li TRAP_OK, 0
+ li TEST_ID, 20
+ li x1, 0x90014380
+ li x2, 0xAAEE0005
+ sw x2, 0(x1)
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+
+
+ li x1, 1 << 18 //clear SUM
+ csrc sstatus, x1
+ li TRAP_OK, 1
+ la TRAP_RET, test21_pass
+ li x1, 0x90011648
+ sw x1, 0(x1)
+ j fail
+
+test21_pass:
+
+
+
+
+
+test50: //User mode setup
+ li TEST_ID, 50
+ li TRAP_OK, 0
+
+ //set SUM
+ li x1, 1 << 18
+ csrs sstatus, x1
+
+ //remap code tlb into userspace
+ csrr x10, satp
+ csrw satp, x0
+ la x1, MMU_TABLE_1 + 0x000*4
+ li x2, 0x80000000
+ srli x2, x2, 2
+ ori x2, x2, 0x1F
+ sw x2, 0(x1)
+ csrw satp, x10
+
+ li x1, 1 << 8
+ csrc sstatus, x1 //clear SPP
+
+ la x1, test51
+ csrw sepc, x1
+ sfence.vma
+ sret
+ j fail
+
+test51: //user read/write
+ li TEST_ID, 51
+ li x1, 0x90011008
+ li x2, 0x5B5A5958
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+ li x1, 0xA000A324
+ li x2, 0xAAEE0008
+ sw x2, 0(x1)
+ lw x1, 0(x1)
+ bne x1, x2, fail
+
+test52: //user fetch
+ li TEST_ID, 52
+ la x1, test53
+ li x2, 0x90012010
+ jr x2
+ j fail
+
+test53: // user fetch page fault
+ li TEST_ID, 53
+ li TRAP_OK, 1
+ la TRAP_RET, test54
+ li x1, 0x90014390
+ jr x1
+ j fail
+
+test54: //user load page fault
+ li TEST_ID, 54
+ li TRAP_OK, 1
+ la TRAP_RET, test55
+ li x1, 0x90014394
+ lw x1, 0(x1)
+ j fail
+
+test55: //user store page fault
+ li TEST_ID, 55
+ li TRAP_OK, 1
+ la TRAP_RET, test56
+ li x1, 0x90014398
+ sw x1, 0(x1)
+ j fail
+
+test56:
+
+
+
+
+
+
+
+ j pass
+
+fail: //TEST_ID => error code
+ li TRAP_OK, 0
+ ecall
+failFence:
+ li x2, 0xF00FFF24
+ sw TEST_ID, 0(x2)
+
+pass:
+ li TRAP_OK, 2
+ ecall
+passFence:
+ li x2, 0xF00FFF20
+ sw x0, 0(x2)
+
+
+trap:
+ beq TRAP_OK, x0, failFence
+ csrr x1, mcause
+ csrr x1, mepc
+ csrr x1, mstatus
+ csrr x1, mbadaddr
+ li x1, 2
+ beq TRAP_OK, x1, passFence
+ csrw mepc, TRAP_RET
+ mret
+
+
+ nop
+ nop
+ nop
+ nop
+ nop
+ nop
+
+.align 12
+MMU_TABLE_0:
+.word 0
+
+.align 12
+MMU_TABLE_1:
+.word 0
+
+.align 12
+MMU_TABLE_2:
+.word 0
+
+.align 12
+MMU_TABLE_3:
+.word 0
+
+.align 12
+ROM_0:
+.word 0x03020100
+.word 0x07060504
+.word 0x0B0A0908
+.word 0x0F0E0D0C
+
+.align 12
+ROM_1:
+.word 0x13121110
+.word 0x17161514
+.word 0x1B1A1918
+.word 0x1F1E1D1C
+
+.align 12
+ROM_2:
+.word 0x23222120
+.word 0x27262524
+.word 0x2B2A2928
+.word 0x2F2E2D2C
+
+.align 12
+ROM_3:
+.word 0x33323130
+.word 0x37363534
+.word 0x3B3A3938
+.word 0x3F3E3D3C
+
+.align 12
+ROM_4:
+.word 0x43424140
+.word 0x47464544
+.word 0x4B4A4948
+.word 0x4F4E4D4C
+
+.align 12
+ROM_5:
+.word 0x53525150
+.word 0x57565554
+.word 0x5B5A5958
+.word 0x5F5E5D5C
+ jr x1
+
+.align 12
+ROM_6:
+.word 0x63626160
+.word 0x67666564
+.word 0x6B6A6968
+.word 0x6F6E6D6C
+
+.align 12
+ROM_7:
+.word 0x73727170
+.word 0x77767574
+.word 0x7B7A7978
+.word 0x7F7E7D7C
+
+/*
+.align 22
+ROM_SUPER_0:
+.word 0x83828180
+.word 0x87868584
+.word 0x8B8A8988
+.word 0x8F8E8D8C
+
+.align 12
+ROM_SUPER_1:
+.word 0x93929190
+.word 0x97969594
+.word 0x9B9A9998
+.word 0x9F9E9D9C*/
+
+
diff --git a/VexRiscv/src/test/cpp/raw/mmu/src/ld b/VexRiscv/src/test/cpp/raw/mmu/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/mmu/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/pmp/build/pmp.asm b/VexRiscv/src/test/cpp/raw/pmp/build/pmp.asm
new file mode 100644
index 0000000..f8a30e2
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/pmp/build/pmp.asm
@@ -0,0 +1,258 @@
+
+build/pmp.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: 00000493 li s1,0
+80000004: 00000097 auipc ra,0x0
+80000008: 01008093 addi ra,ra,16 # 80000014 <trap>
+8000000c: 30509073 csrw mtvec,ra
+80000010: 0140006f j 80000024 <test0>
+
+80000014 <trap>:
+80000014: 341f1073 csrw mepc,t5
+80000018: 00049463 bnez s1,80000020 <trap_exit>
+8000001c: 30200073 mret
+
+80000020 <trap_exit>:
+80000020: 000f0067 jr t5
+
+80000024 <test0>:
+80000024: 00000e13 li t3,0
+80000028: 00000f17 auipc t5,0x0
+8000002c: 324f0f13 addi t5,t5,804 # 8000034c <fail>
+80000030: 800000b7 lui ra,0x80000
+80000034: 80008237 lui tp,0x80008
+80000038: deadc137 lui sp,0xdeadc
+8000003c: eef10113 addi sp,sp,-273 # deadbeef <pass+0x5eadbb97>
+80000040: 0020a023 sw sp,0(ra) # 80000000 <pass+0xfffffca8>
+80000044: 00222023 sw sp,0(tp) # 80008000 <pass+0x7ca8>
+80000048: 0000a183 lw gp,0(ra)
+8000004c: 30311063 bne sp,gp,8000034c <fail>
+80000050: 00022183 lw gp,0(tp) # 0 <_start-0x80000000>
+80000054: 2e311c63 bne sp,gp,8000034c <fail>
+80000058: 071a02b7 lui t0,0x71a0
+8000005c: 3a029073 csrw pmpcfg0,t0
+80000060: 3a002373 csrr t1,pmpcfg0
+80000064: 2e629463 bne t0,t1,8000034c <fail>
+80000068: 1a1902b7 lui t0,0x1a190
+8000006c: 30428293 addi t0,t0,772 # 1a190304 <_start-0x65e6fcfc>
+80000070: 3a129073 csrw pmpcfg1,t0
+80000074: 000f12b7 lui t0,0xf1
+80000078: 90a28293 addi t0,t0,-1782 # f090a <_start-0x7ff0f6f6>
+8000007c: 3a229073 csrw pmpcfg2,t0
+80000080: 3a202373 csrr t1,pmpcfg2
+80000084: 2c629463 bne t0,t1,8000034c <fail>
+80000088: 1c1e22b7 lui t0,0x1c1e2
+8000008c: 90028293 addi t0,t0,-1792 # 1c1e1900 <_start-0x63e1e700>
+80000090: 3a329073 csrw pmpcfg3,t0
+80000094: 200002b7 lui t0,0x20000
+80000098: 3b029073 csrw pmpaddr0,t0
+8000009c: 3b002373 csrr t1,pmpaddr0
+800000a0: 2a629663 bne t0,t1,8000034c <fail>
+800000a4: fff00293 li t0,-1
+800000a8: 3b129073 csrw pmpaddr1,t0
+800000ac: 202002b7 lui t0,0x20200
+800000b0: 3b229073 csrw pmpaddr2,t0
+800000b4: 200042b7 lui t0,0x20004
+800000b8: fff28293 addi t0,t0,-1 # 20003fff <_start-0x5fffc001>
+800000bc: 3b329073 csrw pmpaddr3,t0
+800000c0: 200042b7 lui t0,0x20004
+800000c4: fff28293 addi t0,t0,-1 # 20003fff <_start-0x5fffc001>
+800000c8: 3b429073 csrw pmpaddr4,t0
+800000cc: 200042b7 lui t0,0x20004
+800000d0: fff28293 addi t0,t0,-1 # 20003fff <_start-0x5fffc001>
+800000d4: 3b529073 csrw pmpaddr5,t0
+800000d8: 230002b7 lui t0,0x23000
+800000dc: fff28293 addi t0,t0,-1 # 22ffffff <_start-0x5d000001>
+800000e0: 3b629073 csrw pmpaddr6,t0
+800000e4: 220402b7 lui t0,0x22040
+800000e8: fff28293 addi t0,t0,-1 # 2203ffff <_start-0x5dfc0001>
+800000ec: 3b729073 csrw pmpaddr7,t0
+800000f0: 200d02b7 lui t0,0x200d0
+800000f4: 3b829073 csrw pmpaddr8,t0
+800000f8: 200e02b7 lui t0,0x200e0
+800000fc: 3b929073 csrw pmpaddr9,t0
+80000100: fff00293 li t0,-1
+80000104: 3ba29073 csrw pmpaddr10,t0
+80000108: 00000293 li t0,0
+8000010c: 3bb29073 csrw pmpaddr11,t0
+80000110: 00000293 li t0,0
+80000114: 3bc29073 csrw pmpaddr12,t0
+80000118: 00000293 li t0,0
+8000011c: 3bd29073 csrw pmpaddr13,t0
+80000120: 00000293 li t0,0
+80000124: 3be29073 csrw pmpaddr14,t0
+80000128: fff00293 li t0,-1
+8000012c: 3bf29073 csrw pmpaddr15,t0
+80000130: 00c10137 lui sp,0xc10
+80000134: fee10113 addi sp,sp,-18 # c0ffee <_start-0x7f3f0012>
+80000138: 0020a023 sw sp,0(ra)
+8000013c: 00222023 sw sp,0(tp) # 0 <_start-0x80000000>
+80000140: 0000a183 lw gp,0(ra)
+80000144: 20311463 bne sp,gp,8000034c <fail>
+80000148: 00000193 li gp,0
+8000014c: 00022183 lw gp,0(tp) # 0 <_start-0x80000000>
+80000150: 1e311e63 bne sp,gp,8000034c <fail>
+
+80000154 <test1>:
+80000154: 00100e13 li t3,1
+80000158: 00000f17 auipc t5,0x0
+8000015c: 1f4f0f13 addi t5,t5,500 # 8000034c <fail>
+80000160: 079a12b7 lui t0,0x79a1
+80000164: 80828293 addi t0,t0,-2040 # 79a0808 <_start-0x7865f7f8>
+80000168: 3a029073 csrw pmpcfg0,t0
+8000016c: 3a002373 csrr t1,pmpcfg0
+80000170: 1c629e63 bne t0,t1,8000034c <fail>
+80000174: 808000b7 lui ra,0x80800
+80000178: deadc137 lui sp,0xdeadc
+8000017c: eef10113 addi sp,sp,-273 # deadbeef <pass+0x5eadbb97>
+80000180: 0020a023 sw sp,0(ra) # 80800000 <pass+0x7ffca8>
+80000184: 00000f17 auipc t5,0x0
+80000188: 010f0f13 addi t5,t5,16 # 80000194 <test2>
+8000018c: 0000a183 lw gp,0(ra)
+80000190: 1bc0006f j 8000034c <fail>
+
+80000194 <test2>:
+80000194: 00200e13 li t3,2
+80000198: 00000f17 auipc t5,0x0
+8000019c: 1b4f0f13 addi t5,t5,436 # 8000034c <fail>
+800001a0: 071a02b7 lui t0,0x71a0
+800001a4: 3a029073 csrw pmpcfg0,t0
+800001a8: 3a002373 csrr t1,pmpcfg0
+800001ac: 1a628063 beq t0,t1,8000034c <fail>
+800001b0: 3b305073 csrwi pmpaddr3,0
+800001b4: 3b302373 csrr t1,pmpaddr3
+800001b8: 18031a63 bnez t1,8000034c <fail>
+800001bc: 3b205073 csrwi pmpaddr2,0
+800001c0: 3b202373 csrr t1,pmpaddr2
+800001c4: 18030463 beqz t1,8000034c <fail>
+800001c8: 808000b7 lui ra,0x80800
+800001cc: deadc137 lui sp,0xdeadc
+800001d0: eef10113 addi sp,sp,-273 # deadbeef <pass+0x5eadbb97>
+800001d4: 0020a023 sw sp,0(ra) # 80800000 <pass+0x7ffca8>
+800001d8: 00000f17 auipc t5,0x0
+800001dc: 010f0f13 addi t5,t5,16 # 800001e8 <test3>
+800001e0: 0000a183 lw gp,0(ra)
+800001e4: 1680006f j 8000034c <fail>
+
+800001e8 <test3>:
+800001e8: 00300e13 li t3,3
+800001ec: 00000f17 auipc t5,0x0
+800001f0: 160f0f13 addi t5,t5,352 # 8000034c <fail>
+800001f4: 00ff02b7 lui t0,0xff0
+800001f8: 3b32a073 csrs pmpaddr3,t0
+800001fc: 3b302373 csrr t1,pmpaddr3
+80000200: 14629663 bne t0,t1,8000034c <fail>
+80000204: 0ff00293 li t0,255
+80000208: 3b32a073 csrs pmpaddr3,t0
+8000020c: 3b302373 csrr t1,pmpaddr3
+80000210: 00ff02b7 lui t0,0xff0
+80000214: 0ff28293 addi t0,t0,255 # ff00ff <_start-0x7f00ff01>
+80000218: 12629a63 bne t0,t1,8000034c <fail>
+8000021c: 00ff02b7 lui t0,0xff0
+80000220: 3b32b073 csrc pmpaddr3,t0
+80000224: 3b302373 csrr t1,pmpaddr3
+80000228: 0ff00293 li t0,255
+8000022c: 12629063 bne t0,t1,8000034c <fail>
+80000230: 00ff02b7 lui t0,0xff0
+80000234: 0ff28293 addi t0,t0,255 # ff00ff <_start-0x7f00ff01>
+80000238: 3a02b073 csrc pmpcfg0,t0
+8000023c: 3a002373 csrr t1,pmpcfg0
+80000240: 079a02b7 lui t0,0x79a0
+80000244: 10629463 bne t0,t1,8000034c <fail>
+80000248: 00ff02b7 lui t0,0xff0
+8000024c: 70728293 addi t0,t0,1799 # ff0707 <_start-0x7f00f8f9>
+80000250: 3a02a073 csrs pmpcfg0,t0
+80000254: 3a002373 csrr t1,pmpcfg0
+80000258: 079a02b7 lui t0,0x79a0
+8000025c: 70728293 addi t0,t0,1799 # 79a0707 <_start-0x7865f8f9>
+80000260: 0e629663 bne t0,t1,8000034c <fail>
+
+80000264 <test4>:
+80000264: 00400e13 li t3,4
+80000268: 00000f17 auipc t5,0x0
+8000026c: 0e4f0f13 addi t5,t5,228 # 8000034c <fail>
+80000270: 00000117 auipc sp,0x0
+80000274: 01010113 addi sp,sp,16 # 80000280 <test5>
+80000278: 34111073 csrw mepc,sp
+8000027c: 30200073 mret
+
+80000280 <test5>:
+80000280: 00500e13 li t3,5
+80000284: 00000f17 auipc t5,0x0
+80000288: 0c8f0f13 addi t5,t5,200 # 8000034c <fail>
+8000028c: deadc137 lui sp,0xdeadc
+80000290: eef10113 addi sp,sp,-273 # deadbeef <pass+0x5eadbb97>
+80000294: 808000b7 lui ra,0x80800
+80000298: 0020a023 sw sp,0(ra) # 80800000 <pass+0x7ffca8>
+8000029c: 00000f17 auipc t5,0x0
+800002a0: 010f0f13 addi t5,t5,16 # 800002ac <test6>
+800002a4: 0000a183 lw gp,0(ra)
+800002a8: 0a40006f j 8000034c <fail>
+
+800002ac <test6>:
+800002ac: 00600e13 li t3,6
+
+800002b0 <test7>:
+800002b0: 00700e13 li t3,7
+800002b4: 00000f17 auipc t5,0x0
+800002b8: 098f0f13 addi t5,t5,152 # 8000034c <fail>
+800002bc: 890000b7 lui ra,0x89000
+800002c0: ff008093 addi ra,ra,-16 # 88fffff0 <pass+0x8fffc98>
+800002c4: 0000a183 lw gp,0(ra)
+800002c8: 00000f17 auipc t5,0x0
+800002cc: 010f0f13 addi t5,t5,16 # 800002d8 <test8a>
+800002d0: 0030a023 sw gp,0(ra)
+800002d4: 0780006f j 8000034c <fail>
+
+800002d8 <test8a>:
+800002d8: 00800e13 li t3,8
+800002dc: 00000f17 auipc t5,0x0
+800002e0: 014f0f13 addi t5,t5,20 # 800002f0 <test8b>
+800002e4: 00100493 li s1,1
+800002e8: 3a305073 csrwi pmpcfg3,0
+800002ec: 0600006f j 8000034c <fail>
+
+800002f0 <test8b>:
+800002f0: 00800e13 li t3,8
+800002f4: 1c1e22b7 lui t0,0x1c1e2
+800002f8: 90028293 addi t0,t0,-1792 # 1c1e1900 <_start-0x63e1e700>
+800002fc: 3a302373 csrr t1,pmpcfg3
+80000300: 04629663 bne t0,t1,8000034c <fail>
+
+80000304 <test9a>:
+80000304: 00900e13 li t3,9
+80000308: 00000f17 auipc t5,0x0
+8000030c: 044f0f13 addi t5,t5,68 # 8000034c <fail>
+80000310: 00000493 li s1,0
+80000314: 00000117 auipc sp,0x0
+80000318: 01010113 addi sp,sp,16 # 80000324 <test9b>
+8000031c: 34111073 csrw mepc,sp
+80000320: 30200073 mret
+
+80000324 <test9b>:
+80000324: 00900e13 li t3,9
+80000328: 00000f17 auipc t5,0x0
+8000032c: 014f0f13 addi t5,t5,20 # 8000033c <test9c>
+80000330: 00100493 li s1,1
+80000334: 3ba05073 csrwi pmpaddr10,0
+80000338: 0140006f j 8000034c <fail>
+
+8000033c <test9c>:
+8000033c: 00900e13 li t3,9
+80000340: fff00293 li t0,-1
+80000344: 3ba02373 csrr t1,pmpaddr10
+80000348: 00628863 beq t0,t1,80000358 <pass>
+
+8000034c <fail>:
+8000034c: f0100137 lui sp,0xf0100
+80000350: f2410113 addi sp,sp,-220 # f00fff24 <pass+0x700ffbcc>
+80000354: 01c12023 sw t3,0(sp)
+
+80000358 <pass>:
+80000358: f0100137 lui sp,0xf0100
+8000035c: f2010113 addi sp,sp,-224 # f00fff20 <pass+0x700ffbc8>
+80000360: 00012023 sw zero,0(sp)
diff --git a/VexRiscv/src/test/cpp/raw/pmp/build/pmp.elf b/VexRiscv/src/test/cpp/raw/pmp/build/pmp.elf
new file mode 100755
index 0000000..f6c3c69
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/pmp/build/pmp.elf
Binary files differ
diff --git a/VexRiscv/src/test/cpp/raw/pmp/build/pmp.hex b/VexRiscv/src/test/cpp/raw/pmp/build/pmp.hex
new file mode 100644
index 0000000..509c291
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/pmp/build/pmp.hex
@@ -0,0 +1,58 @@
+:0200000480007A
+:10000000930400009700000093800001739050302B
+:100010006F00400173101F3463940400730020309C
+:1000200067000F00130E0000170F0000130F4F3270
+:10003000B70000803782008037C1ADDE1301F1EEDA
+:1000400023A020002320220083A100006310313070
+:1000500083210200631C312EB7021A077390023A03
+:100060007323003A6394622EB702191A93824230C6
+:100070007390123AB7120F009382A2907390223AB3
+:100080007323203A6394622CB7221E1C9382029041
+:100090007390323AB70200207390023B7323003B07
+:1000A0006396622A9302F0FF7390123BB7022020FE
+:1000B0007390223BB74200209382F2FF7390323B51
+:1000C000B74200209382F2FF7390423BB742002078
+:1000D0009382F2FF7390523BB70200239382F2FFA8
+:1000E0007390623BB70204229382F2FF7390723BDB
+:1000F000B7020D207390823BB7020E207390923BA3
+:100100009302F0FF7390A23B930200007390B23B06
+:10011000930200007390C23B930200007390D23BA5
+:10012000930200007390E23B9302F0FF7390F23B66
+:100130003701C1001301E1FE23A02000232022008B
+:1001400083A1000063143120930100008321020089
+:10015000631E311E130E1000170F0000130F4F1FE8
+:10016000B7129A07938282807390023A7323003AFF
+:10017000639E621CB700808037C1ADDE1301F1EED3
+:1001800023A02000170F0000130F0F0183A1000010
+:100190006F00C01B130E2000170F0000130F4F1B22
+:1001A000B7021A077390023A7323003A6380621A07
+:1001B0007350303B7323303B631A03187350203B5A
+:1001C0007323203B63040318B700808037C1ADDE82
+:1001D0001301F1EE23A02000170F0000130F0F01F1
+:1001E00083A100006F008016130E3000170F00006F
+:1001F000130F0F16B702FF0073A0323B7323303B7F
+:10020000639662149302F00F73A0323B7323303B6A
+:10021000B702FF009382F20F639A6212B702FF00E7
+:1002200073B0323B7323303B9302F00F6390621242
+:10023000B702FF009382F20F73B0023A7323003AC1
+:10024000B7029A0763946210B702FF00938272703C
+:1002500073A0023A7323003AB7029A07938272702E
+:100260006396620E130E4000170F0000130F4F0E1F
+:1002700017010000130101017310113473002030C5
+:10028000130E5000170F0000130F8F0C37C1ADDE97
+:100290001301F1EEB700808023A02000170F0000AB
+:1002A000130F0F0183A100006F00400A130E6000BE
+:1002B000130E7000170F0000130F8F09B70000898D
+:1002C000938000FF83A10000170F0000130F0F01A0
+:1002D00023A030006F008007130E8000170F00006E
+:1002E000130F4F01930410007350303A6F00000653
+:1002F000130E8000B7221E1C938202907323303AA3
+:1003000063966204130E9000170F0000130F4F0442
+:100310009304000017010000130101017310113450
+:1003200073002030130E9000170F0000130F4F01C1
+:10033000930410007350A03B6F004001130E900017
+:100340009302F0FF7323A03B63886200370110F033
+:10035000130141F22320C101370110F0130101F212
+:040360002320010055
+:040000058000000077
+:00000001FF
diff --git a/VexRiscv/src/test/cpp/raw/pmp/build/pmp.map b/VexRiscv/src/test/cpp/raw/pmp/build/pmp.map
new file mode 100644
index 0000000..ab2c78d
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/pmp/build/pmp.map
@@ -0,0 +1,35 @@
+
+Memory Configuration
+
+Name Origin Length Attributes
+onChipRam 0x0000000080000000 0x0000000000020000 w !xr
+*default* 0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD build/src/crt.o
+LOAD /opt/riscv_10092021/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/rv32i/ilp32/libgcc.a
+START GROUP
+LOAD /opt/riscv_10092021/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/lib/rv32i/ilp32/libc.a
+LOAD /opt/riscv_10092021/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/lib/rv32i/ilp32/libgloss.a
+END GROUP
+LOAD /opt/riscv_10092021/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/rv32i/ilp32/libgcc.a
+
+.crt_section 0x0000000080000000 0x364
+ 0x0000000080000000 . = ALIGN (0x4)
+ *crt.o(.text)
+ .text 0x0000000080000000 0x364 build/src/crt.o
+ 0x0000000080000000 _start
+ 0x0000000080000014 trap
+OUTPUT(build/pmp.elf elf32-littleriscv)
+
+.data 0x0000000080000364 0x0
+ .data 0x0000000080000364 0x0 build/src/crt.o
+
+.bss 0x0000000080000364 0x0
+ .bss 0x0000000080000364 0x0 build/src/crt.o
+
+.riscv.attributes
+ 0x0000000000000000 0x1a
+ .riscv.attributes
+ 0x0000000000000000 0x1a build/src/crt.o
diff --git a/VexRiscv/src/test/cpp/raw/pmp/makefile b/VexRiscv/src/test/cpp/raw/pmp/makefile
new file mode 100644
index 0000000..0069df4
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/pmp/makefile
@@ -0,0 +1,3 @@
+PROJ_NAME=pmp
+
+include ../common/asm.mk
diff --git a/VexRiscv/src/test/cpp/raw/pmp/src/crt.S b/VexRiscv/src/test/cpp/raw/pmp/src/crt.S
new file mode 100644
index 0000000..ce10ad7
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/pmp/src/crt.S
@@ -0,0 +1,269 @@
+/*
+ * Copyright (c) 2020 Samuel Lindemer <samuel.lindemer@ri.se>
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#define TEST_ID x28
+#define TRAP_RETURN x30
+#define TRAP_EXIT x9
+
+#define PMPCFG0 0x071a0000
+#define PMPCFG0_ 0x079a0808
+#define PMPCFG1 0x1a190304
+#define PMPCFG2 0x000f090a
+#define PMPCFG3 0x1c1e1900
+
+#define PMPADDR0 0x20000000 // OFF (test0) -> TOR (test1) -> OFF (test2)
+#define PMPADDR1 0xffffffff // OFF (test0) -> TOR (test1) -> OFF (test2)
+#define PMPADDR2 0x20200000 // NAPOT W
+#define PMPADDR3 0x20003fff // OFF RWX -> 0x00000000 OFF RWX (test2)
+#define PMPADDR4 0x20003fff // OFF X
+#define PMPADDR5 0x20003fff // OFF RW
+#define PMPADDR6 0x22ffffff // NAPOT R
+#define PMPADDR7 0x2203ffff // NAPOT W
+#define PMPADDR8 0x200d0000 // TOR W
+#define PMPADDR9 0x200e0000 // TOR R
+#define PMPADDR10 0xffffffff // TOR RWX
+#define PMPADDR11 0x00000000 // OFF
+#define PMPADDR12 0x00000000 // OFF
+#define PMPADDR13 0x00000000 // NAPOT R
+#define PMPADDR14 0x00000000 // NAPOT WX
+#define PMPADDR15 0xffffffff // NAPOT X
+
+.global _start
+_start:
+ li TRAP_EXIT, 0x0
+ la x1, trap
+ csrw mtvec, x1
+ j test0
+
+.global trap
+trap:
+ csrw mepc, TRAP_RETURN
+ bnez TRAP_EXIT, trap_exit
+ mret
+
+// return from trap, but stay in M-mode
+trap_exit:
+ jr TRAP_RETURN
+
+// configure PMP, attempt read/write from machine mode
+test0:
+ li TEST_ID, 0
+ la TRAP_RETURN, fail
+
+ li x1, 0x80000000
+ li x4, 0x80008000
+ li x2, 0xdeadbeef
+ sw x2, 0x0(x1)
+ sw x2, 0x0(x4)
+ lw x3, 0x0(x1)
+ bne x2, x3, fail
+ lw x3, 0x0(x4)
+ bne x2, x3, fail
+
+ li x5, PMPCFG0
+ csrw pmpcfg0, x5
+ csrr x6, pmpcfg0
+ bne x5, x6, fail
+ li x5, PMPCFG1
+ csrw pmpcfg1, x5
+ li x5, PMPCFG2
+ csrw pmpcfg2, x5
+ csrr x6, pmpcfg2
+ bne x5, x6, fail
+ li x5, PMPCFG3
+ csrw pmpcfg3, x5
+ li x5, PMPADDR0
+ csrw pmpaddr0, x5
+ csrr x6, pmpaddr0
+ bne x5, x6, fail
+ li x5, PMPADDR1
+ csrw pmpaddr1, x5
+ li x5, PMPADDR2
+ csrw pmpaddr2, x5
+ li x5, PMPADDR3
+ csrw pmpaddr3, x5
+ li x5, PMPADDR4
+ csrw pmpaddr4, x5
+ li x5, PMPADDR5
+ csrw pmpaddr5, x5
+ li x5, PMPADDR6
+ csrw pmpaddr6, x5
+ li x5, PMPADDR7
+ csrw pmpaddr7, x5
+ li x5, PMPADDR8
+ csrw pmpaddr8, x5
+ li x5, PMPADDR9
+ csrw pmpaddr9, x5
+ li x5, PMPADDR10
+ csrw pmpaddr10, x5
+ li x5, PMPADDR11
+ csrw pmpaddr11, x5
+ li x5, PMPADDR12
+ csrw pmpaddr12, x5
+ li x5, PMPADDR13
+ csrw pmpaddr13, x5
+ li x5, PMPADDR14
+ csrw pmpaddr14, x5
+ li x5, PMPADDR15
+ csrw pmpaddr15, x5
+
+ li x2, 0xc0ffee
+ sw x2, 0x0(x1)
+ sw x2, 0x0(x4)
+ lw x3, 0x0(x1)
+ bne x2, x3, fail
+ li x3, 0x0
+ lw x3, 0x0(x4)
+ bne x2, x3, fail
+
+// lock region 2, attempt read/write from machine mode
+test1:
+ li TEST_ID, 1
+ la TRAP_RETURN, fail
+ li x5, PMPCFG0_
+ csrw pmpcfg0, x5 // lock region 2
+ csrr x6, pmpcfg0
+ bne x5, x6, fail
+ li x1, 0x80800000
+ li x2, 0xdeadbeef
+ sw x2, 0x0(x1) // should be OK (write region 2)
+ la TRAP_RETURN, test2
+ lw x3, 0x0(x1) // should fault (read region 2)
+ j fail
+
+// "unlock" region 2, attempt read/write from machine mode
+test2:
+ li TEST_ID, 2
+ la TRAP_RETURN, fail
+ li x5, PMPCFG0
+ csrw pmpcfg0, x5 // "unlock" region 2
+ csrr x6, pmpcfg0
+ beq x5, x6, fail
+ csrwi pmpaddr3, 0x0
+ csrr x6, pmpaddr3
+ bnez x6, fail
+ csrwi pmpaddr2, 0x0
+ csrr x6, pmpaddr2
+ beqz x6, fail
+ li x1, 0x80800000
+ li x2, 0xdeadbeef
+ sw x2, 0x0(x1) // should still be OK (write region 2)
+ la TRAP_RETURN, test3
+ lw x3, 0x0(x1) // should still fault (read region 2)
+ j fail
+
+// verify masked CSR read/write operations
+test3:
+ li TEST_ID, 3
+ la TRAP_RETURN, fail
+ li x5, 0x00ff0000
+ csrs pmpaddr3, x5
+ csrr x6, pmpaddr3
+ bne x5, x6, fail
+ li x5, 0x000000ff
+ csrs pmpaddr3, x5
+ csrr x6, pmpaddr3
+ li x5, 0x00ff00ff
+ bne x5, x6, fail
+ li x5, 0x00ff0000
+ csrc pmpaddr3, x5
+ csrr x6, pmpaddr3
+ li x5, 0x000000ff
+ bne x5, x6, fail
+ li x5, 0x00ff00ff
+ csrc pmpcfg0, x5
+ csrr x6, pmpcfg0
+ li x5, 0x079a0000
+ bne x5, x6, fail
+ li x5, 0x00ff0707
+ csrs pmpcfg0, x5
+ csrr x6, pmpcfg0
+ li x5, 0x079a0707
+ bne x5, x6, fail
+
+// jump into U-mode
+test4:
+ li TEST_ID, 4
+ la TRAP_RETURN, fail
+ la x2, test5
+ csrw mepc, x2
+ mret
+
+// attempt to read/write the locked region from U-mode
+test5:
+ li TEST_ID, 5
+ la TRAP_RETURN, fail
+ li x2, 0xdeadbeef
+ li x1, 0x80800000
+ sw x2, 0x0(x1) // should be OK (write region 2)
+ la TRAP_RETURN, test6
+ lw x3, 0x0(x1) // should fault (read region 2)
+ j fail
+
+// attempt to read/write overlapping regions from U-mode
+test6:
+ li TEST_ID, 6
+ //la TRAP_RETURN, fail
+ //li x2, 0xdeadbeef
+ //li x1, 0x88000000
+ //sw x2, 0x0(x1) // should be OK (write region 6/7)
+ //lw x3, 0x0(x1) // should be OK (write region 6/7)
+
+test7:
+ li TEST_ID, 7
+ la TRAP_RETURN, fail
+ li x1, 0x88fffff0
+ lw x3, 0x0(x1) // should be OK (read region 6)
+ la TRAP_RETURN, test8a
+ sw x3, 0x0(x1) // should fault (write region 6)
+ j fail
+
+// attempt to write a pmpcfg# register from U-mode
+test8a:
+ li TEST_ID, 8
+ la TRAP_RETURN, test8b
+ li TRAP_EXIT, 0x1
+ csrwi pmpcfg3, 0x0
+ j fail
+
+// check the result from M-mode
+test8b:
+ li TEST_ID, 8
+ li x5, PMPCFG3
+ csrr x6, pmpcfg3
+ bne x5, x6, fail
+
+// jump back into U-mode
+test9a:
+ li TEST_ID, 9
+ la TRAP_RETURN, fail
+ li TRAP_EXIT, 0x0
+ la x2, test9b
+ csrw mepc, x2
+ mret
+
+// attempt to write a pmpaddr# register from U-mode
+test9b:
+ li TEST_ID, 9
+ la TRAP_RETURN, test9c
+ li TRAP_EXIT, 0x1
+ csrwi pmpaddr10, 0x0
+ j fail
+
+// check the result from M-mode
+test9c:
+ li TEST_ID, 9
+ li x5, PMPADDR10
+ csrr x6, pmpaddr10
+ beq x5, x6, pass
+
+fail:
+ li x2, 0xf00fff24
+ sw TEST_ID, 0(x2)
+
+pass:
+ li x2, 0xf00fff20
+ sw x0, 0(x2) \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/pmp/src/ld b/VexRiscv/src/test/cpp/raw/pmp/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/pmp/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}
diff --git a/VexRiscv/src/test/cpp/raw/smp/.gitignore b/VexRiscv/src/test/cpp/raw/smp/.gitignore
new file mode 100644
index 0000000..a7caa3b
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/smp/.gitignore
@@ -0,0 +1,6 @@
+*.map
+*.v
+*.elf
+*.o
+*.hex
+!*.bin \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/smp/build/smp.asm b/VexRiscv/src/test/cpp/raw/smp/build/smp.asm
new file mode 100644
index 0000000..b0492f9
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/smp/build/smp.asm
@@ -0,0 +1,441 @@
+
+build/smp.elf: file format elf32-littleriscv
+
+
+Disassembly of section .crt_section:
+
+80000000 <_start>:
+80000000: f1402473 csrr s0,mhartid
+80000004: f80002b7 lui t0,0xf8000
+80000008: f1402373 csrr t1,mhartid
+8000000c: 01031313 slli t1,t1,0x10
+80000010: 006282b3 add t0,t0,t1
+80000014: 0082a023 sw s0,0(t0) # f8000000 <consistancy_done_call+0x77fffab8>
+
+80000018 <count_thread_start>:
+80000018: 00100513 li a0,1
+8000001c: 00000597 auipc a1,0x0
+80000020: 42058593 addi a1,a1,1056 # 8000043c <thread_count>
+80000024: 00a5a02f amoadd.w zero,a0,(a1)
+
+80000028 <count_thread_wait>:
+80000028: 00000417 auipc s0,0x0
+8000002c: 41442403 lw s0,1044(s0) # 8000043c <thread_count>
+80000030: 19000513 li a0,400
+80000034: 3fc000ef jal ra,80000430 <sleep>
+80000038: 00000497 auipc s1,0x0
+8000003c: 4044a483 lw s1,1028(s1) # 8000043c <thread_count>
+80000040: fe8494e3 bne s1,s0,80000028 <count_thread_wait>
+80000044: f80002b7 lui t0,0xf8000
+80000048: 00428293 addi t0,t0,4 # f8000004 <consistancy_done_call+0x77fffabc>
+8000004c: f1402373 csrr t1,mhartid
+80000050: 01031313 slli t1,t1,0x10
+80000054: 006282b3 add t0,t0,t1
+80000058: 0092a023 sw s1,0(t0)
+
+8000005c <barrier_amo_test>:
+8000005c: 00100513 li a0,1
+80000060: 290000ef jal ra,800002f0 <barrier_amo>
+80000064: 00200513 li a0,2
+80000068: 288000ef jal ra,800002f0 <barrier_amo>
+8000006c: 00300513 li a0,3
+80000070: 280000ef jal ra,800002f0 <barrier_amo>
+80000074: 00400513 li a0,4
+80000078: 2f4000ef jal ra,8000036c <barrier_lrsc>
+8000007c: 00500513 li a0,5
+80000080: 2ec000ef jal ra,8000036c <barrier_lrsc>
+80000084: 00600513 li a0,6
+80000088: 2e4000ef jal ra,8000036c <barrier_lrsc>
+8000008c: 00700513 li a0,7
+80000090: 260000ef jal ra,800002f0 <barrier_amo>
+80000094: 00800513 li a0,8
+80000098: 2d4000ef jal ra,8000036c <barrier_lrsc>
+8000009c: 00000197 auipc gp,0x0
+800000a0: 3ac1a183 lw gp,940(gp) # 80000448 <barrier_allocator>
+
+800000a4 <consistancy_test1>:
+800000a4: 00000297 auipc t0,0x0
+800000a8: 06828293 addi t0,t0,104 # 8000010c <consistancy_init_load>
+800000ac: 00000317 auipc t1,0x0
+800000b0: 48532a23 sw t0,1172(t1) # 80000540 <consistancy_init_call>
+800000b4: 00000297 auipc t0,0x0
+800000b8: 06028293 addi t0,t0,96 # 80000114 <consistancy_do_simple_fence>
+800000bc: 00000317 auipc t1,0x0
+800000c0: 48532423 sw t0,1160(t1) # 80000544 <consistancy_do_call>
+800000c4: 00000297 auipc t0,0x0
+800000c8: 01428293 addi t0,t0,20 # 800000d8 <consistancy_test2>
+800000cc: 00000317 auipc t1,0x0
+800000d0: 46532e23 sw t0,1148(t1) # 80000548 <consistancy_done_call>
+800000d4: 0640006f j 80000138 <consistancy_start>
+
+800000d8 <consistancy_test2>:
+800000d8: 00000297 auipc t0,0x0
+800000dc: 03428293 addi t0,t0,52 # 8000010c <consistancy_init_load>
+800000e0: 00000317 auipc t1,0x0
+800000e4: 46532023 sw t0,1120(t1) # 80000540 <consistancy_init_call>
+800000e8: 00000297 auipc t0,0x0
+800000ec: 04028293 addi t0,t0,64 # 80000128 <consistancy_do_rl_fence>
+800000f0: 00000317 auipc t1,0x0
+800000f4: 44532a23 sw t0,1108(t1) # 80000544 <consistancy_do_call>
+800000f8: 00000297 auipc t0,0x0
+800000fc: 2f428293 addi t0,t0,756 # 800003ec <success>
+80000100: 00000317 auipc t1,0x0
+80000104: 44532423 sw t0,1096(t1) # 80000548 <consistancy_done_call>
+80000108: 0300006f j 80000138 <consistancy_start>
+
+8000010c <consistancy_init_load>:
+8000010c: 0004a983 lw s3,0(s1)
+80000110: 0c40006f j 800001d4 <consistancy_do_init_done>
+
+80000114 <consistancy_do_simple_fence>:
+80000114: 01242023 sw s2,0(s0)
+80000118: 0120000f fence w,r
+8000011c: 0004a983 lw s3,0(s1)
+80000120: 05342023 sw s3,64(s0)
+80000124: 0cc0006f j 800001f0 <consistancy_join>
+
+80000128 <consistancy_do_rl_fence>:
+80000128: 01242023 sw s2,0(s0)
+8000012c: 1204a9af lr.w.rl s3,(s1)
+80000130: 05342023 sw s3,64(s0)
+80000134: 0bc0006f j 800001f0 <consistancy_join>
+
+80000138 <consistancy_start>:
+80000138: 00018513 mv a0,gp
+8000013c: 00118193 addi gp,gp,1
+80000140: 22c000ef jal ra,8000036c <barrier_lrsc>
+80000144: 00000297 auipc t0,0x0
+80000148: 3002a823 sw zero,784(t0) # 80000454 <consistancy_all_tested>
+
+8000014c <consistancy_loop>:
+8000014c: 00018513 mv a0,gp
+80000150: 00118193 addi gp,gp,1
+80000154: 218000ef jal ra,8000036c <barrier_lrsc>
+80000158: 00000297 auipc t0,0x0
+8000015c: 2fc2a283 lw t0,764(t0) # 80000454 <consistancy_all_tested>
+80000160: 03200313 li t1,50
+80000164: 1662da63 bge t0,t1,800002d8 <consistancy_passed>
+80000168: 00000297 auipc t0,0x0
+8000016c: 2e42a283 lw t0,740(t0) # 8000044c <consistancy_a_hart>
+80000170: 00000317 auipc t1,0x0
+80000174: 2e032303 lw t1,736(t1) # 80000450 <consistancy_b_hart>
+80000178: 06628c63 beq t0,t1,800001f0 <consistancy_join>
+8000017c: f14022f3 csrr t0,mhartid
+80000180: 00000317 auipc t1,0x0
+80000184: 2cc32303 lw t1,716(t1) # 8000044c <consistancy_a_hart>
+80000188: 00000417 auipc s0,0x0
+8000018c: 33840413 addi s0,s0,824 # 800004c0 <consistancy_a_value>
+80000190: 00000497 auipc s1,0x0
+80000194: 33448493 addi s1,s1,820 # 800004c4 <consistancy_b_value>
+80000198: 02628863 beq t0,t1,800001c8 <consistancy_do>
+8000019c: 00000317 auipc t1,0x0
+800001a0: 2b432303 lw t1,692(t1) # 80000450 <consistancy_b_hart>
+800001a4: 00000417 auipc s0,0x0
+800001a8: 32040413 addi s0,s0,800 # 800004c4 <consistancy_b_value>
+800001ac: 00000497 auipc s1,0x0
+800001b0: 31448493 addi s1,s1,788 # 800004c0 <consistancy_a_value>
+800001b4: 00628a63 beq t0,t1,800001c8 <consistancy_do>
+
+800001b8 <consistancy_hart_not_involved>:
+800001b8: 00018513 mv a0,gp
+800001bc: 00118193 addi gp,gp,1
+800001c0: 1ac000ef jal ra,8000036c <barrier_lrsc>
+800001c4: 02c0006f j 800001f0 <consistancy_join>
+
+800001c8 <consistancy_do>:
+800001c8: 00000297 auipc t0,0x0
+800001cc: 3782a283 lw t0,888(t0) # 80000540 <consistancy_init_call>
+800001d0: 000280e7 jalr t0
+
+800001d4 <consistancy_do_init_done>:
+800001d4: 29a00913 li s2,666
+800001d8: 00018513 mv a0,gp
+800001dc: 00118193 addi gp,gp,1
+800001e0: 18c000ef jal ra,8000036c <barrier_lrsc>
+800001e4: 00000297 auipc t0,0x0
+800001e8: 3602a283 lw t0,864(t0) # 80000544 <consistancy_do_call>
+800001ec: 000280e7 jalr t0
+
+800001f0 <consistancy_join>:
+800001f0: 0330000f fence rw,rw
+800001f4: 00018513 mv a0,gp
+800001f8: 00118193 addi gp,gp,1
+800001fc: 170000ef jal ra,8000036c <barrier_lrsc>
+80000200: f14022f3 csrr t0,mhartid
+80000204: f40294e3 bnez t0,8000014c <consistancy_loop>
+
+80000208 <consistancy_assert>:
+80000208: 00000297 auipc t0,0x0
+8000020c: 2442a283 lw t0,580(t0) # 8000044c <consistancy_a_hart>
+80000210: 00000317 auipc t1,0x0
+80000214: 24032303 lw t1,576(t1) # 80000450 <consistancy_b_hart>
+80000218: 04628263 beq t0,t1,8000025c <consistancy_increment>
+8000021c: 00000517 auipc a0,0x0
+80000220: 2e852503 lw a0,744(a0) # 80000504 <consistancy_a_readed>
+80000224: f80002b7 lui t0,0xf8000
+80000228: 01428293 addi t0,t0,20 # f8000014 <consistancy_done_call+0x77fffacc>
+8000022c: f1402373 csrr t1,mhartid
+80000230: 01031313 slli t1,t1,0x10
+80000234: 006282b3 add t0,t0,t1
+80000238: 00a2a023 sw a0,0(t0)
+8000023c: 00000517 auipc a0,0x0
+80000240: 2c452503 lw a0,708(a0) # 80000500 <consistancy_b_readed>
+80000244: f80002b7 lui t0,0xf8000
+80000248: 01428293 addi t0,t0,20 # f8000014 <consistancy_done_call+0x77fffacc>
+8000024c: f1402373 csrr t1,mhartid
+80000250: 01031313 slli t1,t1,0x10
+80000254: 006282b3 add t0,t0,t1
+80000258: 00a2a023 sw a0,0(t0)
+
+8000025c <consistancy_increment>:
+8000025c: f14022f3 csrr t0,mhartid
+80000260: ee0296e3 bnez t0,8000014c <consistancy_loop>
+80000264: 00000297 auipc t0,0x0
+80000268: 2402ae23 sw zero,604(t0) # 800004c0 <consistancy_a_value>
+8000026c: 00000297 auipc t0,0x0
+80000270: 2402ac23 sw zero,600(t0) # 800004c4 <consistancy_b_value>
+80000274: 00000417 auipc s0,0x0
+80000278: 1c842403 lw s0,456(s0) # 8000043c <thread_count>
+8000027c: 00000297 auipc t0,0x0
+80000280: 1d42a283 lw t0,468(t0) # 80000450 <consistancy_b_hart>
+80000284: 00128293 addi t0,t0,1
+80000288: 00000317 auipc t1,0x0
+8000028c: 1c532423 sw t0,456(t1) # 80000450 <consistancy_b_hart>
+80000290: 04829063 bne t0,s0,800002d0 <consistancy_increment_fence>
+80000294: 00000317 auipc t1,0x0
+80000298: 1a032e23 sw zero,444(t1) # 80000450 <consistancy_b_hart>
+8000029c: 00000297 auipc t0,0x0
+800002a0: 1b02a283 lw t0,432(t0) # 8000044c <consistancy_a_hart>
+800002a4: 00128293 addi t0,t0,1
+800002a8: 00000317 auipc t1,0x0
+800002ac: 1a532223 sw t0,420(t1) # 8000044c <consistancy_a_hart>
+800002b0: 02829063 bne t0,s0,800002d0 <consistancy_increment_fence>
+800002b4: 00000317 auipc t1,0x0
+800002b8: 18032c23 sw zero,408(t1) # 8000044c <consistancy_a_hart>
+800002bc: 00000297 auipc t0,0x0
+800002c0: 1982a283 lw t0,408(t0) # 80000454 <consistancy_all_tested>
+800002c4: 00128293 addi t0,t0,1
+800002c8: 00000317 auipc t1,0x0
+800002cc: 18532623 sw t0,396(t1) # 80000454 <consistancy_all_tested>
+
+800002d0 <consistancy_increment_fence>:
+800002d0: 0130000f fence w,rw
+800002d4: e79ff06f j 8000014c <consistancy_loop>
+
+800002d8 <consistancy_passed>:
+800002d8: 00000417 auipc s0,0x0
+800002dc: 27042403 lw s0,624(s0) # 80000548 <consistancy_done_call>
+800002e0: 00018513 mv a0,gp
+800002e4: 00118193 addi gp,gp,1
+800002e8: 084000ef jal ra,8000036c <barrier_lrsc>
+800002ec: 000400e7 jalr s0
+
+800002f0 <barrier_amo>:
+800002f0: f80002b7 lui t0,0xf8000
+800002f4: 00c28293 addi t0,t0,12 # f800000c <consistancy_done_call+0x77fffac4>
+800002f8: f1402373 csrr t1,mhartid
+800002fc: 01031313 slli t1,t1,0x10
+80000300: 006282b3 add t0,t0,t1
+80000304: 00a2a023 sw a0,0(t0)
+80000308: 00000e97 auipc t4,0x0
+8000030c: 13ceae83 lw t4,316(t4) # 80000444 <barrier_phase>
+80000310: 00000297 auipc t0,0x0
+80000314: 13028293 addi t0,t0,304 # 80000440 <barrier_value>
+80000318: 00100313 li t1,1
+8000031c: 0062a2af amoadd.w t0,t1,(t0)
+80000320: 00128293 addi t0,t0,1
+80000324: 00000317 auipc t1,0x0
+80000328: 11832303 lw t1,280(t1) # 8000043c <thread_count>
+8000032c: 00629c63 bne t0,t1,80000344 <barrier_amo_wait>
+80000330: 001e8293 addi t0,t4,1
+80000334: 00000317 auipc t1,0x0
+80000338: 10032623 sw zero,268(t1) # 80000440 <barrier_value>
+8000033c: 00000317 auipc t1,0x0
+80000340: 10532423 sw t0,264(t1) # 80000444 <barrier_phase>
+
+80000344 <barrier_amo_wait>:
+80000344: 00000297 auipc t0,0x0
+80000348: 1002a283 lw t0,256(t0) # 80000444 <barrier_phase>
+8000034c: ffd28ce3 beq t0,t4,80000344 <barrier_amo_wait>
+80000350: f80002b7 lui t0,0xf8000
+80000354: 01028293 addi t0,t0,16 # f8000010 <consistancy_done_call+0x77fffac8>
+80000358: f1402373 csrr t1,mhartid
+8000035c: 01031313 slli t1,t1,0x10
+80000360: 006282b3 add t0,t0,t1
+80000364: 00a2a023 sw a0,0(t0)
+80000368: 00008067 ret
+
+8000036c <barrier_lrsc>:
+8000036c: f80002b7 lui t0,0xf8000
+80000370: 00c28293 addi t0,t0,12 # f800000c <consistancy_done_call+0x77fffac4>
+80000374: f1402373 csrr t1,mhartid
+80000378: 01031313 slli t1,t1,0x10
+8000037c: 006282b3 add t0,t0,t1
+80000380: 00a2a023 sw a0,0(t0)
+80000384: 00000e97 auipc t4,0x0
+80000388: 0c0eae83 lw t4,192(t4) # 80000444 <barrier_phase>
+8000038c: 00000297 auipc t0,0x0
+80000390: 0b428293 addi t0,t0,180 # 80000440 <barrier_value>
+
+80000394 <barrier_lrsc_try>:
+80000394: 1002a32f lr.w t1,(t0)
+80000398: 00130313 addi t1,t1,1
+8000039c: 1862a3af sc.w t2,t1,(t0)
+800003a0: fe039ae3 bnez t2,80000394 <barrier_lrsc_try>
+800003a4: 00000297 auipc t0,0x0
+800003a8: 0982a283 lw t0,152(t0) # 8000043c <thread_count>
+800003ac: 00629c63 bne t0,t1,800003c4 <barrier_lrsc_wait>
+800003b0: 001e8293 addi t0,t4,1
+800003b4: 00000317 auipc t1,0x0
+800003b8: 08032623 sw zero,140(t1) # 80000440 <barrier_value>
+800003bc: 00000317 auipc t1,0x0
+800003c0: 08532423 sw t0,136(t1) # 80000444 <barrier_phase>
+
+800003c4 <barrier_lrsc_wait>:
+800003c4: 00000297 auipc t0,0x0
+800003c8: 0802a283 lw t0,128(t0) # 80000444 <barrier_phase>
+800003cc: ffd28ce3 beq t0,t4,800003c4 <barrier_lrsc_wait>
+800003d0: f80002b7 lui t0,0xf8000
+800003d4: 01028293 addi t0,t0,16 # f8000010 <consistancy_done_call+0x77fffac8>
+800003d8: f1402373 csrr t1,mhartid
+800003dc: 01031313 slli t1,t1,0x10
+800003e0: 006282b3 add t0,t0,t1
+800003e4: 00a2a023 sw a0,0(t0)
+800003e8: 00008067 ret
+
+800003ec <success>:
+800003ec: 00000413 li s0,0
+800003f0: f80002b7 lui t0,0xf8000
+800003f4: 00828293 addi t0,t0,8 # f8000008 <consistancy_done_call+0x77fffac0>
+800003f8: f1402373 csrr t1,mhartid
+800003fc: 01031313 slli t1,t1,0x10
+80000400: 006282b3 add t0,t0,t1
+80000404: 0082a023 sw s0,0(t0)
+80000408: 0240006f j 8000042c <end>
+
+8000040c <failure>:
+8000040c: 00100413 li s0,1
+80000410: f80002b7 lui t0,0xf8000
+80000414: 00828293 addi t0,t0,8 # f8000008 <consistancy_done_call+0x77fffac0>
+80000418: f1402373 csrr t1,mhartid
+8000041c: 01031313 slli t1,t1,0x10
+80000420: 006282b3 add t0,t0,t1
+80000424: 0082a023 sw s0,0(t0)
+80000428: 0040006f j 8000042c <end>
+
+8000042c <end>:
+8000042c: 0000006f j 8000042c <end>
+
+80000430 <sleep>:
+80000430: fff50513 addi a0,a0,-1
+80000434: fe051ee3 bnez a0,80000430 <sleep>
+80000438: 00008067 ret
+
+8000043c <thread_count>:
+8000043c: 0000 unimp
+ ...
+
+80000440 <barrier_value>:
+80000440: 0000 unimp
+ ...
+
+80000444 <barrier_phase>:
+80000444: 0000 unimp
+ ...
+
+80000448 <barrier_allocator>:
+80000448: 1000 addi s0,sp,32
+ ...
+
+8000044c <consistancy_a_hart>:
+8000044c: 0000 unimp
+ ...
+
+80000450 <consistancy_b_hart>:
+80000450: 0000 unimp
+ ...
+
+80000454 <consistancy_all_tested>:
+80000454: 0000 unimp
+80000456: 0000 unimp
+80000458: 00000013 nop
+8000045c: 00000013 nop
+80000460: 00000013 nop
+80000464: 00000013 nop
+80000468: 00000013 nop
+8000046c: 00000013 nop
+80000470: 00000013 nop
+80000474: 00000013 nop
+80000478: 00000013 nop
+8000047c: 00000013 nop
+80000480: 00000013 nop
+80000484: 00000013 nop
+80000488: 00000013 nop
+8000048c: 00000013 nop
+80000490: 00000013 nop
+80000494: 00000013 nop
+80000498: 00000013 nop
+8000049c: 00000013 nop
+800004a0: 00000013 nop
+800004a4: 00000013 nop
+800004a8: 00000013 nop
+800004ac: 00000013 nop
+800004b0: 00000013 nop
+800004b4: 00000013 nop
+800004b8: 00000013 nop
+800004bc: 00000013 nop
+
+800004c0 <consistancy_a_value>:
+800004c0: 0000 unimp
+ ...
+
+800004c4 <consistancy_b_value>:
+800004c4: 0000 unimp
+800004c6: 0000 unimp
+800004c8: 00000013 nop
+800004cc: 00000013 nop
+800004d0: 00000013 nop
+800004d4: 00000013 nop
+800004d8: 00000013 nop
+800004dc: 00000013 nop
+800004e0: 00000013 nop
+800004e4: 00000013 nop
+800004e8: 00000013 nop
+800004ec: 00000013 nop
+800004f0: 00000013 nop
+800004f4: 00000013 nop
+800004f8: 00000013 nop
+800004fc: 00000013 nop
+
+80000500 <consistancy_b_readed>:
+80000500: 0000 unimp
+ ...
+
+80000504 <consistancy_a_readed>:
+80000504: 0000 unimp
+80000506: 0000 unimp
+80000508: 00000013 nop
+8000050c: 00000013 nop
+80000510: 00000013 nop
+80000514: 00000013 nop
+80000518: 00000013 nop
+8000051c: 00000013 nop
+80000520: 00000013 nop
+80000524: 00000013 nop
+80000528: 00000013 nop
+8000052c: 00000013 nop
+80000530: 00000013 nop
+80000534: 00000013 nop
+80000538: 00000013 nop
+8000053c: 00000013 nop
+
+80000540 <consistancy_init_call>:
+80000540: 0000 unimp
+ ...
+
+80000544 <consistancy_do_call>:
+80000544: 0000 unimp
+ ...
+
+80000548 <consistancy_done_call>:
+ ...
diff --git a/VexRiscv/src/test/cpp/raw/smp/build/smp.bin b/VexRiscv/src/test/cpp/raw/smp/build/smp.bin
new file mode 100755
index 0000000..5ce6918
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/smp/build/smp.bin
Binary files differ
diff --git a/VexRiscv/src/test/cpp/raw/smp/makefile b/VexRiscv/src/test/cpp/raw/smp/makefile
new file mode 100644
index 0000000..0886c1b
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/smp/makefile
@@ -0,0 +1,5 @@
+PROJ_NAME=smp
+
+ATOMIC=yes
+
+include ../common/asm.mk \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/smp/src/crt.S b/VexRiscv/src/test/cpp/raw/smp/src/crt.S
new file mode 100644
index 0000000..9a72bd7
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/smp/src/crt.S
@@ -0,0 +1,287 @@
+#define CONSISTENCY_REDO_COUNT 50
+
+
+#define REPORT_OFFSET 0xF8000000
+#define REPORT_THREAD_ID 0x00
+#define REPORT_THREAD_COUNT 0x04
+#define REPORT_END 0x08
+#define REPORT_BARRIER_START 0x0C
+#define REPORT_BARRIER_END 0x10
+#define REPORT_CONSISTENCY_VALUES 0x14
+
+#define report(reg, id) \
+ li t0, REPORT_OFFSET+id; \
+ csrr t1, mhartid; \
+ slli t1, t1, 16; \
+ add t0, t0, t1; \
+ sw reg, 0(t0); \
+
+_start:
+ csrr s0, mhartid
+ report(s0, REPORT_THREAD_ID)
+
+
+count_thread_start:
+ //Count up threads
+ li a0, 1
+ la a1, thread_count
+ amoadd.w x0, a0, (a1)
+
+count_thread_wait:
+ //Wait everybody
+ lw s0, thread_count
+ li a0, 400
+ call sleep
+ lw s1, thread_count
+ bne s1, s0, count_thread_wait
+ report(s1, REPORT_THREAD_COUNT)
+
+
+barrier_amo_test:
+ li a0, 1
+ call barrier_amo
+ li a0, 2
+ call barrier_amo
+ li a0, 3
+ call barrier_amo
+
+ li a0, 4
+ call barrier_lrsc
+ li a0, 5
+ call barrier_lrsc
+ li a0, 6
+ call barrier_lrsc
+
+ li a0, 7
+ call barrier_amo
+ li a0, 8
+ call barrier_lrsc
+
+
+ lw gp, barrier_allocator
+
+consistancy_test1:
+ la t0, consistancy_init_load
+ sw t0, consistancy_init_call, t1
+ la t0, consistancy_do_simple_fence
+ sw t0, consistancy_do_call, t1
+ la t0, consistancy_test2
+ sw t0, consistancy_done_call, t1
+ j consistancy_start
+
+consistancy_test2:
+ la t0, consistancy_init_load
+ sw t0, consistancy_init_call, t1
+ la t0, consistancy_do_rl_fence
+ sw t0, consistancy_do_call, t1
+ la t0, success
+ sw t0, consistancy_done_call, t1
+ j consistancy_start
+
+
+consistancy_init_load:
+ lw s3, (s1) //Help getting the cache loaded for the consistancy check
+ j consistancy_do_init_done
+
+consistancy_do_simple_fence:
+ //Consistancy check : write to read ordering on two thread
+ sw s2, (s0)
+ fence w,r
+ lw s3, (s1)
+ sw s3, 64(s0)
+ j consistancy_join
+
+consistancy_do_rl_fence:
+ //Consistancy check : write to read ordering on two thread
+ sw s2, (s0)
+ lr.w.rl s3, (s1)
+ sw s3, 64(s0)
+ j consistancy_join
+
+
+consistancy_start:
+ mv a0, gp
+ addi gp, gp, 1
+ call barrier_lrsc
+ sw x0, consistancy_all_tested, t0
+consistancy_loop:
+ //Sync
+ mv a0, gp
+ addi gp, gp, 1
+ call barrier_lrsc
+
+ //all passed ?
+ lw t0, consistancy_all_tested
+ li t1, CONSISTENCY_REDO_COUNT
+ bge t0, t1, consistancy_passed
+
+ //identify who is A, who is B
+ lw t0, consistancy_a_hart
+ lw t1, consistancy_b_hart
+ beq t0, t1, consistancy_join
+ csrr t0, mhartid
+ lw t1, consistancy_a_hart
+ la s0, consistancy_a_value
+ la s1, consistancy_b_value
+ beq t0, t1, consistancy_do
+ lw t1, consistancy_b_hart
+ la s0, consistancy_b_value
+ la s1, consistancy_a_value
+ beq t0, t1, consistancy_do
+
+consistancy_hart_not_involved:
+ mv a0, gp
+ addi gp, gp, 1
+ call barrier_lrsc
+ j consistancy_join
+
+consistancy_do:
+ lw t0, consistancy_init_call
+ jalr t0
+consistancy_do_init_done:
+ li s2, 666
+ mv a0, gp
+ addi gp, gp, 1
+ call barrier_lrsc
+
+
+ lw t0, consistancy_do_call
+ jalr t0
+
+consistancy_join:
+ fence rw, rw //ensure updated values
+ mv a0, gp
+ addi gp, gp, 1
+ call barrier_lrsc
+ csrr t0, mhartid
+ bnez t0, consistancy_loop
+
+consistancy_assert:
+ lw t0, consistancy_a_hart
+ lw t1, consistancy_b_hart
+ beq t0, t1, consistancy_increment
+ lw a0, consistancy_a_readed
+ report(a0, REPORT_CONSISTENCY_VALUES)
+ lw a0, consistancy_b_readed
+ report(a0, REPORT_CONSISTENCY_VALUES)
+
+consistancy_increment:
+ csrr t0, mhartid
+ bnez t0, consistancy_loop
+ sw x0, (consistancy_a_value), t0
+ sw x0, (consistancy_b_value), t0
+ lw s0,thread_count
+ lw t0,consistancy_b_hart
+ addi t0, t0, 1
+ sw t0, consistancy_b_hart, t1
+ bne t0, s0, consistancy_increment_fence
+ sw x0, consistancy_b_hart, t1
+ lw t0,consistancy_a_hart
+ addi t0, t0, 1
+ sw t0, consistancy_a_hart, t1
+ bne t0, s0, consistancy_increment_fence
+ sw x0, consistancy_a_hart, t1
+ lw t0, consistancy_all_tested
+ addi t0, t0, 1
+ sw t0, consistancy_all_tested, t1
+consistancy_increment_fence:
+ fence w, rw
+ j consistancy_loop
+
+consistancy_passed:
+ lw s0, consistancy_done_call
+ mv a0, gp
+ addi gp, gp, 1
+ call barrier_lrsc
+ jalr s0
+
+
+
+#define ENTRY_PHASE t4
+barrier_amo:
+ report(a0, REPORT_BARRIER_START)
+ lw ENTRY_PHASE, barrier_phase
+ la t0, barrier_value
+ li t1, 1
+ amoadd.w t0, t1, (t0)
+ addi t0, t0, 1
+ lw t1, thread_count
+ bne t0, t1, barrier_amo_wait
+ addi t0,ENTRY_PHASE,1
+ sw x0, barrier_value, t1
+ sw t0, barrier_phase, t1
+barrier_amo_wait:
+ lw t0, barrier_phase
+ beq t0, ENTRY_PHASE, barrier_amo_wait
+ report(a0, REPORT_BARRIER_END)
+ ret
+
+barrier_lrsc:
+ report(a0, REPORT_BARRIER_START)
+ lw ENTRY_PHASE, barrier_phase
+ la t0, barrier_value
+barrier_lrsc_try:
+ lr.w t1, (t0)
+ addi t1, t1, 1
+ sc.w t2, t1, (t0)
+ bnez t2, barrier_lrsc_try
+ lw t0, thread_count
+ bne t0, t1, barrier_lrsc_wait
+ addi t0,ENTRY_PHASE,1
+ sw x0, barrier_value, t1
+ sw t0, barrier_phase, t1
+barrier_lrsc_wait:
+ lw t0, barrier_phase
+ beq t0, ENTRY_PHASE, barrier_lrsc_wait
+ report(a0, REPORT_BARRIER_END)
+ ret
+
+
+
+
+success:
+ li s0, 0
+ report(s0, REPORT_END)
+ j end
+
+failure:
+ li s0, 1
+ report(s0, REPORT_END)
+ j end
+
+end:
+ j end
+
+
+sleep:
+ addi a0, a0, -1
+ bnez a0, sleep
+ ret
+
+
+thread_count: .word 0
+
+.align 6 //Same cache line
+barrier_value: .word 0
+barrier_phase: .word 0
+barrier_allocator: .word 0x1000
+
+consistancy_a_hart: .word 0
+consistancy_b_hart: .word 0
+consistancy_all_tested: .word 0
+
+
+nop;nop;nop;nop;nop;nop;nop;nop;
+nop;nop;nop;nop;nop;nop;nop;nop;
+.align 6 //Same cache line
+consistancy_a_value: .word 0
+consistancy_b_value: .word 0
+
+.align 6 //Same cache line
+consistancy_b_readed: .word 0
+consistancy_a_readed: .word 0
+
+.align 6 //Same cache line
+consistancy_init_call: .word 0
+consistancy_do_call: .word 0
+consistancy_done_call: .word 0 \ No newline at end of file
diff --git a/VexRiscv/src/test/cpp/raw/smp/src/ld b/VexRiscv/src/test/cpp/raw/smp/src/ld
new file mode 100644
index 0000000..93d8de8
--- /dev/null
+++ b/VexRiscv/src/test/cpp/raw/smp/src/ld
@@ -0,0 +1,16 @@
+OUTPUT_ARCH( "riscv" )
+
+MEMORY {
+ onChipRam (W!RX)/*(RX)*/ : ORIGIN = 0x80000000, LENGTH = 128K
+}
+
+SECTIONS
+{
+
+ .crt_section :
+ {
+ . = ALIGN(4);
+ *crt.o(.text)
+ } > onChipRam
+
+}