Forum

Einloggen | Registrieren | RSS  

Hilfe bei Aufgabe zu Registern/RAM (Big Endian) (Computertechnik)

verfasst von Wadde(R), 15.01.2017, 21:27 Uhr

» Offensichtlich handelt es sich um Assembler-Befehle für einen 68K-Kern (=
» Big Endian) im 16-Bit-Mode.
» Alle Befehle sind meines Erachtens korrekt und die in Blau angegebenen
» Speicherinhalte ebenfalls.
»
» Egal, ob MOVE.B, MOVE.W oder MOVE.L, bei "Big Endian" wird bei einem MOVE
» Richtung Speicher immer das höchstwertige Byte an die im Befehl
» spezifizierte Speicheradresse geschrieben und die weiteren niederwertigen
» Bytes (sofern es welche gibt) an die nächst höhere Speicheradresse.
»
» Bei .W und .L müssen es immer gerade Speicheradressen sein. Bei .B dürfen
» es dagegen gerade und ungerade Speicheradressen sein (das wird dann am
» Speicher abhängig von Adresse A0 per Signal /UDS und /LDS unterschieden).
»
» D.h. bei MOVE.B wird nur ein Byte (nämlich das niederwertige Byte $40 des
» D0-Registers; das ist offensichtlich das Detail, das du noch nicht
» verstanden hast) an die angegebene Speicheradresse geschrieben, bei .W nur
» zwei Bytes (nämlich die beiden niederwertigen Bytes $3040 des D0-Registers)
» und bei .L alle vier Bytes des D0-Registers.
»
» Du kannst das Ganze sehr einfach mit dem kostenlosen Assembler und
» Simulator EASy68K* nachvollziehen, indem du die Speicherinhalte nach den
» diversen MOVE-to-Memory-Befehlen jeweils per
»
» MOVE.L $500000,Dx
»
» zurück in die Register Dx = D1, D2 ... D7 kopierst (D1 vor dem Start des
» Simulators mit einem Wert <> 0 überschreiben, damit man die Veränderung
» erkennt).
»
» Dann genügt ein vollständiger Simulationslauf (RUN ohne Einzelschritte) und
» alle Zwischenergebnisse stehen abschließend der Reihe nach in den
» angegebenen Dx-Registern.
»
» PS: MOVE ist dasselbe wie MOVE.W (voreingestellt).
»
» PPS: Den Befehl
»
» MOVE.L #$0,$500000
»
» kann man etwas kompakter durch
»
» CLR.L $500000
»
» ersetzen.
»
» * Klappt allein mit den EXE-Dateien aus dem ZIP-Download auch ohne
» Installation. Einfach EDIT68K.exe starten und loslegen.

Vielen Dank für deine Antwort :) Hat mir weitergeholfen.
Im Skript unterscheidet mein Professor zwischen der 68000er Serie von Motorola und dem Intel 8086. Also lagst du mit deiner Vermutung sehr richtig mit einem 68K-Kern.
@cymka:
Das Problem mit dem Wikipedia-Artikel würde ich als Lehrer-Schüler-Problem vergleichen. Für den Lehrer klar verständlich und logisch nachvollziehbar, für den Schüler (noch) nicht ganz. Habe bei mir einige Übungsaufgaben gemacht und der Inhalt vom Wikipediaartikel macht jetzt deutlich mehr Sinn :-D
@simi7: Wenn meckern, dann auch helfen.



Gesamter Thread:

Hilfe benötigt bei Aufgabe zu Registern/RAM - Wadde(R), 29.12.2016, 19:35
Hilfe benötigt bei Aufgabe zu Registern/RAM - cmyk61(R), 29.12.2016, 20:41
Hilfe benötigt bei Aufgabe zu Registern/RAM - Wadde(R), 29.12.2016, 22:13
Hilfe bei Aufgabe zu Registern/RAM (Big Endian) - Eberhard(R), 30.12.2016, 18:01
Hilfe bei Aufgabe zu Registern/RAM (Big Endian) - Wadde(R), 15.01.2017, 21:27