Entwicklungsplattformen...
Entwicklungsplattformen...
Hallo zusammen,
wie in der Vorlesung angekündigt, dürft Ihr die Entwicklung der Assembler- und C-Programme auf Euren eigenen Systemen machen.
Zur Testierung (s. Folien) bringt Ihr ebenfalls Euren eigenen Laptop mit.
Die Anleitungen und Hinweise in Übung und Praktika werden aber ausschließlich für die RBG-Rechner gemacht.
Studierende, die gerne auf Windows und/oder Mac entwickeln wollen, finden in den einschlägigen Foren sicherlich Hilfe.
Ihr dürft natürlich auch im Forum gerne entsprechende HowTos veröffentlichen.
Schönen Sonntag noch, viele Grüße
Wolfgang
wie in der Vorlesung angekündigt, dürft Ihr die Entwicklung der Assembler- und C-Programme auf Euren eigenen Systemen machen.
Zur Testierung (s. Folien) bringt Ihr ebenfalls Euren eigenen Laptop mit.
Die Anleitungen und Hinweise in Übung und Praktika werden aber ausschließlich für die RBG-Rechner gemacht.
Studierende, die gerne auf Windows und/oder Mac entwickeln wollen, finden in den einschlägigen Foren sicherlich Hilfe.
Ihr dürft natürlich auch im Forum gerne entsprechende HowTos veröffentlichen.
Schönen Sonntag noch, viele Grüße
Wolfgang
Re: Entwicklungsplattformen...
Guten Tag,
warum denn der Sinneswandel? Was ist denn aus:
Da ich nur im Nebenfach Informatik studiere habe ich keinen RBG Account, da man sich ja auch über die TU-ID ins webreg eintragen kann. Insofern würde ich offizielle Anleitungen für Windows sehr zu schätzen wissen, da alle versuche den Assambler Code aus der Vorlesung (Dirtte Vorlesung Folie 39) mit yasm (oder VS yasm) zu compilieren gescheitert sind.
Viele Grüße
Benjamin
warum denn der Sinneswandel? Was ist denn aus:
geworden?Wolfgang hat geschrieben: Auf dem Aufgabenblatt zum ersten Praktikum (verfügbar ab 3.11.2010, 21:00 Uhr) wird es weitere Hinweise für andere Betriebssystemplattformen geben.
( http://d120.de/forum/viewtopic.php?f=17 ... 73#p121177 )
Da ich nur im Nebenfach Informatik studiere habe ich keinen RBG Account, da man sich ja auch über die TU-ID ins webreg eintragen kann. Insofern würde ich offizielle Anleitungen für Windows sehr zu schätzen wissen, da alle versuche den Assambler Code aus der Vorlesung (Dirtte Vorlesung Folie 39) mit yasm (oder VS yasm) zu compilieren gescheitert sind.
Viele Grüße
Benjamin
Re: Entwicklungsplattformen...
Hallo Benjamin,
ich sehe da im Moment keinen Sinneswandel - es wird einige Hinweise zu anderen Betriebssystemen geben. Darunter verstehe ich, dass 1-2 Zeilen Informationen und evtl ein Link da sein werden. Weitere Anleitungen zur Nutzung neben Debian (RBG-Poolrechner) werden wir aber aufgrund der großen Anzahl an Platformen nicht bieten, gleiches gilt dann auch für die Lösungsvorschläge. Dies ist übrigens ein großer Fortschritt gegenüber letztem Wintersemester, wo grundsätzlich nur Debian-Kompatibilität gefragt war. Wenn Ihr also auf einer anderen Platform arbeiten möchtet, so könnt ihr dies gerne tun, aber wir haben nicht die Kapazitäten, um dann überall Support zu bieten
Meines Wissens nach ist es übrigens kein großer Aufwand zum RBG-Büro zu gehen und sich einen Account anlegen zu lassen
Gruß,
Lucas
ich sehe da im Moment keinen Sinneswandel - es wird einige Hinweise zu anderen Betriebssystemen geben. Darunter verstehe ich, dass 1-2 Zeilen Informationen und evtl ein Link da sein werden. Weitere Anleitungen zur Nutzung neben Debian (RBG-Poolrechner) werden wir aber aufgrund der großen Anzahl an Platformen nicht bieten, gleiches gilt dann auch für die Lösungsvorschläge. Dies ist übrigens ein großer Fortschritt gegenüber letztem Wintersemester, wo grundsätzlich nur Debian-Kompatibilität gefragt war. Wenn Ihr also auf einer anderen Platform arbeiten möchtet, so könnt ihr dies gerne tun, aber wir haben nicht die Kapazitäten, um dann überall Support zu bieten

Meines Wissens nach ist es übrigens kein großer Aufwand zum RBG-Büro zu gehen und sich einen Account anlegen zu lassen

Gruß,
Lucas
Re: Entwicklungsplattformen...
Hallo Lucas,
danke für die Antwort. Wenn es Hinweise geben wird bin ich ja zufrieden. Ich habe mich nur über den Satz gewundert:
Natürlich ist der Aufwand nicht gerade groß zum RBG-Büro zu gehen. Doch wenn man die Möglichkeit von euch bekommt auf dem heimischen Rechner die Sachen zu programmieren und zu testieren, dann würde ich das doch auch gerne in Anspruch nehmen (Und SSH ist ja dann auch nur ein workaround). Denn ich finde es klasse, dass nicht grundsätzlich Debian-Kompatibilität gefragt ist. Das man nicht für jede Linux Distribution ein Tutorial schreiben möchte und das auch nicht kann ist mir klar. Für ein Windows Tutorial wäre ich trotzdem dankbar
Aber wenn es so ist wie du sagst, und 1-2 Zeilen Information auf dem Praktikumszettel stehen, mit dem ich YASM zum laufen bekomme, bin ich zufrieden und das Thema ist für mich gegessen.
viele Grüße
Benjamin
danke für die Antwort. Wenn es Hinweise geben wird bin ich ja zufrieden. Ich habe mich nur über den Satz gewundert:
Da das in meinen Augen im Widerspruch dazu steht, dass auf dem ersten Praktikumsblatt Hinweise zu anderen Betriebssystemen stehen sollen. Allerdings reicht nur ein Link zur YASM Seite für mich leider nicht aus (den gibt es schließlich ja auch auf der Seite). Wie schon erwähnt habe ich versucht mit Hilfe der Yasm Doku und Google den Code aus der Vorlesung zu Compilieren. Leider ohne Erfolg (btw: Es wäre nett, wenn jemand der den Code auf Windows zum Laufen bekommen hat mir kurz erklären könnte wie er/sie das gemacht hat).Wolfgang hat geschrieben: Die Anleitungen und Hinweise in Übung und Praktika werden aber ausschließlich für die RBG-Rechner gemacht.
Studierende, die gerne auf Windows und/oder Mac entwickeln wollen, finden in den einschlägigen Foren sicherlich Hilfe.
Natürlich ist der Aufwand nicht gerade groß zum RBG-Büro zu gehen. Doch wenn man die Möglichkeit von euch bekommt auf dem heimischen Rechner die Sachen zu programmieren und zu testieren, dann würde ich das doch auch gerne in Anspruch nehmen (Und SSH ist ja dann auch nur ein workaround). Denn ich finde es klasse, dass nicht grundsätzlich Debian-Kompatibilität gefragt ist. Das man nicht für jede Linux Distribution ein Tutorial schreiben möchte und das auch nicht kann ist mir klar. Für ein Windows Tutorial wäre ich trotzdem dankbar

Aber wenn es so ist wie du sagst, und 1-2 Zeilen Information auf dem Praktikumszettel stehen, mit dem ich YASM zum laufen bekomme, bin ich zufrieden und das Thema ist für mich gegessen.
viele Grüße
Benjamin
Re: Entwicklungsplattformen...
Hat jemand von euch es irgendwie hinzubekommen Assembler unter MAC laufen zu lassen? Ich habs mit über Xcode mit gcc versucht aber der ist nicht kompatibel. Jetzt gibts schon die Hausübung und in 2 Tagen kommt das erste Praktikum und das Ding läuft nicht, also organisatorisch finde ich das nicht ganz so optimal gelungen.
mfG
mfG
Re: Entwicklungsplattformen...
im worst case kannst du auch über ssh auf die rbg rechner zugreifen und es unter Debian kompilieren, wenn es unter mac überhaupt nicht geht. Aber das wäre wohl wirklich nur worst case ^^dstorck hat geschrieben:Hat jemand von euch es irgendwie hinzubekommen Assembler unter MAC laufen zu lassen? Ich habs mit über Xcode mit gcc versucht aber der ist nicht kompatibel. Jetzt gibts schon die Hausübung und in 2 Tagen kommt das erste Praktikum und das Ding läuft nicht, also organisatorisch finde ich das nicht ganz so optimal gelungen.
mfG
Tutor GDI II SS12
Tutor Trusted Systems WS11/12, Tutor GDI II SS11
Tutor Trusted Systems WS10/11, GDI I WS10/11
Tutor GDI II SS10, Tutor Trusted Systems WS09/10
Tutor Trusted Systems WS11/12, Tutor GDI II SS11
Tutor Trusted Systems WS10/11, GDI I WS10/11
Tutor GDI II SS10, Tutor Trusted Systems WS09/10
Re: Entwicklungsplattformen...
Hallo zusammen,
wo ist das Problem, die RBG-Rechner zu benutzen.
Die waren sonst auch der verlangte Standard. Die Anleitung dazu steht auf dem 1. Übungsblatt.
Gruß WH
wo ist das Problem, die RBG-Rechner zu benutzen.
Die waren sonst auch der verlangte Standard. Die Anleitung dazu steht auf dem 1. Übungsblatt.
Gruß WH
Re: Entwicklungsplattformen...
Gibt es vielleicht für x86 auch einen Simulator, ähnlich wie es ihn für MIPS gibt?
siehe: http://courses.missouristate.edu/KenVollmar/MARS/
Grüße,
Oliver
siehe: http://courses.missouristate.edu/KenVollmar/MARS/
Grüße,
Oliver
-
- Mausschubser
- Beiträge: 69
- Registriert: 12. Okt 2006 20:56
Re: Entwicklungsplattformen...
@Hyst: Windows verhaellt sich grundsaetzlich anders in Interrupts und anderen Dingen, daher kann es sein dass der Quellcode nicht so direkt uebersetzbar ist.
@dstorck: Unter Mac wuerde ich dir erstmal von Xcode abraten. Das ist ein wenig Overkill. Verwende hier einen normalen Editor und nutzen yasm & gcc direkt.
@ohoffman: Soweit ich weiss ist kein direkter Simulator vorhanden. Es gibt aehnliche Systeme die leicht andere Syntax unterstuetzen, aber diese ist von unserer Seite nicht unterstuetzt.
Wir koennen leider nicht alle Platformen unterstuetzen und deswegen steht fuer euch auch der Pool zur Verfuegung. Es ist leider bei einer so maschinennahen Programmiersprache schwierig eine andere Loesung zu finden. Aushelfen koenntet ihr euch unter anderem selbst indem ihr euch gegenseitig Tutorials postet. Der erste Ansatz mit dem Skript fand ich persoenlich super!
@dstorck: Unter Mac wuerde ich dir erstmal von Xcode abraten. Das ist ein wenig Overkill. Verwende hier einen normalen Editor und nutzen yasm & gcc direkt.
@ohoffman: Soweit ich weiss ist kein direkter Simulator vorhanden. Es gibt aehnliche Systeme die leicht andere Syntax unterstuetzen, aber diese ist von unserer Seite nicht unterstuetzt.
Wir koennen leider nicht alle Platformen unterstuetzen und deswegen steht fuer euch auch der Pool zur Verfuegung. Es ist leider bei einer so maschinennahen Programmiersprache schwierig eine andere Loesung zu finden. Aushelfen koenntet ihr euch unter anderem selbst indem ihr euch gegenseitig Tutorials postet. Der erste Ansatz mit dem Skript fand ich persoenlich super!
Re: Entwicklungsplattformen...
@patrik_s.stud.tu
gcc hatte ich über die Shell benutzt. Wie kann ich denn yasm überhaupt auf den Mac bekommen?
gcc hatte ich über die Shell benutzt. Wie kann ich denn yasm überhaupt auf den Mac bekommen?
-
- Mausschubser
- Beiträge: 69
- Registriert: 12. Okt 2006 20:56
Re: Entwicklungsplattformen...
MacPorts bietet sich fuer sowas grundsaetzlich an. Wenn du es installiert hast: sudo port install yasm
-
- Mausschubser
- Beiträge: 61
- Registriert: 21. Okt 2009 16:29
Re: Entwicklungsplattformen...
Yasm habe ich auch ohne Port installieren können, aber leider fehlen mir die richtigen angepassten Befehle um den Code aufm Mac zum laufen zu bringen ... yasm übersetzt es in was ich möchte, egal ob elf oder mach-o(mac-typsich?!), aber beim gcc haderts...
Hätte jemand ne Lösung?
mfG
Hätte jemand ne Lösung?
mfG
-
- Mausschubser
- Beiträge: 69
- Registriert: 12. Okt 2006 20:56
Re: Entwicklungsplattformen...
Auszug aus dem kommenden Prak1.pdf:
yasm -f macho32 datei.asm
gcc -arch i386 -o datei datei.o
Unter der Annahme, dass euer Code _main enthaelt und ihr unter Mac OS X arbeitet.
yasm -f macho32 datei.asm
gcc -arch i386 -o datei datei.o
Unter der Annahme, dass euer Code _main enthaelt und ihr unter Mac OS X arbeitet.
-
- Mausschubser
- Beiträge: 61
- Registriert: 21. Okt 2009 16:29
Re: Entwicklungsplattformen...
Das löst das Problem nicht ganz.patrik_s.stud.tu hat geschrieben:Auszug aus dem kommenden Prak1.pdf:
yasm -f macho32 datei.asm
gcc -arch i386 -o datei datei.o
Unter der Annahme, dass euer Code _main enthaelt und ihr unter Mac OS X arbeitet.
Zunächst funktionierts lediglich mit
Zudem musste manyasm -f macho32 -p gas datei.asm
ändern (wobei hier der spätere Fehler die Ursache hat?!), erst danach lies es sich bei mir mit gcc kompilieren, doch kommt beim Aufrufen des Programms nun folgende Fehlermeldung:printf in _printf
Also steckt i-wo noch der Wurm...Segmentation fault
Der Code bis jetzt:
Code: Alles auswählen
.data
intout: .string "Wert %d\n"
.text
.globl _main
_main:
# Wert fuer die Berechnung
movl $13, %eax # 13 == 0b1101
# ... Hier Ihren Code einfuegen ...
# Wert im %eax ausgeben
pushl %eax
pushl $intout
call _printf
# Exit
movl $1, %eax
int $0x80
-
- Mausschubser
- Beiträge: 69
- Registriert: 12. Okt 2006 20:56
Re: Entwicklungsplattformen...
Kurz und knapp:
pushl $0
pushl $0
pushl %eax
pushl $intout
call _printf
Mac OS X hat hier was eigenes an sich, ich konnte an dieser Stelle den Unterschied nicht genau erklaeren.
Genau diese Probleme sind der Grund warum wir nicht, oder nur rudimentaer, Support fuer andere Platformen bieten. Es existiert nicht die Zeit alle X-Kombinationen auszuprobieren und an dieser Stelle habe ich nur geantwortet, weil ich selbst durch das Prozedere durch bin. Nun arbeite ich aber auch auf den Poolrechner, weil es sonst keine Programme in den Muloes waeren, die ihr direkt nutzen koennt.
pushl $0
pushl $0
pushl %eax
pushl $intout
call _printf
Mac OS X hat hier was eigenes an sich, ich konnte an dieser Stelle den Unterschied nicht genau erklaeren.
Genau diese Probleme sind der Grund warum wir nicht, oder nur rudimentaer, Support fuer andere Platformen bieten. Es existiert nicht die Zeit alle X-Kombinationen auszuprobieren und an dieser Stelle habe ich nur geantwortet, weil ich selbst durch das Prozedere durch bin. Nun arbeite ich aber auch auf den Poolrechner, weil es sonst keine Programme in den Muloes waeren, die ihr direkt nutzen koennt.