diff --git a/Epreuve3.py b/Epreuve3.py index 0578c25..1bc43e3 100644 --- a/Epreuve3.py +++ b/Epreuve3.py @@ -227,6 +227,7 @@ class Simulator: print(f"PC={pc_before:02X} {instr:20s} +Cycles={cycles_added:3d} Total={c.cycles}") print(f" {regs_str} LT={c.lt} EQ={c.eq} SP={c.sp}") print("-" * 60) + ram = self.dump_ram() return { "pc": pc_before, "instr": instr, @@ -234,7 +235,8 @@ class Simulator: "regs": c.regs.copy(), "lt": c.lt, "eq": c.eq, - "sp": c.sp + "sp": c.sp, + "ram": ram } @@ -247,6 +249,14 @@ class Simulator: yield result steps += 1 + def dump_ram(self): + print("\n========= RAM DUMP ========") + for addr in range(0, 256, 8): + chunk = self.ram[addr:addr+8] + hex_values = " ".join(f"{b:02X}" for b in chunk) + print(f"{addr:02X}: {hex_values}") + print("===========================\n") + # --------------------------------------------------------- # LECTURE D'UN FICHIER .bin ET LANCEMENT