Compare commits
No commits in common. "5e6f7474b02be6cff95bdd48a4e7ca662a676835" and "e109b986733f8583da07b8f498f297a6872d3110" have entirely different histories.
5e6f7474b0
...
e109b98673
@ -242,7 +242,7 @@ class Simulator:
|
||||
|
||||
# ----------------- boucle principale -----------------
|
||||
|
||||
def run(self, max_steps: int = 100000):
|
||||
def run(self, max_steps: int = 1):
|
||||
steps = 0
|
||||
while self.cpu.running and steps < max_steps:
|
||||
result = self.step()
|
||||
|
||||
@ -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.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.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)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#RAnnexe 2
|
||||
#Annexe 2
|
||||
annexe_2_frame = tk.Frame(annexes_frames, width=100, height=100, bg="orange")
|
||||
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)
|
||||
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
|
||||
|
||||
def update_gui():
|
||||
@ -199,7 +224,8 @@ def update_gui():
|
||||
try:
|
||||
state = next(sim_iter)
|
||||
|
||||
# 👉 mise à jour label instruction
|
||||
#Récupération des valeurs retourné par le fichier Epreuve3.py
|
||||
|
||||
single_instr.config(
|
||||
text=state["instr"] + " Cycle(s): " + str(state["cycles_added"])
|
||||
)
|
||||
@ -229,6 +255,7 @@ def update_gui():
|
||||
previous_sp = state['sp']
|
||||
ram = state['ram']
|
||||
|
||||
#Gestion affichage RAM
|
||||
for addr in range(0, 256, 8):
|
||||
chunk = ram[addr:addr+8]
|
||||
hex_values = " ".join(f"{b:02X}" for b in chunk)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user