Prüfungsaufgabe Motorola 68322 Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
Autor |
Prüfungsaufgabe Motorola 68322 |
|
|
|
|
BID = 396416
Jay- Gerade angekommen
Beiträge: 14
|
|
Hallo Leute ich bin grad mitten in der Vorbereitung für die Prüfungen, und wollte hier mal fragen ob mir jemand die folgende Prüfungsaufgabe lösen könnte. Unser Prof ist da leider nicht sehr kooperativ was das Distribuieren von Lösungen zu alten Prüfungsaufgaben angeht.
Naja hier jedenfalls die Fragestellung:
Wie gesagt ein 68322 von Motorola:
Im Register D0 steht: "10203040"
Man soll herausfinden was nach den folgenden Befehlen in den jeweiligen Adressen steht:
1. MOVE.B D0, $500000 dann hat man schon vorgedruckt eine Tabelle, mit zwei Zeilen und zwei Spalten, wobei Z1S1 für Adresse 500000 steht und Z2S1 für Adresse 500002.
Dort soll man eintragen was wo steht.
2. MOVE.W D0,$500000
3. MOVE.L D0,$500000
4. MOVE.B D0,$500001
5. MOVE.W D0,$500002
Ungültige Befehle sind zu streichen.
Ich bin der Meinung, dass Befehl 4. ungültig ist, aber ich kann das nicht genau erklären, bitte um Hilfe.
Vielen Dank
Gruß Jay |
|
BID = 396509
SIGINT Stammposter
Beiträge: 381 Wohnort: Mönchengladbach
|
|
Hi Jay-,
ich hab zwar keine Ahnung von den MC68k, aber wenn ich richtig gegoogelt habe, dann ist das doch relativ einfach:
MOVE bedeutet ja, daß ein Transfer stattfindet. Das W,L und B gibt wohl an, wie breit das Datenwort sein soll, das transferiert werden soll... also Word,Long oder Byte. D0 ist wohl immer die Quelle und das Ziel halt ein Speicherbereich.
Der MC68k ist wohl big-endian... darauf musst du noch achten.
Die Aufgabe sollte also lösbar sein...
Gruß,
SIGINT
|
|
BID = 396754
Jay- Gerade angekommen
Beiträge: 14
|
Hallo, also das mit dem Befehl ist nicht ganz das Problem.Mein Problem ist, dass ich nicht weiss, bzw. mir nicht erklären kann welche Adressen ich in D0 welchem Wert zu ordnen kann:
Also konkret: Steht die '10' an der niederwertigsten Adresse oder die '40'? Und noch wichtiger warum? Bei Intel wäre es ja wegen dem anderen Byte-Ordering genau andersherum.
Ach ja und noch was: Habe gerade gelesen, dass bei Motorola Befehle immer auf geraden Adressen liegen müssen, da sie word-aligned sind. Ist das so richtig?
Würde dann ja heissen, dass Befehl 4. ungültig ist.
Danke
[ Diese Nachricht wurde geändert von: Jay- am 4 Jan 2007 10:01 ]
|
BID = 396764
SIGINT Stammposter
Beiträge: 381 Wohnort: Mönchengladbach
|
Hi Jay-,
eins Vorweg: Ich hab noch nie mit den MC68k rumgespielt... deshalb bin ich mir nicht 100% sicher, ob alles richtig ist was ich sage. Aber ich versuchs trotzdem mal
Zitat :
| Mein Problem ist, dass ich nicht weiss, bzw. mir nicht erklären kann welche Adressen ich in D0 welchem Wert zu ordnen kann:
Also konkret: Steht die '10' an der niederwertigsten Adresse oder die '40'? Und noch wichtiger warum? Bei Intel wäre es ja wegen dem anderen Byte-Ordering genau andersherum. |
Das ist das Problem mit little- und big-endian. Ich bin der Meinung, daß Hexadezimalwerte im normalen Sprachgebrauch immer als big-endian angegeben werden, auch wenn die CPU little-endian verwendet. (Angelehnt an das Dezimalsystem)
Also müsste die '40' die niederwertigste Stelle sein.
Intels sind in der Tat little-endian Maschinen...
Zitat :
| Ach ja und noch was: Habe gerade gelesen, dass bei Motorola Befehle immer auf geraden Adressen liegen müssen, da sie word-aligned sind. Ist das so richtig? |
Das kann ich nicht sagen... wenn du das sagst, dann dürfte das aber stimmen.
Zitat :
| Würde dann ja heissen, dass Befehl 4. ungültig ist. |
Wenn die letzte Aussage stimmt, dann würde ich auch sagen, daß Befehl 4. falsch ist. Andererseits könnte es auch sein, daß dieser transfer nur Byte-aligned sein muss... und dann ist das wieder OK.
Ich hoffe ich konnte etwas helfen..
Gruß,
SIGINT
|
BID = 396765
Jay- Gerade angekommen
Beiträge: 14
|
Danke vorab für die Antworten, werde mir heute mal paar Bücher in der Bib reinziehen...
|
BID = 396776
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Habe gerade gelesen, dass bei Motorola Befehle immer auf geraden Adressen liegen müssen, da sie word-aligned sind. Ist das so richtig? |
Warum schaust du nicht eunfach in die Unterlagen zum Prozessor ?
Dort ist alles haarklein erklärt: www.freescale.com/files/32bit/doc/inactive/MC68322UM.pdf
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 396806
Dombrowski Stammposter
Beiträge: 450
|
Moin.
Zitat :
| Ach ja und noch was: Habe gerade gelesen, dass bei Motorola Befehle immer auf geraden Adressen liegen müssen, da sie word-aligned sind. Ist das so richtig? |
68000 ja, 6800 nein - beide Motorola.
Zitat :
| Würde dann ja heissen, dass Befehl 4. ungültig ist. |
Über die Adresslage der Binärcodes in der Aufgabe hast du nichts geschrieben, deshalb lässt sich das nicht beantworten. Diese Forderung nach geraden Adressen betrifft den Zugriff in der "Fetch"-Phase, nicht den (eventuellen) Zugriff in der "Execution"-Phase.
In der Execution-Phase ist ein Byte-Zugriff auf ungerade Adressen erlaubt. Jedenfalls bei 68000.
D.
|
BID = 398832
Jay- Gerade angekommen
Beiträge: 14
|
Hallo, Hab die Lösungen und habs jetzt auch kapiert, die Prüfung wird ein Klacks
1.Befehl: 500000: 40; 500001: 00; 500002: 00; 500003: 00
2.Befehl: 500000: 30; 500001: 40; 500002: 00; 500003: 00
3.Befehl: 500000: 10; 500001: 20; 500002: 30; 500003: 40
4.Befehl: 500000: 10; 500001: 40; 500002: 30; 500003: 40
5.Befehl: unerlaubter Wordzugriff auf ungerade Adresse
Gruß Jay
|
BID = 398851
Brizz Stammposter
Beiträge: 386 Wohnort: Rheine
|
Alle Befehle sind gültig.
D0 enthält 10 20 30 40
MOVE.B D0,$50000
$50000 enthält 40
MOVE.W D0,$50000
$50000 enthält 30
$50001 enthält 40
MOVE.L D0,$50000
$50000 enthält 10
$50001 enthält 20
$50002 enthält 30
$50003 enthält 40
MOVE.B D0,$50001
$50001 enthält 40
MOVE.W D0,$50002
$50002 enthält 30
$50003 enthält 40
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 23 Beiträge im Durchschnitt pro Tag heute wurden bisher 7 Beiträge verfasst © x sparkkelsputz Besucher : 182287219 Heute : 2709 Gestern : 4888 Online : 699 5.11.2024 16:35 2 Besucher in den letzten 60 Sekunden alle 30.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0259521007538
|