Worn Geschrieben 28. Dezember 2006 Geschrieben 28. Dezember 2006 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 Zitieren
geloescht_Newlukai Geschrieben 29. Dezember 2006 Geschrieben 29. Dezember 2006 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. Zitieren
Worn Geschrieben 30. Dezember 2006 Autor Geschrieben 30. Dezember 2006 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! Zitieren
Crush Geschrieben 30. Dezember 2006 Geschrieben 30. Dezember 2006 @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. Zitieren
geloescht_Newlukai Geschrieben 31. Dezember 2006 Geschrieben 31. Dezember 2006 @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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.