diff --git a/hdl/tb/core_tb.v b/hdl/tb/core_tb.v
index ad23093..d94afa9 100644
--- a/hdl/tb/core_tb.v
+++ b/hdl/tb/core_tb.v
@@ -55,7 +55,7 @@ initial begin
#10
reset = 0;
- #2000
+ #5000
reset = 1;
$stop;
end
diff --git a/sim/core_tb.wcfg b/sim/core_tb.wcfg
index 2563345..4b4b65e 100644
--- a/sim/core_tb.wcfg
+++ b/sim/core_tb.wcfg
@@ -23,6 +23,1286 @@
mem_data[0:255,31:0]
mem_data[0:255,31:0]
HEXRADIX
+
+ [0,31:0]
+ mem_data[0,31:0]
+ HEXRADIX
+
+
+ [1,31:0]
+ mem_data[1,31:0]
+ HEXRADIX
+
+
+ [2,31:0]
+ mem_data[2,31:0]
+ HEXRADIX
+
+
+ [3,31:0]
+ mem_data[3,31:0]
+ HEXRADIX
+
+
+ [4,31:0]
+ mem_data[4,31:0]
+ HEXRADIX
+
+
+ [5,31:0]
+ mem_data[5,31:0]
+ HEXRADIX
+
+
+ [6,31:0]
+ mem_data[6,31:0]
+ HEXRADIX
+
+
+ [7,31:0]
+ mem_data[7,31:0]
+ HEXRADIX
+
+
+ [8,31:0]
+ mem_data[8,31:0]
+ HEXRADIX
+
+
+ [9,31:0]
+ mem_data[9,31:0]
+ HEXRADIX
+
+
+ [10,31:0]
+ mem_data[10,31:0]
+ HEXRADIX
+
+
+ [11,31:0]
+ mem_data[11,31:0]
+ HEXRADIX
+
+
+ [12,31:0]
+ mem_data[12,31:0]
+ HEXRADIX
+
+
+ [13,31:0]
+ mem_data[13,31:0]
+ HEXRADIX
+
+
+ [14,31:0]
+ mem_data[14,31:0]
+ HEXRADIX
+
+
+ [15,31:0]
+ mem_data[15,31:0]
+ HEXRADIX
+
+
+ [16,31:0]
+ mem_data[16,31:0]
+ HEXRADIX
+
+
+ [17,31:0]
+ mem_data[17,31:0]
+ HEXRADIX
+
+
+ [18,31:0]
+ mem_data[18,31:0]
+ HEXRADIX
+
+
+ [19,31:0]
+ mem_data[19,31:0]
+ HEXRADIX
+
+
+ [20,31:0]
+ mem_data[20,31:0]
+ HEXRADIX
+
+
+ [21,31:0]
+ mem_data[21,31:0]
+ HEXRADIX
+
+
+ [22,31:0]
+ mem_data[22,31:0]
+ HEXRADIX
+
+
+ [23,31:0]
+ mem_data[23,31:0]
+ HEXRADIX
+
+
+ [24,31:0]
+ mem_data[24,31:0]
+ HEXRADIX
+
+
+ [25,31:0]
+ mem_data[25,31:0]
+ HEXRADIX
+
+
+ [26,31:0]
+ mem_data[26,31:0]
+ HEXRADIX
+
+
+ [27,31:0]
+ mem_data[27,31:0]
+ HEXRADIX
+
+
+ [28,31:0]
+ mem_data[28,31:0]
+ HEXRADIX
+
+
+ [29,31:0]
+ mem_data[29,31:0]
+ HEXRADIX
+
+
+ [30,31:0]
+ mem_data[30,31:0]
+ HEXRADIX
+
+
+ [31,31:0]
+ mem_data[31,31:0]
+ HEXRADIX
+
+
+ [32,31:0]
+ mem_data[32,31:0]
+ HEXRADIX
+
+
+ [33,31:0]
+ mem_data[33,31:0]
+ HEXRADIX
+
+
+ [34,31:0]
+ mem_data[34,31:0]
+ HEXRADIX
+
+
+ [35,31:0]
+ mem_data[35,31:0]
+ HEXRADIX
+
+
+ [36,31:0]
+ mem_data[36,31:0]
+ HEXRADIX
+
+
+ [37,31:0]
+ mem_data[37,31:0]
+ HEXRADIX
+
+
+ [38,31:0]
+ mem_data[38,31:0]
+ HEXRADIX
+
+
+ [39,31:0]
+ mem_data[39,31:0]
+ HEXRADIX
+
+
+ [40,31:0]
+ mem_data[40,31:0]
+ HEXRADIX
+
+
+ [41,31:0]
+ mem_data[41,31:0]
+ HEXRADIX
+
+
+ [42,31:0]
+ mem_data[42,31:0]
+ HEXRADIX
+
+
+ [43,31:0]
+ mem_data[43,31:0]
+ HEXRADIX
+
+
+ [44,31:0]
+ mem_data[44,31:0]
+ HEXRADIX
+
+
+ [45,31:0]
+ mem_data[45,31:0]
+ HEXRADIX
+
+
+ [46,31:0]
+ mem_data[46,31:0]
+ HEXRADIX
+
+
+ [47,31:0]
+ mem_data[47,31:0]
+ HEXRADIX
+
+
+ [48,31:0]
+ mem_data[48,31:0]
+ HEXRADIX
+
+
+ [49,31:0]
+ mem_data[49,31:0]
+ HEXRADIX
+
+
+ [50,31:0]
+ mem_data[50,31:0]
+ HEXRADIX
+
+
+ [51,31:0]
+ mem_data[51,31:0]
+ HEXRADIX
+
+
+ [52,31:0]
+ mem_data[52,31:0]
+ HEXRADIX
+
+
+ [53,31:0]
+ mem_data[53,31:0]
+ HEXRADIX
+
+
+ [54,31:0]
+ mem_data[54,31:0]
+ HEXRADIX
+
+
+ [55,31:0]
+ mem_data[55,31:0]
+ HEXRADIX
+
+
+ [56,31:0]
+ mem_data[56,31:0]
+ HEXRADIX
+
+
+ [57,31:0]
+ mem_data[57,31:0]
+ HEXRADIX
+
+
+ [58,31:0]
+ mem_data[58,31:0]
+ HEXRADIX
+
+
+ [59,31:0]
+ mem_data[59,31:0]
+ HEXRADIX
+
+
+ [60,31:0]
+ mem_data[60,31:0]
+ HEXRADIX
+
+
+ [61,31:0]
+ mem_data[61,31:0]
+ HEXRADIX
+
+
+ [62,31:0]
+ mem_data[62,31:0]
+ HEXRADIX
+
+
+ [63,31:0]
+ mem_data[63,31:0]
+ HEXRADIX
+
+
+ [64,31:0]
+ mem_data[64,31:0]
+ HEXRADIX
+
+
+ [65,31:0]
+ mem_data[65,31:0]
+ HEXRADIX
+
+
+ [66,31:0]
+ mem_data[66,31:0]
+ HEXRADIX
+
+
+ [67,31:0]
+ mem_data[67,31:0]
+ HEXRADIX
+
+
+ [68,31:0]
+ mem_data[68,31:0]
+ HEXRADIX
+
+
+ [69,31:0]
+ mem_data[69,31:0]
+ HEXRADIX
+
+
+ [70,31:0]
+ mem_data[70,31:0]
+ HEXRADIX
+
+
+ [71,31:0]
+ mem_data[71,31:0]
+ HEXRADIX
+
+
+ [72,31:0]
+ mem_data[72,31:0]
+ HEXRADIX
+
+
+ [73,31:0]
+ mem_data[73,31:0]
+ HEXRADIX
+
+
+ [74,31:0]
+ mem_data[74,31:0]
+ HEXRADIX
+
+
+ [75,31:0]
+ mem_data[75,31:0]
+ HEXRADIX
+
+
+ [76,31:0]
+ mem_data[76,31:0]
+ HEXRADIX
+
+
+ [77,31:0]
+ mem_data[77,31:0]
+ HEXRADIX
+
+
+ [78,31:0]
+ mem_data[78,31:0]
+ HEXRADIX
+
+
+ [79,31:0]
+ mem_data[79,31:0]
+ HEXRADIX
+
+
+ [80,31:0]
+ mem_data[80,31:0]
+ HEXRADIX
+
+
+ [81,31:0]
+ mem_data[81,31:0]
+ HEXRADIX
+
+
+ [82,31:0]
+ mem_data[82,31:0]
+ HEXRADIX
+
+
+ [83,31:0]
+ mem_data[83,31:0]
+ HEXRADIX
+
+
+ [84,31:0]
+ mem_data[84,31:0]
+ HEXRADIX
+
+
+ [85,31:0]
+ mem_data[85,31:0]
+ HEXRADIX
+
+
+ [86,31:0]
+ mem_data[86,31:0]
+ HEXRADIX
+
+
+ [87,31:0]
+ mem_data[87,31:0]
+ HEXRADIX
+
+
+ [88,31:0]
+ mem_data[88,31:0]
+ HEXRADIX
+
+
+ [89,31:0]
+ mem_data[89,31:0]
+ HEXRADIX
+
+
+ [90,31:0]
+ mem_data[90,31:0]
+ HEXRADIX
+
+
+ [91,31:0]
+ mem_data[91,31:0]
+ HEXRADIX
+
+
+ [92,31:0]
+ mem_data[92,31:0]
+ HEXRADIX
+
+
+ [93,31:0]
+ mem_data[93,31:0]
+ HEXRADIX
+
+
+ [94,31:0]
+ mem_data[94,31:0]
+ HEXRADIX
+
+
+ [95,31:0]
+ mem_data[95,31:0]
+ HEXRADIX
+
+
+ [96,31:0]
+ mem_data[96,31:0]
+ HEXRADIX
+
+
+ [97,31:0]
+ mem_data[97,31:0]
+ HEXRADIX
+
+
+ [98,31:0]
+ mem_data[98,31:0]
+ HEXRADIX
+
+
+ [99,31:0]
+ mem_data[99,31:0]
+ HEXRADIX
+
+
+ [100,31:0]
+ mem_data[100,31:0]
+ HEXRADIX
+
+
+ [101,31:0]
+ mem_data[101,31:0]
+ HEXRADIX
+
+
+ [102,31:0]
+ mem_data[102,31:0]
+ HEXRADIX
+
+
+ [103,31:0]
+ mem_data[103,31:0]
+ HEXRADIX
+
+
+ [104,31:0]
+ mem_data[104,31:0]
+ HEXRADIX
+
+
+ [105,31:0]
+ mem_data[105,31:0]
+ HEXRADIX
+
+
+ [106,31:0]
+ mem_data[106,31:0]
+ HEXRADIX
+
+
+ [107,31:0]
+ mem_data[107,31:0]
+ HEXRADIX
+
+
+ [108,31:0]
+ mem_data[108,31:0]
+ HEXRADIX
+
+
+ [109,31:0]
+ mem_data[109,31:0]
+ HEXRADIX
+
+
+ [110,31:0]
+ mem_data[110,31:0]
+ HEXRADIX
+
+
+ [111,31:0]
+ mem_data[111,31:0]
+ HEXRADIX
+
+
+ [112,31:0]
+ mem_data[112,31:0]
+ HEXRADIX
+
+
+ [113,31:0]
+ mem_data[113,31:0]
+ HEXRADIX
+
+
+ [114,31:0]
+ mem_data[114,31:0]
+ HEXRADIX
+
+
+ [115,31:0]
+ mem_data[115,31:0]
+ HEXRADIX
+
+
+ [116,31:0]
+ mem_data[116,31:0]
+ HEXRADIX
+
+
+ [117,31:0]
+ mem_data[117,31:0]
+ HEXRADIX
+
+
+ [118,31:0]
+ mem_data[118,31:0]
+ HEXRADIX
+
+
+ [119,31:0]
+ mem_data[119,31:0]
+ HEXRADIX
+
+
+ [120,31:0]
+ mem_data[120,31:0]
+ HEXRADIX
+
+
+ [121,31:0]
+ mem_data[121,31:0]
+ HEXRADIX
+
+
+ [122,31:0]
+ mem_data[122,31:0]
+ HEXRADIX
+
+
+ [123,31:0]
+ mem_data[123,31:0]
+ HEXRADIX
+
+
+ [124,31:0]
+ mem_data[124,31:0]
+ HEXRADIX
+
+
+ [125,31:0]
+ mem_data[125,31:0]
+ HEXRADIX
+
+
+ [126,31:0]
+ mem_data[126,31:0]
+ HEXRADIX
+
+
+ [127,31:0]
+ mem_data[127,31:0]
+ HEXRADIX
+
+
+ [128,31:0]
+ mem_data[128,31:0]
+ HEXRADIX
+
+
+ [129,31:0]
+ mem_data[129,31:0]
+ HEXRADIX
+
+
+ [130,31:0]
+ mem_data[130,31:0]
+ HEXRADIX
+
+
+ [131,31:0]
+ mem_data[131,31:0]
+ HEXRADIX
+
+
+ [132,31:0]
+ mem_data[132,31:0]
+ HEXRADIX
+
+
+ [133,31:0]
+ mem_data[133,31:0]
+ HEXRADIX
+
+
+ [134,31:0]
+ mem_data[134,31:0]
+ HEXRADIX
+
+
+ [135,31:0]
+ mem_data[135,31:0]
+ HEXRADIX
+
+
+ [136,31:0]
+ mem_data[136,31:0]
+ HEXRADIX
+
+
+ [137,31:0]
+ mem_data[137,31:0]
+ HEXRADIX
+
+
+ [138,31:0]
+ mem_data[138,31:0]
+ HEXRADIX
+
+
+ [139,31:0]
+ mem_data[139,31:0]
+ HEXRADIX
+
+
+ [140,31:0]
+ mem_data[140,31:0]
+ HEXRADIX
+
+
+ [141,31:0]
+ mem_data[141,31:0]
+ HEXRADIX
+
+
+ [142,31:0]
+ mem_data[142,31:0]
+ HEXRADIX
+
+
+ [143,31:0]
+ mem_data[143,31:0]
+ HEXRADIX
+
+
+ [144,31:0]
+ mem_data[144,31:0]
+ HEXRADIX
+
+
+ [145,31:0]
+ mem_data[145,31:0]
+ HEXRADIX
+
+
+ [146,31:0]
+ mem_data[146,31:0]
+ HEXRADIX
+
+
+ [147,31:0]
+ mem_data[147,31:0]
+ HEXRADIX
+
+
+ [148,31:0]
+ mem_data[148,31:0]
+ HEXRADIX
+
+
+ [149,31:0]
+ mem_data[149,31:0]
+ HEXRADIX
+
+
+ [150,31:0]
+ mem_data[150,31:0]
+ HEXRADIX
+
+
+ [151,31:0]
+ mem_data[151,31:0]
+ HEXRADIX
+
+
+ [152,31:0]
+ mem_data[152,31:0]
+ HEXRADIX
+
+
+ [153,31:0]
+ mem_data[153,31:0]
+ HEXRADIX
+
+
+ [154,31:0]
+ mem_data[154,31:0]
+ HEXRADIX
+
+
+ [155,31:0]
+ mem_data[155,31:0]
+ HEXRADIX
+
+
+ [156,31:0]
+ mem_data[156,31:0]
+ HEXRADIX
+
+
+ [157,31:0]
+ mem_data[157,31:0]
+ HEXRADIX
+
+
+ [158,31:0]
+ mem_data[158,31:0]
+ HEXRADIX
+
+
+ [159,31:0]
+ mem_data[159,31:0]
+ HEXRADIX
+
+
+ [160,31:0]
+ mem_data[160,31:0]
+ HEXRADIX
+
+
+ [161,31:0]
+ mem_data[161,31:0]
+ HEXRADIX
+
+
+ [162,31:0]
+ mem_data[162,31:0]
+ HEXRADIX
+
+
+ [163,31:0]
+ mem_data[163,31:0]
+ HEXRADIX
+
+
+ [164,31:0]
+ mem_data[164,31:0]
+ HEXRADIX
+
+
+ [165,31:0]
+ mem_data[165,31:0]
+ HEXRADIX
+
+
+ [166,31:0]
+ mem_data[166,31:0]
+ HEXRADIX
+
+
+ [167,31:0]
+ mem_data[167,31:0]
+ HEXRADIX
+
+
+ [168,31:0]
+ mem_data[168,31:0]
+ HEXRADIX
+
+
+ [169,31:0]
+ mem_data[169,31:0]
+ HEXRADIX
+
+
+ [170,31:0]
+ mem_data[170,31:0]
+ HEXRADIX
+
+
+ [171,31:0]
+ mem_data[171,31:0]
+ HEXRADIX
+
+
+ [172,31:0]
+ mem_data[172,31:0]
+ HEXRADIX
+
+
+ [173,31:0]
+ mem_data[173,31:0]
+ HEXRADIX
+
+
+ [174,31:0]
+ mem_data[174,31:0]
+ HEXRADIX
+
+
+ [175,31:0]
+ mem_data[175,31:0]
+ HEXRADIX
+
+
+ [176,31:0]
+ mem_data[176,31:0]
+ HEXRADIX
+
+
+ [177,31:0]
+ mem_data[177,31:0]
+ HEXRADIX
+
+
+ [178,31:0]
+ mem_data[178,31:0]
+ HEXRADIX
+
+
+ [179,31:0]
+ mem_data[179,31:0]
+ HEXRADIX
+
+
+ [180,31:0]
+ mem_data[180,31:0]
+ HEXRADIX
+
+
+ [181,31:0]
+ mem_data[181,31:0]
+ HEXRADIX
+
+
+ [182,31:0]
+ mem_data[182,31:0]
+ HEXRADIX
+
+
+ [183,31:0]
+ mem_data[183,31:0]
+ HEXRADIX
+
+
+ [184,31:0]
+ mem_data[184,31:0]
+ HEXRADIX
+
+
+ [185,31:0]
+ mem_data[185,31:0]
+ HEXRADIX
+
+
+ [186,31:0]
+ mem_data[186,31:0]
+ HEXRADIX
+
+
+ [187,31:0]
+ mem_data[187,31:0]
+ HEXRADIX
+
+
+ [188,31:0]
+ mem_data[188,31:0]
+ HEXRADIX
+
+
+ [189,31:0]
+ mem_data[189,31:0]
+ HEXRADIX
+
+
+ [190,31:0]
+ mem_data[190,31:0]
+ HEXRADIX
+
+
+ [191,31:0]
+ mem_data[191,31:0]
+ HEXRADIX
+
+
+ [192,31:0]
+ mem_data[192,31:0]
+ HEXRADIX
+
+
+ [193,31:0]
+ mem_data[193,31:0]
+ HEXRADIX
+
+
+ [194,31:0]
+ mem_data[194,31:0]
+ HEXRADIX
+
+
+ [195,31:0]
+ mem_data[195,31:0]
+ HEXRADIX
+
+
+ [196,31:0]
+ mem_data[196,31:0]
+ HEXRADIX
+
+
+ [197,31:0]
+ mem_data[197,31:0]
+ HEXRADIX
+
+
+ [198,31:0]
+ mem_data[198,31:0]
+ HEXRADIX
+
+
+ [199,31:0]
+ mem_data[199,31:0]
+ HEXRADIX
+
+
+ [200,31:0]
+ mem_data[200,31:0]
+ HEXRADIX
+
+
+ [201,31:0]
+ mem_data[201,31:0]
+ HEXRADIX
+
+
+ [202,31:0]
+ mem_data[202,31:0]
+ HEXRADIX
+
+
+ [203,31:0]
+ mem_data[203,31:0]
+ HEXRADIX
+
+
+ [204,31:0]
+ mem_data[204,31:0]
+ HEXRADIX
+
+
+ [205,31:0]
+ mem_data[205,31:0]
+ HEXRADIX
+
+
+ [206,31:0]
+ mem_data[206,31:0]
+ HEXRADIX
+
+
+ [207,31:0]
+ mem_data[207,31:0]
+ HEXRADIX
+
+
+ [208,31:0]
+ mem_data[208,31:0]
+ HEXRADIX
+
+
+ [209,31:0]
+ mem_data[209,31:0]
+ HEXRADIX
+
+
+ [210,31:0]
+ mem_data[210,31:0]
+ HEXRADIX
+
+
+ [211,31:0]
+ mem_data[211,31:0]
+ HEXRADIX
+
+
+ [212,31:0]
+ mem_data[212,31:0]
+ HEXRADIX
+
+
+ [213,31:0]
+ mem_data[213,31:0]
+ HEXRADIX
+
+
+ [214,31:0]
+ mem_data[214,31:0]
+ HEXRADIX
+
+
+ [215,31:0]
+ mem_data[215,31:0]
+ HEXRADIX
+
+
+ [216,31:0]
+ mem_data[216,31:0]
+ HEXRADIX
+
+
+ [217,31:0]
+ mem_data[217,31:0]
+ HEXRADIX
+
+
+ [218,31:0]
+ mem_data[218,31:0]
+ HEXRADIX
+
+
+ [219,31:0]
+ mem_data[219,31:0]
+ HEXRADIX
+
+
+ [220,31:0]
+ mem_data[220,31:0]
+ HEXRADIX
+
+
+ [221,31:0]
+ mem_data[221,31:0]
+ HEXRADIX
+
+
+ [222,31:0]
+ mem_data[222,31:0]
+ HEXRADIX
+
+
+ [223,31:0]
+ mem_data[223,31:0]
+ HEXRADIX
+
+
+ [224,31:0]
+ mem_data[224,31:0]
+ HEXRADIX
+
+
+ [225,31:0]
+ mem_data[225,31:0]
+ HEXRADIX
+
+
+ [226,31:0]
+ mem_data[226,31:0]
+ HEXRADIX
+
+
+ [227,31:0]
+ mem_data[227,31:0]
+ HEXRADIX
+
+
+ [228,31:0]
+ mem_data[228,31:0]
+ HEXRADIX
+
+
+ [229,31:0]
+ mem_data[229,31:0]
+ HEXRADIX
+
+
+ [230,31:0]
+ mem_data[230,31:0]
+ HEXRADIX
+
+
+ [231,31:0]
+ mem_data[231,31:0]
+ HEXRADIX
+
+
+ [232,31:0]
+ mem_data[232,31:0]
+ HEXRADIX
+
+
+ [233,31:0]
+ mem_data[233,31:0]
+ HEXRADIX
+
+
+ [234,31:0]
+ mem_data[234,31:0]
+ HEXRADIX
+
+
+ [235,31:0]
+ mem_data[235,31:0]
+ HEXRADIX
+
+
+ [236,31:0]
+ mem_data[236,31:0]
+ HEXRADIX
+
+
+ [237,31:0]
+ mem_data[237,31:0]
+ HEXRADIX
+
+
+ [238,31:0]
+ mem_data[238,31:0]
+ HEXRADIX
+
+
+ [239,31:0]
+ mem_data[239,31:0]
+ HEXRADIX
+
+
+ [240,31:0]
+ mem_data[240,31:0]
+ HEXRADIX
+
+
+ [241,31:0]
+ mem_data[241,31:0]
+ HEXRADIX
+
+
+ [242,31:0]
+ mem_data[242,31:0]
+ HEXRADIX
+
+
+ [243,31:0]
+ mem_data[243,31:0]
+ HEXRADIX
+
+
+ [244,31:0]
+ mem_data[244,31:0]
+ HEXRADIX
+
+
+ [245,31:0]
+ mem_data[245,31:0]
+ HEXRADIX
+
+
+ [246,31:0]
+ mem_data[246,31:0]
+ HEXRADIX
+
+
+ [247,31:0]
+ mem_data[247,31:0]
+ HEXRADIX
+
+
+ [248,31:0]
+ mem_data[248,31:0]
+ HEXRADIX
+
+
+ [249,31:0]
+ mem_data[249,31:0]
+ HEXRADIX
+
+
+ [250,31:0]
+ mem_data[250,31:0]
+ HEXRADIX
+
+
+ [251,31:0]
+ mem_data[251,31:0]
+ HEXRADIX
+
+
+ [252,31:0]
+ mem_data[252,31:0]
+ HEXRADIX
+
+
+ [253,31:0]
+ mem_data[253,31:0]
+ HEXRADIX
+
+
+ [254,31:0]
+ mem_data[254,31:0]
+ HEXRADIX
+
+
+ [255,31:0]
+ mem_data[255,31:0]
+ HEXRADIX
+
mem_data_addr[31:0]
diff --git a/test/test.S b/test/test.S
index d815074..51e68ff 100644
--- a/test/test.S
+++ b/test/test.S
@@ -239,6 +239,40 @@ test10:
nop
nop
+test11:
+ addi x30, x0, 11 # x30 = 11
+ addi x5, x0, 0 # x5 = 0
+ addi x6, x0, 0x10 # x6 = 0x00000010 = 16
+test11_loop:
+ nop
+ nop
+ nop
+ nop
+ nop
+ sw x10, 0(x9) # someint = 0x12345678
+ addi x10, x10, 1 # x10 = x10 + 1
+ addi x9, x9, 4 # x9 = x9 + 4
+ addi x5, x5, 1 # x5 = x5 + 1
+ blt x5, x6, test11_loop
+test11_done:
+
+test12:
+ addi x30, x0, 12
+test12_loop:
+ # decrement values before load since they were incremented after final store
+ addi x10, x10, -1 # x10 = x10 - 1
+ addi x9, x9, -4 # x9 = x9 - 4
+ addi x5, x5, -1 # x5 = x5 - 1
+ nop
+ nop
+ nop
+ nop
+ nop
+ lw x11, 0(x9) # someint = 0x12345678
+ bne x11, x10, fail
+ bgt x5, x0, test12_loop
+test12_done:
+
done: