CPU Simulator
Falls es graphisch sein soll: Visual 6502.
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
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.
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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
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?
------> 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?
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`.
Das ist alles ziemlich gut in der Dokumentation zum `dis`-Modul beschrieben. Hier zum Beispiel für `STORE_FAST`.