149 lines
3.7 KiB
Python
149 lines
3.7 KiB
Python
from tkinter import *
|
|
|
|
import tkinter as tk
|
|
|
|
root = tk.Tk()
|
|
# Widgets are added here
|
|
|
|
#Frame principale
|
|
frame = tk.Frame(root, width=800, height=400)
|
|
frame.pack(padx=10, pady=10)
|
|
|
|
|
|
|
|
#Frames Corps
|
|
instructions_frame = tk.Frame(frame, width=400, height=400, bg="grey")
|
|
instructions_frame.pack(padx=5, pady=5, side=tk.LEFT, fill=Y)
|
|
|
|
infos_frames = tk.Frame(frame, width=400, height=400, bg="green")
|
|
infos_frames.pack(padx=5, pady=5, side=tk.RIGHT)
|
|
|
|
|
|
|
|
#Frame stack
|
|
stack_frame = tk.Frame(instructions_frame, width=400, height=300)
|
|
stack_frame.pack(padx=5, pady=5, side=tk.TOP)
|
|
|
|
Label(stack_frame, text=f"Stack").pack(pady=5)
|
|
|
|
scrollbar = tk.Scrollbar(stack_frame)
|
|
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
|
|
|
|
mylist = tk.Listbox(stack_frame, yscrollcommand=scrollbar.set, width=50)
|
|
|
|
for line in range(30):
|
|
mylist.insert(tk.END, "This is line number " + str(line))
|
|
|
|
mylist.pack(side=tk.LEFT, fill=tk.BOTH)
|
|
scrollbar.config(command=mylist.yview)
|
|
|
|
|
|
|
|
|
|
#Frame instruction suivante
|
|
single_inst_frame = tk.Frame(instructions_frame, width=400, height=100, bg="grey")
|
|
single_inst_frame.pack(padx=5, pady=5, side=tk.BOTTOM)
|
|
|
|
|
|
Label(single_inst_frame, text=f"Instruction").pack(pady=5, side=LEFT)
|
|
Label(single_inst_frame, text=f"instruction+cycle", width=30, bg="white").pack(pady=5, side=LEFT)
|
|
|
|
|
|
|
|
|
|
#Frame registres
|
|
registres_frames = tk.Frame(infos_frames, width=400, height=100, bg="blue")
|
|
registres_frames.pack(padx=10, pady=10, side=tk.TOP)
|
|
|
|
|
|
#Registre 1
|
|
registre_1_frame = tk.Frame(registres_frames, width=100, height=100, bg="orange")
|
|
registre_1_frame.pack(padx=10, pady=0, side=tk.LEFT)
|
|
|
|
Label(registre_1_frame, text=f"R0", width=15, bg="orange").pack(pady=5)
|
|
Label(registre_1_frame, bg="orange").pack(pady=5)
|
|
|
|
|
|
|
|
|
|
|
|
#Registre 2
|
|
registre_2_frame = tk.Frame(registres_frames, width=100, height=100, bg="orange")
|
|
registre_2_frame.pack(padx=10, pady=0, side=tk.LEFT)
|
|
|
|
Label(registre_2_frame, text=f"R1", width=15, bg="orange").pack(pady=5)
|
|
Label(registre_2_frame, bg="orange").pack(pady=5)
|
|
|
|
|
|
|
|
|
|
#Registre 3
|
|
registre_3_frame = tk.Frame(registres_frames, width=100, height=100, bg="orange")
|
|
registre_3_frame.pack(padx=10, pady=0, side=tk.LEFT)
|
|
|
|
Label(registre_3_frame, text=f"R2", width=15, bg="orange").pack(pady=5)
|
|
Label(registre_3_frame, bg="orange").pack(pady=5)
|
|
|
|
|
|
|
|
|
|
#Registre 4
|
|
registre_4_frame = tk.Frame(registres_frames, width=100, height=100, bg="ORANGE")
|
|
registre_4_frame.pack(padx=10, pady=0, side=tk.LEFT)
|
|
|
|
Label(registre_4_frame, text=f"R3", width=15, bg="orange").pack(pady=5)
|
|
Label(registre_4_frame, bg="orange").pack(pady=5)
|
|
|
|
|
|
#Frame annexes
|
|
annexes_frames = tk.Frame(infos_frames, width=400, height=100, bg="blue")
|
|
annexes_frames.pack(padx=10, pady=10, side=tk.TOP)
|
|
|
|
|
|
#Annexe 1
|
|
annexe_1_frame = tk.Frame(annexes_frames, width=100, height=100, bg="orange")
|
|
annexe_1_frame.pack(padx=10, pady=0, side=tk.LEFT)
|
|
|
|
Label(annexe_1_frame, text=f"EQ", width=15, bg="orange").pack(pady=5)
|
|
Label(annexe_1_frame, bg="orange").pack(pady=5)
|
|
|
|
|
|
|
|
|
|
|
|
#RAnnexe 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)
|
|
|
|
Label(annexe_2_frame, text=f"LT", width=15, bg="orange").pack(pady=5)
|
|
Label(annexe_2_frame, bg="orange").pack(pady=5)
|
|
|
|
|
|
|
|
|
|
#Annexe 3
|
|
annexe_3_frame = tk.Frame(annexes_frames, width=100, height=100, bg="orange")
|
|
annexe_3_frame.pack(padx=10, pady=0, side=tk.LEFT)
|
|
|
|
Label(annexe_3_frame, text=f"PC", width=15, bg="orange").pack(pady=5)
|
|
Label(annexe_3_frame, bg="orange").pack(pady=5)
|
|
|
|
|
|
|
|
|
|
#Annexe 4
|
|
annexe_4_frame = tk.Frame(annexes_frames, width=100, height=100, bg="ORANGE")
|
|
annexe_4_frame.pack(padx=10, pady=0, side=tk.LEFT)
|
|
|
|
Label(annexe_4_frame, text=f"SP", width=15, bg="orange").pack(pady=5)
|
|
Label(annexe_4_frame, bg="orange").pack(pady=5)
|
|
|
|
|
|
|
|
|
|
|
|
#Frame RAM
|
|
|
|
|
|
|
|
root.mainloop() |