Veröffentlicht 28. Dezember 200618 j Hallo, kann einer von euch mir das in deutsch übersetzen oder mir nen Link senden der das erklärt was hier verlangt wird. Hintergrund ist ich mach ein Studium und habe in dieser Vorlesung immer solche Aufgaben auf, nur leider versteh ich manchmal (und da bin ich nicht der einzige) die Aufgaben nicht so ganz. Ich danke euch sehr für einen Wink mit dem Zaunpfal. Hier die Aufgabe: Ein Programm einer höheren Programmiersprache ist übersetzt und zu einem ausführbaren Programm gebunden worden. Alle für die Befehle und Operanden benötigten Adressen sind als Programmadressen ausgedrückt. Zur Ausführung wird dieses Programm in einen beliebigen Adreßbereich des Hauptspeichers geschrieben. Geben Sie eine Funktion zur Adreßumsetzung der Programmadressen in die Speicheradressen an. Rutscht gut ins neue... Worn
29. Dezember 200618 j Ich weiß nicht, ob's tatsächlich so simpel ist, wie ich mir das vorstelle: Programmadressen sind also die Adressen der Methoden, etc. relativ zum Programm. Habe ich also z. B. printTable() und printChart(), haben diese Methoden je nach Länge bspw. die Adressen A0 und B0. Relativ zum Programm, d. h. die erste Zeile Code stünde in Adresse 0. Wird der Code nun ausgeführt, wird das Programm in den RAM geschrieben. Und dort sicher nicht an Adresse 0. D. h. unter A0 und B0 würdest Du nicht die beiden Methoden finden. Wenn Du aber die Adresse des Programms hast (die ja relativ zum Programm 0 war), kommst Du auch relativ leicht zu den Adressen der Methoden: Adresse des Programms im RAM + Programmadresse Vorausgesetzt ist natürlich, daß das Programm in einem Block im RAM vorliegt. Mich würde jetzt interessieren, was Du studierst, in welchem Semester und welchem Fach diese Aufgabe entspringt.
30. Dezember 200618 j Hy, ich studiere Medieninformatik im 1 Semestern. Das Fach nennt sich Grundlagen Informatik. Ich habe auch schon eine Informatik Ausbildung (Info-Kaufmann) aber dennoch vermag ich so manche Aufgaben nicht zu lösen da sie sehr kompliziert gestellt sind und in den Lehrmodulen nicht so viel dazu drin steht. Da muss ich nun mal auf die Suche nach einem guten Kompendium gehen wo von allem etwas drinsteht. Ich denke aber das deine Lösung der richtige Ansatz sein wird. Danke! Grüße Worn + komm gut ins neue Jahr!
30. Dezember 200618 j @NewLukai Ich weiß nicht, ob's tatsächlich so simpel ist, wie ich mir das vorstelle: -> Solange alles in einem Block vorhanden ist ja, kompliziert wird es erst, wenn es sich um unterschiedliche Programmblöcke handelt und diese an unterschiedlichen Positionen eingelesen werden, dann muß die jeweilige Blockadresse zusätzlich rausgesucht werden. Oft sind nämlich Programm, Daten und leere Blöcke, die einfach im Speicher reserviert werden, quer gemixt, müssen aber aufeinander verweisen. Das Thema nennt sich PE, Elf, Reference, (oder beim Amiga) Hunk Loader, falls einer sich näher informieren will - ist überall das gleiche Prinzip.
31. Dezember 200618 j @NewLukai -> Solange alles in einem Block vorhanden ist ja, kompliziert wird es erst, wenn es sich um unterschiedliche Programmblöcke handelt und diese an unterschiedlichen Positionen eingelesen werden, dann muß die jeweilige Blockadresse zusätzlich rausgesucht werden. Joa, wie gesagt, Prämisse war eben das alles en bloc im RAM vorliegt. PE und ELF sind tatsächlich interessant ... thx
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.