FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Technische Informatik

Wer hat Ahnung zu den RS Übungen?

Wer hat Ahnung zu den RS Übungen? 2007-01-13 16:04
Anonymer User
Ich habe nämlich gar keine Ahnung.

So wie es aussieht muss ich dann die Lösungen abwarten und RS im nächsten Jahr nochmal machen. Und das alles nur wegen den letzten beiden Übungszetteln. Obwohl ich sonst immer fast 100% hatte.

Wie fange ich denn nun an ein Programm zu schreiben, wenn ich nicht die Möglichkeit habe eine Sparc zu benutzen.

Die Lösungen sollen ja als Aufgabe.s Format eingeschickt werden. Das kann ich ja dann gar nicht. Oder reicht es den Code in einem Editor zu schreiben und als .txt zu verschicken?

Wenn ihr Ahnung habt dann könnt ihr mir ja mal den Code für die Addition zweier Zahlen zeigen zum Beispiel. Und nicht nur die Befehle, die sind mir schon klar, aber das ganze Program wie es richtig wäre, von Anfang bis Ende.

Ich sehe für mich nämlich schwarz hier. Das nervt mich schon gewaltig wenn es daran nun scheitern würde.

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-13 16:16
UncleOwen
Wie fange ich denn nun an ein Programm zu schreiben, wenn ich nicht die Möglichkeit habe eine Sparc zu benutzen.
Hast Du doch??? Im Rechenzentrum stehen jede Menge rum, und da kommt man auch von aussen per ssh rauf.

Die Lösungen sollen ja als Aufgabe.s Format eingeschickt werden. Das kann ich ja dann gar nicht. Oder reicht es den Code in einem Editor zu schreiben und als .txt zu verschicken?
.s ist plain text…

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-13 16:26
Anonymer User
ok danke für die Antwort. Ich dachte ich würde dieses SSH nie brauchen, aber nun sieht es wohl danauch aus.

Was ich bis jetzt im Forum darüber gelesen habe hat mir nicht viel geholfen.

Kann mir das jemand mal für Dummies erklären? Und wenn ich dan da drauf bin, wie kann ich dann dort Assemblerprogramme schreiben und testen.

Obwohl ich ja immer noch nicht weiss wie ich so ein Programm komplett schreibe, dann hilft es mir auch nicht viel am Informatikum oder über SSH die Aufgaben zu lösen…….

Kann noch irgendjemand helfen bitt?

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-13 16:27
TriPhoenix
Über das Arbeiten über SSH hatte Fred schon hier was geschrieben: http://3773.rapidforum.com/topic=101880127261

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-13 16:50
Fred
Wenn ihr Ahnung habt dann könnt ihr mir ja mal den Code für die Addition zweier Zahlen zeigen zum Beispiel. Und nicht nur die Befehle, die sind mir schon klar, aber das ganze Program wie es richtig wäre, von Anfang bis Ende.
Wie in einem anderen Thread bereits erwähnt kannst Du ein C-Programm schreiben und nach Assembler übersetzen.

Ich habe z.B. gerade testweise mal ein Programm geschrieben, welches zwei Zahlen addiert:

#include <stdio.h> int main() { int a = 5; int b = 10; int c = a+b; printf("%i + %i = %i\n", a, b, c); return 0; }
Das lädt man dann per WinSCP auf rzdspc3 hoch. Dann startet man putty und übersetzt es nach Assembler:

gcc -S test.c

Anschliessend hast Du eine test.s, welche Du Dir per WinSCP runterladen kannst. Die sieht bei mir so aus:

.file "test.c" .section ".rodata" .align 8 .LLC0: .asciz "%i + %i = %i\n" .section ".text" .align 4 .global main .type main, #function .proc 04 main: save %sp, -128, %sp mov 5, %g1 st %g1, [%fp-28] mov 10, %g1 st %g1, [%fp-24] ld [%fp-28], %g2 ld [%fp-24], %g1 add %g2, %g1, %g1 st %g1, [%fp-20] sethi %hi(.LLC0), %g1 or %g1, %lo(.LLC0), %o0 ld [%fp-28], %o1 ld [%fp-24], %o2 ld [%fp-20], %o3 call printf, 0 nop mov 0, %g1 mov %g1, %i0 restore jmp %o7+8 nop .size main, .-main .ident "GCC: (GNU) 4.1.1"
In dem generierten Code sind noch sehr viele überflüssige Befehle (z.B. werden Zwischenergebnisse auf dem Stack zwischengespeichert, obwohl wir genügend Platz in den Registern haben). Nach ein bischen Aufräumarbeit sieht das ganze dann so aus:

.section ".text" .align 4 .global main main: save %sp, -128, %sp sethi %hi(hans), %o0 or %o0, %lo(hans), %o0 mov 5, %o1 mov 10, %o2 call printf add %o1, %o2, %o3 ret restore .section ".rodata" .align 8 hans: .asciz "%i + %i = %i\n"
Wunder Dich nicht darüber, dass der printf Aufruf vor der Addition steht: der Befehl hinter dem call wird noch vor dem eigentlichen Sprung ausgeführt. Stichwort pipelining.

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-13 17:12
Anonymer User
macht das jeder so? das er zuerst ein C Programm schreibt? Ich persönlich kenne mich mit C Programmen nicht so gut aus. Schreibt keiner das Assemblerprogramm von Anfang an ohne solche Hilfe?

Dann startet man putty und übersetzt es nach Assembler: gcc -S test.c Anschliessend hast Du eine test.s, welche Du Dir per WinSCP runterladen kannst.

Wie genau ist das gemeint? Wenn ich jetzt mit Putty meine Konsole habe, was dann?

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-13 17:47
Fred
gcc -S test.c

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-13 18:00
Fred
Schreibt keiner das Assemblerprogramm von Anfang an ohne solche Hilfe?
Also ich benutze dafür meistens die folgende Vorlage:

.section ".text" .align 4 .global main main: save %sp, -128, %sp ;---insert code here ret restore .section ".rodata" .align 8 ;---insert data here
Damit kann man es eigentlich ganz vernünftig "von Hand" schreiben.

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-14 00:47
Goldl
Schreibt keiner das Assemblerprogramm von Anfang an ohne solche Hilfe?

Kommt drauf an ob du es können möchtest oder nicht und die Aufgaben ohne C zu machen ist sicherlich eine sehr gute Übung ^^

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-14 08:43
Anonymer User
Zitat:
Schreibt keiner das Assemblerprogramm von Anfang an ohne solche Hilfe?


Kommt drauf an ob du es können möchtest oder nicht und die Aufgaben ohne C zu machen ist sicherlich eine sehr gute Übung ^^

Ich würde es sehr gerne können, wenn jemand bereit ist mir dabei zu helfen?

Bist du ein Erstsemester Goldl?

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-14 21:29
Goldl
Jupp so ist es ;-)

Re: Wer hat Ahnung zu den RS Übungen? 2007-01-14 22:17
Anonymer User
Willkommen zum gleichen Schicksal ;) lol