Modify data store location

This commit is contained in:
unlockable
2024-07-13 14:21:03 +08:00
parent de2e42bef3
commit 835e7b2b5f
5 changed files with 802 additions and 1 deletions

320
24sort_nums_no_init.asm Normal file
View File

@@ -0,0 +1,320 @@
.text
#initialize $sp
lui $sp, 0x4000
addi $sp, $sp, 0x7ff
# load digit to mem
lui $s0, 0x4000
addi $s0, $s0, 0x20
#0
addi $s1, $zero, 0x3f
sw $s1, 0($s0)
#1
addi $s1, $zero, 0x6
sw $s1, 4($s0)
#2
addi $s1, $zero, 0x5b
sw $s1, 8($s0)
#3
addi $s1, $zero, 0x4f
sw $s1, 12($s0)
#4
addi $s1, $zero, 0x66
sw $s1, 16($s0)
#5
addi $s1, $zero, 0x6d
sw $s1, 20($s0)
#6
addi $s1, $zero, 0x7d
sw $s1, 24($s0)
#7
addi $s1, $zero, 0x7
sw $s1, 28($s0)
#8
addi $s1, $zero, 0x7f
sw $s1, 32($s0)
#9
addi $s1, $zero, 0x6f
sw $s1, 36($s0)
#A
addi $s1, $zero, 0x77
sw $s1, 40($s0)
#B
addi $s1, $zero, 0x7c
sw $s1, 44($s0)
#C
addi $s1, $zero, 0x58
sw $s1, 48($s0)
#D
addi $s1, $zero, 0x5e
sw $s1, 52($s0)
#E
addi $s1, $zero, 0x79
sw $s1, 56($s0)
#F
addi $s1, $zero, 0x71
sw $s1, 60($s0)
main:
jal disp_num_in_mem
lui $t0, 0x4000
lw $a0, 0x60($t0)
jal insertion_sort
end:
jal disp_num_in_mem
j end
disp_num_in_mem:
addi $sp, $sp, -20
sw $ra, 4($sp)
sw $s0, 8($sp)
sw $s1, 12($sp)
sw $s2, 16($sp)
sw $s3, 20($sp)
lui $s0, 0x4000
# s1 = 0x40000010
addi $s1, $s0, 0x10
# s0 = 0x40000060
addi $s0, $s0, 0x60
addi $s2, $zero, 0
# addi $s3, $zero, 20
lw $s3, 0($s0) # s3 is the total count
addi $s0, $s0, 4
display_single_number:
sll $t0, $s2, 2
add $t0, $s0, $t0
lw $a0, 0($t0)
addi $a1, $s1, 0
jal display_number
addi $s2, $s2, 1
sub $t0, $s3, $s2
bgtz $t0, display_single_number
jal display_empty
lw $ra, 4($sp)
lw $s0, 8($sp)
lw $s1, 12($sp)
lw $s2, 16($sp)
lw $s3, 20($sp)
addi $sp, $sp, 20
jr $ra
# ------------------------------------------------------
# a0 is the number to be displayed, a1 is the bcd control addr
display_number:
addi $sp, $sp, -32
sw $ra, 4($sp)
sw $s0, 8($sp)
sw $s1, 12($sp)
sw $s2, 16($sp)
sw $s3, 20($sp)
sw $s4, 24($sp)
sw $s5, 28($sp)
sw $s6, 32($sp)
# s0 is the number to be displayed
addi $s0, $a0, 0
# s1 is the bcd_control addr
addi $s1, $a1, 0
# s2 is the base addr for display digit
lui $s2, 0x4000
addi $s2, $s2, 0x20
# s3 is the counter for a complete scan of 4 digit
# addi $s3, $zero, 0x17c4
addi $s3, $zero, 0xbe2
all_digit_scan_loop:
# s4 is the num being shifted gradually
addi $s4, $s0, 0
# s6 is the enable digit
addi $s6, $zero, 0x100
addi $s5, $zero, 4
single_digit_loop:
# get a digit
andi $t0, $s4, 0xf
# digit * 4 is the memory shift
sll $t0, $t0, 2
add $t0, $s2, $t0
lw $t0, 0($t0)
or $t0, $t0, $s6
sw $t0, 0($s1)
srl $s4, $s4, 4
sll $s6, $s6, 1
addi $t0, $zero, 0x400
wait_time_loop:
addi $t0, $t0, -1
bgtz $t0, wait_time_loop
addi $s5, $s5, -1
bgtz $s5, single_digit_loop
# end of single digit loop
# ** depends on the clock **
# four digit, 328.68us.
# 1s / 328.68us = 3042 = (be2)hex
addi $s3, $s3, -1
bgtz $s3, all_digit_scan_loop
lw $ra, 4($sp)
lw $s0, 8($sp)
lw $s1, 12($sp)
lw $s2, 16($sp)
lw $s3, 20($sp)
lw $s4, 24($sp)
lw $s5, 28($sp)
lw $s6, 32($sp)
addi $sp, $sp, 32
jr $ra
display_empty:
lui $t0, 0x4000
addi $t0, $t0, 0x10
sw $zero, 0($t0)
lui $t0, 0x100
display_empty_wait_loop:
addi $t0, $t0, -1
bgtz $t0, display_empty_wait_loop
jr $ra
# a0 is the total number of numbers needed to be sorted
insertion_sort:
addi $sp, $sp, -12
sw $ra, 4($sp)
sw $s0, 8($sp)
sw $s1, 12($sp)
# la $t0, num_N
# lw $s0, 0($t0) # n in s0
addi $s0, $a0, 0
# li $s1, 1 # i in s1
addi $s1, $zero, 1
item_loop:
# bge $s1, $s0, done_item_loop # if i >= n, done loop
sub $t0, $s0, $s1
blez $t0, done_item_loop
li $a0, 0
addi $a1, $s1, -1
move $a2, $s1
jal binary_search
move $a0, $v0
move $a1, $s1
jal insert
addi $s1, $s1, 1 # i ++
j item_loop
done_item_loop:
lw $ra, 4($sp)
lw $s0, 8($sp)
lw $s1, 12($sp)
addi $sp, $sp, 12
jr $ra
binary_search: # a0: left, a1: right, a2: i
addi $sp, $sp, -20
sw $s0, 4($sp)
sw $s1, 8($sp)
sw $s2, 12($sp)
sw $s3, 16($sp)
sw $ra, 20($sp)
# ble $a0, $a1, in_boundary_binary_search # left <= right, in normal position
sub $t0, $a0, $a1
blez $t0, in_boundary_binary_search
# move $v0, $a0 # now in boundary condition
add $v0, $a0, $zero
j done_binary_search
in_boundary_binary_search:
move $s0, $a0 # in normal situation
move $s1, $a1
move $s2, $a2
add $s3, $s0, $s1 # s3 = mid = (left + right) >> 1
srl $s3, $s3, 1
# jal add_compare_count
# la $t0, num_buff
lui $t0, 0x4000
addi $t0, $t0, 0x64
sll $t1, $s3, 2
add $t1, $t1, $t0
lw $t1, 0($t1) # t1 = v[mid]
sll $t2, $s2, 2
add $t2, $t2, $t0
lw $t2, 0($t2) # t2 = v[n]
# ble $t1, $t2, binary_search_right # v[mid] <= v[n], jump to 'else'
sub $t0, $t1, $t2
blez $t0, binary_search_right
binary_search_left:
addi $a1, $s3, -1
jal binary_search
j done_binary_search
binary_search_right:
addi $a0, $s3, 1
jal binary_search
done_binary_search:
lw $s0, 4($sp)
lw $s1, 8($sp)
lw $s2, 12($sp)
lw $s3, 16($sp)
lw $ra, 20($sp)
addi $sp, $sp, 20
jr $ra
insert: # $a0: int k, $a1: int n
addi $sp, $sp, -12
sw $s0, 4($sp)
sw $s1, 8($sp)
sw $ra, 12($sp)
# la $s0, num_buff # s0 = &v[0]
lui $s0, 0x4000
addi $s0, $s0, 0x64
sll $t0, $a1, 2
add $s2, $s0, $t0
lw $s2, 0($s2) # s2 = tmp = 'pivot' = v[n]
addi $s1, $a1, -1 # s1 = i = n - 1
insert_loop:
# blt $s1, $a0, done_insert_loop # i < k, done loop
sub $t0, $s1, $a0
bltz $t0, done_insert_loop
sll $t0, $s1, 2
add $t0, $s0, $t0 # t0 = &v[i]
lw $t1, 0($t0)
sw $t1, 4($t0)
addi $s1, $s1, -1 # i--
j insert_loop
done_insert_loop:
sll $t0, $a0, 2
add $t0, $s0, $t0
sw $s2, 0($t0) # t0 = &v[k]
lw $s0, 4($sp)
lw $s1, 8($sp)
lw $ra, 12($sp)
addi $sp, $sp, 12
jr $ra

204
24sort_nums_no_init.txt Normal file
View File

@@ -0,0 +1,204 @@
20'd0: instruction <= 32'h3c1d4000;
20'd1: instruction <= 32'h23bd07ff;
20'd2: instruction <= 32'h3c104000;
20'd3: instruction <= 32'h22100020;
20'd4: instruction <= 32'h2011003f;
20'd5: instruction <= 32'hae110000;
20'd6: instruction <= 32'h20110006;
20'd7: instruction <= 32'hae110004;
20'd8: instruction <= 32'h2011005b;
20'd9: instruction <= 32'hae110008;
20'd10: instruction <= 32'h2011004f;
20'd11: instruction <= 32'hae11000c;
20'd12: instruction <= 32'h20110066;
20'd13: instruction <= 32'hae110010;
20'd14: instruction <= 32'h2011006d;
20'd15: instruction <= 32'hae110014;
20'd16: instruction <= 32'h2011007d;
20'd17: instruction <= 32'hae110018;
20'd18: instruction <= 32'h20110007;
20'd19: instruction <= 32'hae11001c;
20'd20: instruction <= 32'h2011007f;
20'd21: instruction <= 32'hae110020;
20'd22: instruction <= 32'h2011006f;
20'd23: instruction <= 32'hae110024;
20'd24: instruction <= 32'h20110077;
20'd25: instruction <= 32'hae110028;
20'd26: instruction <= 32'h2011007c;
20'd27: instruction <= 32'hae11002c;
20'd28: instruction <= 32'h20110058;
20'd29: instruction <= 32'hae110030;
20'd30: instruction <= 32'h2011005e;
20'd31: instruction <= 32'hae110034;
20'd32: instruction <= 32'h20110079;
20'd33: instruction <= 32'hae110038;
20'd34: instruction <= 32'h20110071;
20'd35: instruction <= 32'hae11003c;
20'd36: instruction <= 32'h0c00002a;
20'd37: instruction <= 32'h3c084000;
20'd38: instruction <= 32'h8d040060;
20'd39: instruction <= 32'h0c000077;
20'd40: instruction <= 32'h0c00002a;
20'd41: instruction <= 32'h08000028;
20'd42: instruction <= 32'h23bdffec;
20'd43: instruction <= 32'hafbf0004;
20'd44: instruction <= 32'hafb00008;
20'd45: instruction <= 32'hafb1000c;
20'd46: instruction <= 32'hafb20010;
20'd47: instruction <= 32'hafb30014;
20'd48: instruction <= 32'h3c104000;
20'd49: instruction <= 32'h22110010;
20'd50: instruction <= 32'h22100060;
20'd51: instruction <= 32'h20120000;
20'd52: instruction <= 32'h8e130000;
20'd53: instruction <= 32'h22100004;
20'd54: instruction <= 32'h00124080;
20'd55: instruction <= 32'h02084020;
20'd56: instruction <= 32'h8d040000;
20'd57: instruction <= 32'h22250000;
20'd58: instruction <= 32'h0c000046;
20'd59: instruction <= 32'h22520001;
20'd60: instruction <= 32'h02724022;
20'd61: instruction <= 32'h1d00fff8;
20'd62: instruction <= 32'h0c000070;
20'd63: instruction <= 32'h8fbf0004;
20'd64: instruction <= 32'h8fb00008;
20'd65: instruction <= 32'h8fb1000c;
20'd66: instruction <= 32'h8fb20010;
20'd67: instruction <= 32'h8fb30014;
20'd68: instruction <= 32'h23bd0014;
20'd69: instruction <= 32'h03e00008;
20'd70: instruction <= 32'h23bdffe0;
20'd71: instruction <= 32'hafbf0004;
20'd72: instruction <= 32'hafb00008;
20'd73: instruction <= 32'hafb1000c;
20'd74: instruction <= 32'hafb20010;
20'd75: instruction <= 32'hafb30014;
20'd76: instruction <= 32'hafb40018;
20'd77: instruction <= 32'hafb5001c;
20'd78: instruction <= 32'hafb60020;
20'd79: instruction <= 32'h20900000;
20'd80: instruction <= 32'h20b10000;
20'd81: instruction <= 32'h3c124000;
20'd82: instruction <= 32'h22520020;
20'd83: instruction <= 32'h20130be2;
20'd84: instruction <= 32'h22140000;
20'd85: instruction <= 32'h20160100;
20'd86: instruction <= 32'h20150004;
20'd87: instruction <= 32'h3288000f;
20'd88: instruction <= 32'h00084080;
20'd89: instruction <= 32'h02484020;
20'd90: instruction <= 32'h8d080000;
20'd91: instruction <= 32'h01164025;
20'd92: instruction <= 32'hae280000;
20'd93: instruction <= 32'h0014a102;
20'd94: instruction <= 32'h0016b040;
20'd95: instruction <= 32'h20080400;
20'd96: instruction <= 32'h2108ffff;
20'd97: instruction <= 32'h1d00fffe;
20'd98: instruction <= 32'h22b5ffff;
20'd99: instruction <= 32'h1ea0fff3;
20'd100: instruction <= 32'h2273ffff;
20'd101: instruction <= 32'h1e60ffee;
20'd102: instruction <= 32'h8fbf0004;
20'd103: instruction <= 32'h8fb00008;
20'd104: instruction <= 32'h8fb1000c;
20'd105: instruction <= 32'h8fb20010;
20'd106: instruction <= 32'h8fb30014;
20'd107: instruction <= 32'h8fb40018;
20'd108: instruction <= 32'h8fb5001c;
20'd109: instruction <= 32'h8fb60020;
20'd110: instruction <= 32'h23bd0020;
20'd111: instruction <= 32'h03e00008;
20'd112: instruction <= 32'h3c084000;
20'd113: instruction <= 32'h21080010;
20'd114: instruction <= 32'had000000;
20'd115: instruction <= 32'h3c080100;
20'd116: instruction <= 32'h2108ffff;
20'd117: instruction <= 32'h1d00fffe;
20'd118: instruction <= 32'h03e00008;
20'd119: instruction <= 32'h23bdfff4;
20'd120: instruction <= 32'hafbf0004;
20'd121: instruction <= 32'hafb00008;
20'd122: instruction <= 32'hafb1000c;
20'd123: instruction <= 32'h20900000;
20'd124: instruction <= 32'h20110001;
20'd125: instruction <= 32'h02114022;
20'd126: instruction <= 32'h19000009;
20'd127: instruction <= 32'h24040000;
20'd128: instruction <= 32'h2225ffff;
20'd129: instruction <= 32'h00113021;
20'd130: instruction <= 32'h0c00008d;
20'd131: instruction <= 32'h00022021;
20'd132: instruction <= 32'h00112821;
20'd133: instruction <= 32'h0c0000b2;
20'd134: instruction <= 32'h22310001;
20'd135: instruction <= 32'h0800007d;
20'd136: instruction <= 32'h8fbf0004;
20'd137: instruction <= 32'h8fb00008;
20'd138: instruction <= 32'h8fb1000c;
20'd139: instruction <= 32'h23bd000c;
20'd140: instruction <= 32'h03e00008;
20'd141: instruction <= 32'h23bdffec;
20'd142: instruction <= 32'hafb00004;
20'd143: instruction <= 32'hafb10008;
20'd144: instruction <= 32'hafb2000c;
20'd145: instruction <= 32'hafb30010;
20'd146: instruction <= 32'hafbf0014;
20'd147: instruction <= 32'h00854022;
20'd148: instruction <= 32'h19000002;
20'd149: instruction <= 32'h00801020;
20'd150: instruction <= 32'h080000ab;
20'd151: instruction <= 32'h00048021;
20'd152: instruction <= 32'h00058821;
20'd153: instruction <= 32'h00069021;
20'd154: instruction <= 32'h02119820;
20'd155: instruction <= 32'h00139842;
20'd156: instruction <= 32'h3c084000;
20'd157: instruction <= 32'h21080064;
20'd158: instruction <= 32'h00134880;
20'd159: instruction <= 32'h01284820;
20'd160: instruction <= 32'h8d290000;
20'd161: instruction <= 32'h00125080;
20'd162: instruction <= 32'h01485020;
20'd163: instruction <= 32'h8d4a0000;
20'd164: instruction <= 32'h012a4022;
20'd165: instruction <= 32'h19000003;
20'd166: instruction <= 32'h2265ffff;
20'd167: instruction <= 32'h0c00008d;
20'd168: instruction <= 32'h080000ab;
20'd169: instruction <= 32'h22640001;
20'd170: instruction <= 32'h0c00008d;
20'd171: instruction <= 32'h8fb00004;
20'd172: instruction <= 32'h8fb10008;
20'd173: instruction <= 32'h8fb2000c;
20'd174: instruction <= 32'h8fb30010;
20'd175: instruction <= 32'h8fbf0014;
20'd176: instruction <= 32'h23bd0014;
20'd177: instruction <= 32'h03e00008;
20'd178: instruction <= 32'h23bdfff4;
20'd179: instruction <= 32'hafb00004;
20'd180: instruction <= 32'hafb10008;
20'd181: instruction <= 32'hafbf000c;
20'd182: instruction <= 32'h3c104000;
20'd183: instruction <= 32'h22100064;
20'd184: instruction <= 32'h00054080;
20'd185: instruction <= 32'h02089020;
20'd186: instruction <= 32'h8e520000;
20'd187: instruction <= 32'h20b1ffff;
20'd188: instruction <= 32'h02244022;
20'd189: instruction <= 32'h05000006;
20'd190: instruction <= 32'h00114080;
20'd191: instruction <= 32'h02084020;
20'd192: instruction <= 32'h8d090000;
20'd193: instruction <= 32'had090004;
20'd194: instruction <= 32'h2231ffff;
20'd195: instruction <= 32'h080000bc;
20'd196: instruction <= 32'h00044080;
20'd197: instruction <= 32'h02084020;
20'd198: instruction <= 32'had120000;
20'd199: instruction <= 32'h8fb00004;
20'd200: instruction <= 32'h8fb10008;
20'd201: instruction <= 32'h8fbf000c;
20'd202: instruction <= 32'h23bd000c;
20'd203: instruction <= 32'h03e00008;

View File

@@ -0,0 +1,204 @@
3c1d4000
23bd07ff
3c104000
22100020
2011003f
ae110000
20110006
ae110004
2011005b
ae110008
2011004f
ae11000c
20110066
ae110010
2011006d
ae110014
2011007d
ae110018
20110007
ae11001c
2011007f
ae110020
2011006f
ae110024
20110077
ae110028
2011007c
ae11002c
20110058
ae110030
2011005e
ae110034
20110079
ae110038
20110071
ae11003c
0c00002a
3c084000
8d040060
0c000077
0c00002a
08000028
23bdffec
afbf0004
afb00008
afb1000c
afb20010
afb30014
3c104000
22110010
22100060
20120000
8e130000
22100004
00124080
02084020
8d040000
22250000
0c000046
22520001
02724022
1d00fff8
0c000070
8fbf0004
8fb00008
8fb1000c
8fb20010
8fb30014
23bd0014
03e00008
23bdffe0
afbf0004
afb00008
afb1000c
afb20010
afb30014
afb40018
afb5001c
afb60020
20900000
20b10000
3c124000
22520020
20130be2
22140000
20160100
20150004
3288000f
00084080
02484020
8d080000
01164025
ae280000
0014a102
0016b040
20080400
2108ffff
1d00fffe
22b5ffff
1ea0fff3
2273ffff
1e60ffee
8fbf0004
8fb00008
8fb1000c
8fb20010
8fb30014
8fb40018
8fb5001c
8fb60020
23bd0020
03e00008
3c084000
21080010
ad000000
3c080100
2108ffff
1d00fffe
03e00008
23bdfff4
afbf0004
afb00008
afb1000c
20900000
20110001
02114022
19000009
24040000
2225ffff
00113021
0c00008d
00022021
00112821
0c0000b2
22310001
0800007d
8fbf0004
8fb00008
8fb1000c
23bd000c
03e00008
23bdffec
afb00004
afb10008
afb2000c
afb30010
afbf0014
00854022
19000002
00801020
080000ab
00048021
00058821
00069021
02119820
00139842
3c084000
21080064
00134880
01284820
8d290000
00125080
01485020
8d4a0000
012a4022
19000003
2265ffff
0c00008d
080000ab
22640001
0c00008d
8fb00004
8fb10008
8fb2000c
8fb30010
8fbf0014
23bd0014
03e00008
23bdfff4
afb00004
afb10008
afbf000c
3c104000
22100064
00054080
02089020
8e520000
20b1ffff
02244022
05000006
00114080
02084020
8d090000
ad090004
2231ffff
080000bc
00044080
02084020
ad120000
8fb00004
8fb10008
8fbf000c
23bd000c
03e00008

View File

@@ -1,10 +1,35 @@
import random
total_count = random.randint(5, 50)
total_count = 20
numbers = list()
for _ in range(20):
for _ in range(total_count):
numbers.append(random.randint(0, 65535))
numbers = [
0x4B8D,
0x2307,
0xFAE0,
0x7815,
0xC105,
0x84F0,
0xDB6,
0xF21D,
0xE97A,
0xA3B6,
0x8466,
0x3A25,
0x5DF,
0xD2DE,
0xBA7A,
0x7809,
0xF6A8,
0x361D,
0x3ADB,
0x969A,
]
with open("gen_num.txt", "w") as fl:
fl.writelines([hex(x) + "\n" for x in numbers])
@@ -12,5 +37,24 @@ with open("gen_num_asm.txt", "w") as fl:
for idx, num in enumerate(numbers):
fl.write("addi $s1, $zero, %s\nsw $s1, %d($s0)\n" % (hex(num), 4 * idx))
with open("gen_num_data_mem.txt", "w") as fl:
fl.write(
"""for (i = StartAddressInWord; i < 24 + StartAddressInWord; i = i + 1) begin
memory_data[i] <= 32'h00000000;
end
for (
i = %d + StartAddressInWord; i < MEM_SIZE_IN_WORD + StartAddressInWord; i = i + 1
) begin
memory_data[i] <= 32'h00000000;
end
"""
% (24 + total_count + 1)
)
fl.write("memory_data[StartAddressInWord + 24] <= 32'h%08X;\n" % total_count)
for idx, num in enumerate(numbers):
fl.write(
"memory_data[StartAddressInWord + %d] <= 32'h%08X;\n" % (idx + 25, num)
)
with open("gen_num_sorted.txt", "w") as fl:
fl.writelines([hex(x) + "\n" for x in sorted(numbers)])

29
gen_num_data_mem.txt Normal file
View File

@@ -0,0 +1,29 @@
for (i = StartAddressInWord; i < 24 + StartAddressInWord; i = i + 1) begin
memory_data[i] <= 32'h00000000;
end
for (
i = 45 + StartAddressInWord; i < MEM_SIZE_IN_WORD + StartAddressInWord; i = i + 1
) begin
memory_data[i] <= 32'h00000000;
end
memory_data[StartAddressInWord + 24] <= 32'h00000014;
memory_data[StartAddressInWord + 25] <= 32'h00004B8D;
memory_data[StartAddressInWord + 26] <= 32'h00002307;
memory_data[StartAddressInWord + 27] <= 32'h0000FAE0;
memory_data[StartAddressInWord + 28] <= 32'h00007815;
memory_data[StartAddressInWord + 29] <= 32'h0000C105;
memory_data[StartAddressInWord + 30] <= 32'h000084F0;
memory_data[StartAddressInWord + 31] <= 32'h00000DB6;
memory_data[StartAddressInWord + 32] <= 32'h0000F21D;
memory_data[StartAddressInWord + 33] <= 32'h0000E97A;
memory_data[StartAddressInWord + 34] <= 32'h0000A3B6;
memory_data[StartAddressInWord + 35] <= 32'h00008466;
memory_data[StartAddressInWord + 36] <= 32'h00003A25;
memory_data[StartAddressInWord + 37] <= 32'h000005DF;
memory_data[StartAddressInWord + 38] <= 32'h0000D2DE;
memory_data[StartAddressInWord + 39] <= 32'h0000BA7A;
memory_data[StartAddressInWord + 40] <= 32'h00007809;
memory_data[StartAddressInWord + 41] <= 32'h0000F6A8;
memory_data[StartAddressInWord + 42] <= 32'h0000361D;
memory_data[StartAddressInWord + 43] <= 32'h00003ADB;
memory_data[StartAddressInWord + 44] <= 32'h0000969A;