Compare commits

..

No commits in common. "5e6f7474b02be6cff95bdd48a4e7ca662a676835" and "e109b986733f8583da07b8f498f297a6872d3110" have entirely different histories.

2 changed files with 34 additions and 7 deletions

View File

@ -242,7 +242,7 @@ class Simulator:
# ----------------- boucle principale ----------------- # ----------------- boucle principale -----------------
def run(self, max_steps: int = 100000): def run(self, max_steps: int = 1):
steps = 0 steps = 0
while self.cpu.running and steps < max_steps: while self.cpu.running and steps < max_steps:
result = self.step() result = self.step()

View File

@ -54,6 +54,16 @@ Label(single_inst_frame, text=f"Instruction").pack(pady=5, side=LEFT)
single_instr = Label(single_inst_frame, text=f"instruction+cycle", width=30, bg="white") single_instr = Label(single_inst_frame, text=f"instruction+cycle", width=30, bg="white")
single_instr.pack(pady=5, side=tk.LEFT) single_instr.pack(pady=5, side=tk.LEFT)
# Boutons
buttons_frame = tk.Frame(instructions_frame, width=400, height=100, bg="#89B4E1")
buttons_frame.pack(padx=5, pady=5, side=tk.TOP)
buttonAll = tk.Button(root, text="All In")
buttonStep = tk.Button(root, text="Step By Step")
buttonAll.pack(in_=buttons_frame, side=tk.LEFT, padx=5)
buttonStep.pack(in_=buttons_frame, side=tk.LEFT, padx=5)
image_frame = tk.Frame(instructions_frame, width=400, height=100, bg="#89B4E1") image_frame = tk.Frame(instructions_frame, width=400, height=100, bg="#89B4E1")
image_frame.pack(padx=5, pady=5, side=tk.TOP) image_frame.pack(padx=5, pady=5, side=tk.TOP)
@ -122,10 +132,7 @@ label_eq = Label(annexe_1_frame, bg="orange")
label_eq.pack(pady=5) label_eq.pack(pady=5)
#Annexe 2
#RAnnexe 2
annexe_2_frame = tk.Frame(annexes_frames, width=100, height=100, bg="orange") annexe_2_frame = tk.Frame(annexes_frames, width=100, height=100, bg="orange")
annexe_2_frame.pack(padx=10, pady=0, side=tk.LEFT) annexe_2_frame.pack(padx=10, pady=0, side=tk.LEFT)
@ -187,11 +194,29 @@ myOutList = tk.Listbox(out_frame, yscrollcommand=scrollbarOut.set, width=50)
myOutList.pack(side=tk.LEFT, fill=tk.BOTH) myOutList.pack(side=tk.LEFT, fill=tk.BOTH)
scrollbarOut.config(command=myOutList.yview) scrollbarOut.config(command=myOutList.yview)
def StartCPU(program, callback, registerCallback):
print(program)
sim = e3.Simulator(program)
def onClickButtonAll():
print("oui")
StartCPU(program, None, None)
sim.run(100000)
update_gui()
def onClickButtonStep():
print("non")
StartCPU(program, None, None)
sim.run()
update_gui()
#val = subprocess.run(["/usr/bin/python3", "/home/aurelien/Documents/24hducode2026/24H_du_code_2026/Epreuve3.py", "test_bin_epreuve3/call_label.bin"] # transforme bytes en str) buttonAll.config(command=onClickButtonAll)
buttonStep.config(command=onClickButtonStep)
#Gestion dynamique affichage valeurs
previous_sp = None # Initialisation avant la première itération previous_sp = None # Initialisation avant la première itération
def update_gui(): def update_gui():
@ -199,7 +224,8 @@ def update_gui():
try: try:
state = next(sim_iter) state = next(sim_iter)
# 👉 mise à jour label instruction #Récupération des valeurs retourné par le fichier Epreuve3.py
single_instr.config( single_instr.config(
text=state["instr"] + " Cycle(s): " + str(state["cycles_added"]) text=state["instr"] + " Cycle(s): " + str(state["cycles_added"])
) )
@ -229,6 +255,7 @@ def update_gui():
previous_sp = state['sp'] previous_sp = state['sp']
ram = state['ram'] ram = state['ram']
#Gestion affichage RAM
for addr in range(0, 256, 8): for addr in range(0, 256, 8):
chunk = ram[addr:addr+8] chunk = ram[addr:addr+8]
hex_values = " ".join(f"{b:02X}" for b in chunk) hex_values = " ".join(f"{b:02X}" for b in chunk)