Ich bin gerade beim Testen eines eigenen Emulators für den Motorola
MC68020. Als "Referenz" dient mir der Musashi Emulator. Bei folgendem
Befehl verhalten sich beide Emulatoren unterschiedlich, aber ich bin mir
nicht sicher, welches Ergebnis der Realität entspricht.
In a7 steht testweise 0xFFFF0008. Mein Emulator schreibt auf Adresse
0xFFFF0008 den Wert 0x08, während Musashi den Wert 0x0A schreibt. Ich
tendiere ja dazu einem ausgereiften Emulator gegen einem neu
geschriebenen Recht zu geben, aber eigentlich ist mein Verständnis, daß
hier der Wert von A7 auf die von A7 adressierte Speicherstelle zu
schreiben ist und danach der Wert von A7 zu incrementieren ist (und
nicht der incrementierte Wert zu schreiben).
Aber wie verhält sich der MC68020 tatsächlich? Möglich wäre ja auch, daß
direkt nach dem Lesen aus A7 incrementiert wird (also post increment
nach Lesen von A7 und nicht nach Befehlsabarbeitung) und damit dann
tatsächlich A7+2 geschrieben werden würde. Oder anders ausgedrückt: wann
wird incrementiert? Nach Lesen von A7 oder nach Abarbeitung des Befehls?
Vielen Dank für die Hilfe schon mal!