Seite 1 von 1
CPU Simulator
Verfasst: Dienstag 10. November 2020, 20:38
von StevenB99
Hi, gibt es ein Programm wo man die ganzen Codes in einem CPU Simulationsprogramm simulieren kann?
Re: CPU Simulator
Verfasst: Dienstag 10. November 2020, 20:45
von __deets__
Diverse, zb Valgrind oder QEMU.
Re: CPU Simulator
Verfasst: Dienstag 10. November 2020, 21:02
von narpfel
Falls es graphisch sein soll:
Visual 6502.
Re: CPU Simulator
Verfasst: Dienstag 10. November 2020, 23:11
von __blackjack__
Falls man noch ein bisschen ”Hardware” um den 6502 haben möchte ist VICE auch recht nett:
https://vice-emu.sourceforge.io/
Oder DOSBox falls es ein Prozessor aus der frühen x86-Familie sein soll.
Oder… es gibt da echt viel. Frage ist natürlich wo hier der Python-Bezug ist bei der Frage.
Re: CPU Simulator
Verfasst: Dienstag 10. November 2020, 23:44
von StevenB99
0 LOAD_CONST 0 (<code object dreher at 0x55f3e164d760, file "example.py", line 1>)
------> 2 LOAD_CONST ----->1 ('dreher') #
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (dreher)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object dreher at 0x55f3e164d760, file "example.py", line 1>:
0 LOAD_GLOBAL 0 (len)
2 LOAD_FAST 0 (kette)
4 CALL_FUNCTION 1
------------> 6 STORE_FAST -------> 1 (laenge) #Was bedeutet die 6 und die 1 ????
Was bedeutet die Zahlen hinter den Befehlen und dannach?
Re: CPU Simulator
Verfasst: Mittwoch 11. November 2020, 00:03
von narpfel
Vor dem Opcode steht der Offset in Bytes zum Beginn des Code-Objektes, nach dem Opcode steht der Parameter für den Opcode. Das hat also je nach Opcode eine andere Bedeutung, bei `STORE_FAST` ist es der Slot, in der der oberste Wert vom Stack gespeichert werden soll.
Das ist alles ziemlich gut in der
Dokumentation zum `dis`-Modul beschrieben. Hier zum Beispiel für
`STORE_FAST`.
Re: CPU Simulator
Verfasst: Mittwoch 11. November 2020, 00:23
von StevenB99
Danke Leute, hilft mir sehr weiter