Hallo alle zusammen, bin Technischer-Info Student im 2. Semester und möchte gerne später im embedded (Linux) Bereich arbeiten. Meine Frage: Sollte ich eher Assembler mit AT&T Syntax lernen? Oder lieber Intel Syntax? Habe hier mehrere Bücher zur Auswahl z. B. das von Richard Blum, der in seinem Buch strickt AT&T verwendet. Was meint ihr? Liebe Grüße
Fragling schrieb: > arbeiten. Meine Frage: Sollte ich eher > Assembler mit AT&T Syntax lernen? Oder lieber Intel Syntax? Habe hier > mehrere Bücher zur Auswahl z. B. das von Richard Blum, der in seinem > Buch strickt AT&T verwendet. weder noch. du musst das ASM passend zur einer CPU lernen. Was hilft dir der Intel Syntax wenn du später einen Atmel programmieren willst?
Hallo alle zusammen, bin angehender Fahrlehrer im 2. Semester und möchte gerne später im PKW-Bereich arbeiten. Meine Frage: Sollte ich eher Opel fahren lernen? Oder lieber VW? Habe hier mehrere Bücher zur Auswahl z. B. das von Henry Ford, der in seinem Buch sich strickt auf Tin-Lizzy bezieht. Was meint ihr? Liebe Grüße
Fragling schrieb: > Habe hier > mehrere Bücher zur Auswahl z. B. das von Richard Blum Das ist, so wie du das betrachtest, das ungeeignetste von allen, denn dass du ein Pentium-System programmieren musst ist eher unwahrscheinlich. Allerdings musst du dir drüber klar werden, dass du noch oft im Beruf (sofern du soweit kommst) eine neue Assemblersprache für eine neue CPU lernen musst, ich habe schon so zwischen 10 und 20 verwendet. Ich halte es auch für fraglich, ob du dich ausschliesslich auf Linux beschränken kannst. Insofern ist es dann egal, womit du anfängst, Pentium ist so gut wie Arm oder auch 8051. Also nicht so schmalspurig denken, Embedded Linux auf Pentium ist nur ein kleiner Teil der Embedded Welt. Gruss Reinhard
Es schadet nicht AT&T zu verstehen. In der Praxis kannst du ihre Vorteile aber nicht ausnutzen, denn sie ist komplex und redundant, schwierig zu schreiben und zu lesen. Die Intel Syntax ist wesentlicher komfortabler und zeiteffizienter aber in Linux nicht immer anzutreffen. Nutze die Intel-Synatx, wo immer du kannst!
King George schrieb: > aber in Linux nicht immer anzutreffen Naja, eher andersrum: Unixe arbeiten praktisch alle mit AT&T-Syntax. Wenn man in einem Unix Assembler programmieren will, nützen einem also die von dir behaupteten Vorteile der Intel-Syntax rein gar nichts, und es ist pure Zeitverschwendung, sich groß damit zu befassen. Andererseits ist es völlig wurscht, wenn man i386 & Co. wirklich in Assembler programmieren will/muss, darf man ruhig beide verstehen, so krass unterschiedlich sind sie nun auch nicht. Zum Anderen wird auch im Embedded-Bereich nur minimal in Assembler geschrieben, das beschränkt sich am Ende auf sehr prozessorspezifische Anpassungen im kleinen Bereich. Wichtiger ist es, sauber und ordentlich C zu beherrschen. Sobald man die i386-Schiene verlässt, dann hat man sowieso wieder eine ganz andere Assembler-Syntax, die in der Regel dann auch beim GNU-Assembler der des Herstellers entspricht.
Jörg Wunsch schrieb: > King George schrieb: >> aber in Linux nicht immer anzutreffen > > Naja, eher andersrum: Unixe arbeiten praktisch alle mit AT&T-Syntax. > Wenn man in einem Unix Assembler programmieren will, nützen einem also > die von dir behaupteten Vorteile der Intel-Syntax rein gar nichts, und > es ist pure Zeitverschwendung, sich groß damit zu befassen. Insbesondere erwartet auch der GNU-Assembler selbst für x86-Systeme per default die AT&T-Syntax, versteht aber alternativ auch die von Intel. > Zum Anderen wird auch im Embedded-Bereich nur minimal in Assembler > geschrieben, das beschränkt sich am Ende auf sehr prozessorspezifische > Anpassungen im kleinen Bereich. Vor allem auch, wenn man Linux-Programmierung machen will.
Lerne erstmal programmieren mit einer Hochsprache (C) und lerne dann Assembler. Ob du dann AT&T-Syntax oder Intel-Syntax lernst, ist ziemlich egal, wenn du programmieren kannst. Wird bei uns auf der Uni im entsprechenden Kurs für die (technischen) Informatiker auch so gemacht (allerdings wird der TOY-Computer von der Princeton Uni verwendet): Zunächst wird vom Algorithmus eine Modellbildung gemacht (Pseudocode bzw. C-Code), dieser Algorithmus wird dann in Assembler programmiert. Ich empfehle dir daher vllt mal TOY anzusehen: http://introcs.cs.princeton.edu/java/50machine/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.