Loads and stores for different sizes

This commit is contained in:
Krzosa Karol
2022-06-23 00:03:02 +02:00
parent ce46eb5a8f
commit f7e03e5d2a
2 changed files with 125 additions and 60 deletions

View File

@@ -90,6 +90,22 @@ if True:
#
if True:
result = ""
for size in sizes:
result += f"""
case BC_LOAD_FROM_MEMORY{size}:{{
U{size} *load_address = b->registers[instr->index_a].pointer{size};
b->registers[instr->index_c].u{size} = *load_address;
bc_log("load_address[r%u, %llx] dst[r%u] [0x%llx|%lld|%f]", instr->index_a, load_address, instr->index_c, b->registers[instr->index_c].u{size}, b->registers[instr->index_c].u{size}, b->registers[instr->index_c].u{size});
}}break;
case BC_STORE_TO_MEMORY{size}:{{
U{size} *store_address = b->registers[instr->index_c].pointer{size};
*store_address = b->registers[instr->index_a].u{size};
bc_log("src[r%u] store_address[r%u, %llx] value_written[0x%llx|%lld|%f]", instr->index_a, instr->index_c, store_address, *store_address, *store_address, *store_address);
}}break;
"""
for sign, T in zip(print_sign, types):
t = T.lower()