FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Technische Informatik

Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler...

Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-12 17:01
Seth
Howdy,
bin noch immer auf der Suche nach einem Sparc Assembler, der auf Windoof läuft, damit ich auf meiner Blechkiste die aktuellen RS Aufgaben lösen kann.
Donnerstag wusste noch niemand, wo man was herbekommt, vielleicht hat ja mittlerweile jemand was gefunden oder einer der "Veteranen" kann uns Neulingen helfen.

MFG Seth

PS: tkisem arbeitet bei mir nicht vernünftig (wurde während der vorlesung erwähnt^^)

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-12 17:53
Hannes
dito,

alternativ nen tollen debugger den man über die konsole bedienen kann, momentan ist mein vorgehen: assemblieren, ausführen, raten warums nicht klappt. ;)

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-12 18:15
Anonymer User
Hallo ihr!

Es scheint ja als wenn ihr schon dabei seid die Aufgaben zu bearbeiten und tatsächlich schon Programme zu schreiben.

Ich bin immernoch dabei zu versuchen durch die Assemblerprogrammierung durchzusteigen.

Kann mir vieleicht einer von euch Hilfestellung geben? Vieleicht kurz erklären wie ihr an die Aufgaben rangeht?

Ich werde bald anfangen hier zu verzweifeln, weil ich gar nichts hinbekomme. Nur weil die Vorlesung für mich nich verständlich ist, genauso wie die Folien.

Wenn ich mal ein konkretes Assemblerprogramm hätte mit guten Kommentaren und Erläuterungen um das ganze zu verstehn, das wäre schon sehr gut.

Ich weiss nich was ich noch machen soll. Und nun wegen den letzten beiden Übungszetteln bei Rechnerstrukturen durchzufallen wäre echt scheisse. Nur weil der Stoff nicht gut genug vermittelt wird.

Und testen kann ich es zu Hause auch nicht weil das besagte Programm bei mir nicht läuft.

Könnt ihr mir helfe die Assemblerprogrammierung zu verstehn? Ich weiss nich wie ich es sonst schaffen soll.

Danke!

Hier der Link zu den Übungen für Fortgeschrittene Semester die gerne helfen wollen. Vielen Dank.

http://www.informatik.uni-hamburg.de/TIS/files/RS-Blatt6.pdf

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-12 20:00
Hackbert
Ihr könntet euch per SSH auf rzdspc10.informatik.uni-hamburg.de einloggen und den GNU-Assembler gas bzw. die GNU Compiler Collection gcc benutzen.

Letztes Jahr waren die RS-Assembler-Aufgaben noch für die i386-Architektur formuliert…

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-12 20:05
Goldl
hmmm mal sehen wer es überhaupt verstanden hat ….

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-12 20:24
Anonymer User
Klick mal hier

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 00:48
DeGT
Ihr könntet euch per SSH auf rzdspc10.informatik.uni-hamburg.de einloggen und den GNU-Assembler gas bzw. die GNU Compiler Collection gcc benutzen.

Letztes Jahr waren die RS-Assembler-Aufgaben noch für die i386-Architektur formuliert…

Ja, ich hatte sogar Punktabzug, weil ich es auf einer sparc gemacht hatte…

Allerdings hatten wir doch durchaus andere Aufgaben (Hey, eine Veränderung! [img]http://www.fb18.de/gfx/14.gif[/img])

Zur Ideenfindung könnt ihr euch auch von einem Compiler eures Vertrauens assembler-Code generieren lassen.

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 02:18
Seth
schonmal danke für eure ganzen tips, werd versuchen, dass übers wochenende irgenwie hinzubekommen:P aber noch eine kurze frage: wie bekomme ich in C das Einerkompliment einer zahl?(wird benötigt in der ersten der drei aufgaben)

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 02:30
UncleOwen
Das Einerkomplement erhälst Du mit ~.

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 14:26
Anonymer User
müssen wir in der ersten Aufgabe auch Programme dazu schreiben?

Zur Ideenfindung könnt ihr euch auch von einem Compiler eures Vertrauens assembler-Code generieren lassen.

Wie geht das?

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 15:22
Pocmo
Mit dem GCC z.B.:
gcc -S foo.c
Danach findest du dann eine foo.s mit Assemblercode im Verzeichnis.

EDIT: Hab das ganze nochmal getestet. Wenn man auf den Sparc-Rechnern vom Rechenzentrum arbeitet ist die Ausgabe vom Sun C-Compiler eventuell interessanter, weil der eigentliche C-Code noch in den Assemblerquelltext als Kommentare eingefügt wird. Funktioniert damit genauso:
cc -S foo.c

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 16:58
Fred
Der cc optimiert offenbar schon in der Standardeinstellung ein bischen besser als der gcc:

! 5 int a = 5; mov 5,%l0 st %l0,[%fp-8] ! 6 int b = 10; mov 10,%l0 st %l0,[%fp-12] ! 7 int c = a+b; mov 15,%l0
Anstatt die beiden Zahlen zu addieren, wird gleich das korrekte Ergebnis 15 in das Register geschoben.

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 22:48
Anonymer User
Ihr könntet euch per SSH auf rzdspc10.informatik.uni-hamburg.de einloggen und den GNU-Assembler gas bzw. die GNU Compiler Collection gcc benutzen.

Wie benutze ich die Compiler von der Konsole aus?

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 22:54
Pocmo
Wie benutze ich die Compiler von der Konsole aus?

Das steht oben eigentlich schon mal:

Falls du Assemblercode aus C-Code möchtest ("foo.s"):
gcc -S foo.coder
cc -S foo.c
Falls du das Programm haben möchtest (normalerweise "a.out":
gcc foo.coder
cc foo.c
Und mit dem folgenden sollte man C-Code zusammen mit Assemblercode kompilieren:
gcc foo.s foo.coder
cc foo.s foo.c
Der cc optimiert offenbar schon in der Standardeinstellung ein bischen besser als der gcc:

Stimmt, das könnte eventuell etwas verwirrend sein, falls man im Beispiel sehen will wie eine Addition funktioniert.

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 23:13
Anonymer User
Vieleicht bin ich ja zu blöd das zu verstehen…

Wenn ich einen Assemblercode für die SPARC testen möchte, den wir in den Übungen ja schreiben sollen, wie mache ich das?

Angenommen ich habe einen ganz "normalen" Code-Text im Editor geschrieben. Oder ich will ein Beispiel testen.

Nochmal ganz langsam bitte…

Ich habe die Konsole…

Ich habe einen Code-Text in meinen Editor…

Wie teste ich jetzt ob mein Program auf einer SPARC läuft?

Oder…was machen die Übungsleiter? Wenn ich als Lösung einen Editor_Text z.B. Aufgabe1.txt einschicke? Wie wird meine Lösung getestet un wie kann ich das selber machen?

Sorry das ich das nich alles gleich selber vestehe…

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 23:27
Fred
Und mit dem folgenden sollte man C-Code zusammen mit Assemblercode kompilieren:
gcc foo.s foo.coder
cc foo.s foo.c
Das wird nicht funktionieren! foo.s wird nach foo.o übersetzt, anschliessend foo.c nach foo.o, womit foo.o überschrieben wird. Alle zu kompilierenden Dateien müssen vor dem Punkt unterschiedliche Namen haben!

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 23:31
Fred
Falls Du Dir noch kein Verzeichnis angelegt hast und nicht weisst, wie das geht:
rzdspc10$ cd ~ rzdspc10$ mkdir RS rzdspc10$ cd RS rzdspc10$ mkdir 01 rzdspc10$ cd 01
Nicht, dass es daran scheitert…man kann ja nie wissen [img]http://www.fb18.de/gfx/23.gif[/img]

Angenommen ich habe einen ganz "normalen" Code-Text im Editor geschrieben.
Assemblercode, ja? Dann speicherst Du den erstmal, z.B. in ~/RS/01/Aufgabe01.s


Ich habe die Konsole…
Erst mal ins richtige Verzeichnis wechseln:
rzdspc10$ cd ~/RS/01/
Wie teste ich jetzt ob mein Program auf einer SPARC läuft?
rzdspc10$ gcc Aufgabe01.s rzdspc10$ ./a.out Die erste Zeile kompiliert den Assemblercode in Maschinencode und erzeugt eine ausführbare a.out. (Das klappt natürlich nur, wenn in Deinem Assemblerprogramm keine Syntax- oder Kompilierfehler sind.)

Die zweite Zeile führt a.out aus.

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 23:44
Anonymer User
Vielen Dank Fred

Dann speicherst Du den erstmal, z.B. in ~/RS/01/Aufgabe01.s

Wenn ich den Konsolen Editor joe benutze und meinen Code dort drin habe, wie speichere ich es als Aufgabe01.s oder ist Aufgabe01.txt das gleiche?

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 23:47
Pocmo
Das wird nicht funktionieren! foo.s wird nach foo.o übersetzt, anschliessend foo.c nach foo.o, womit foo.o überschrieben wird. Alle zu kompilierenden Dateien müssen vor dem Punkt unterschiedliche Namen haben!

Huch, sorry, ja logisch :)

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-13 23:57
Fred
Wenn ich den Konsolen Editor joe benutze und meinen Code dort drin habe, wie speichere ich es als Aufgabe01.s oder ist Aufgabe01.txt das gleiche?
Ich kenne joe nicht. Notfalls kannst Du es ja als txt speichern und anschliessend in der Konsole umbenennen.
rzdspc10$ mv Aufgabe01.txt Aufgabe01.s
Alternativ kannst Du den Editor sicher auch beim nächsten Mal so starten:

rzdspc10$ joe Aufgabe02.s

Re: Aktuelle RS Aufgaben/Wo gibts einen Sparc Assembler... 2007-01-14 11:27
Harzilein
Ansonsten wird in joe ja auch angezeigt, dass es mit Ctrl-K H eine Onlinehilfe gibt. Und dort steht unter anderem "EXIT: ^KX save […]" sowie "FILE: ^KD save".