Prüfungsaufgabe Motorola 68322

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 05 11 2024  16:35:12      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : 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


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


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