ASM lernen, welches Buch welche tut's?
-
Wikinger75 schrieb:
Dann ist Assembler nix fuer dich. Assembler ist absolut systemabhaengig. Jede CPU-Architektur hat ihren eigenen Assembler.
ja ich meinte unabhänhig von Windows, Linux etc.
Also unabhängig von Betriebsystemen, dass die programme auch in DOS gehen, wenn kein OS drauf ist.Fuer x86-ARchitekturen gibts 2 Assembler (gemeint sind hier die Uebersetzterprogramme)-Familien, die leicht andere Syntax akzeptieren: die einen verstehen "Intel-Syntax", die anderen "AT&T-Syntax", siehe http://en.wikipedia.org/wiki/X86_assembly_language#Syntax
Das sind aber im Grunde nur verschiedene Schreibweisen der gleichen grundlegenden Befehle. Und diese sind im Grunde betriebssystemunabhaengig. Aber viele Dinge wie Filezugriff, Threads, GUIS etc. etc. etc. sind natuerlich vom Betriebssystem abhaengig (aber typischerweise verwendest du nicht Assembler um GUI-Programme zu schreiben), d.h. du musst da dann Betriebssystemfunktionen aufrufen. Aber wie gesagt: die Sprache selbst ist OS-unabhaengig, und du kannst damit auch dein eigenes Betriebssystem schreiben.Aber es gibt gibt haufenweise andere "moderne" Prozessor-Architekturen, (PowerPC, ARMs), die dann auch jeweils ihren eigenen Assembler haben. Wenn du fuer diese Architekturen was schreiben willst, musst halt deren Assembler lernen.
Wo liegt der unterschied zwischen den ganzen Architekturn?
Welche ist am einfachsten ,welche am schwersten?x86 ist eine (heutzutage als unmodern geltende) CISC-Architektur, schau dir die Links von Erhard an. Ich selbst hab keine Ahnung welche Architekturen schoen sind und welche nicht, hab aber gehoert dass ARM angenehm zum Programmieren sein soll. Aber mit einem einfachen 8bitter machst vermutlich auch nix falsch.
EDIT: und bitte lies dir deine Beitraege vor'm Absenden nochmal durch, du machst furchtbar viele Tippfehler!
Okay, ich versuch drauf zu achten!
Edit: Welche Buch oder tut emfählungen gebe es den?
*hust* Empfehlungen *hust hust*
Ich hab keine Ahnung, ich hab selbst mal "Assembler - Maschinennahes Programmieren von Anfang an Mit Windows Programmierung" gelesen. Das war halbwegs okay als Einstieg, wenn du mit Windows arbeiten willst, und gibt auch einen kurzen Einstieg ins Aufrufen von Windows-GUI-Programmierung. Umgehauen hat mich das Buch aber nicht.Wenn du unter Linux unterwegs bist (oder allgemein AT&T Syntax lernen willst), fand ich "Programming from the ground up" von Jonathan Bartlett ziemlich gut. Das gibts als freies eBook im Netz ( http://savannah.nongnu.org/projects/pgubook/ ). Ist allerdings kein reines Assembler-Buch.
-
Wikinger75 schrieb:
Welche Architektur hat den der CPU vom Nintendo DS weiß das jemand?die dinger haben 2 CPUs, einen ARM9 und einen ARM7.
also muss ich ARM lernen, um für den was machen zu können?
Also in richtung ARM v.7 und 9?Wikinger75 schrieb:
Also auf den PC werde ich aufjedenfall x86 lernen müssen oder?
nicht unbedingt. du kannst auf'm PC auch emulatoren für andere prozessoren nutzen. vielleicht wäre für einen asm-neuling eine einfache 8-bit CPU das beste, um die grundlagen der asm-programmierung zu lernen? dafür könnteste z.b. einen 6502 oder Z80 emulator nehmen.
Gut zu wissen, aber die PC CPU's laufen ja di meisten in x86 und amd64, also werde ich dieses schonmal lernen, danach hau ich ARM rein, oder sollte ich zuerst mit ARM anfangen und dan x86 machen?
Zitat:
vielleicht wäre für einen asm-neuling eine einfache 8-bit CPU das beste, um die grundlagen der asm-programmierung zu lernen?AVRs wären als Einstieg auch denkbar:
http://www.henkessoft.de/Roboter/stk500.htm
http://www.rn-wissen.de/index.php/AVR_Assembler_Einführung
http://www.henkessoft.de/Roboter/ASURO.htm
http://www.henkessoft.de/Roboter/Nibo.htmGut zu wissen, überleg mal drüber
^^naja, den letzten link hätteste auch weglassen können.
Zitat:
Aber in welchem Sinn meint ihr "Architektur?" Die Befehle oder wie?so z.b: http://de.wikipedia.org/wiki/Flynnsche_Klassifikation
Gut^^
Fuer x86-ARchitekturen gibts 2 Assembler (gemeint sind hier die Uebersetzterprogramme)-Familien, die leicht andere Syntax akzeptieren: die einen verstehen "Intel-Syntax", die anderen "AT&T-Syntax", siehe http://en.wikipedia.org/wiki/X86_assembly_language#Syntax
Das sind aber im Grunde nur verschiedene Schreibweisen der gleichen grundlegenden Befehle. Und diese sind im Grunde betriebssystemunabhaengig. Aber viele Dinge wie Filezugriff, Threads, GUIS etc. etc. etc. sind natuerlich vom Betriebssystem abhaengig (aber typischerweise verwendest du nicht Assembler um GUI-Programme zu schreiben), d.h. du musst da dann Betriebssystemfunktionen aufrufen. Aber wie gesagt: die Sprache selbst ist OS-unabhaengig, und du kannst damit auch dein eigenes Betriebssystem schreiben.Welchen der 2 Assembler sollte ich nehmen, sprich verlcher währe zu emfählen?
Okay also sollte ich auch ASM mit Win lernen oder Linux halt mit dem sys zusmamen, falls ich auf die befehler des kernels zu greifen will, also gui etc.?
x86 ist eine (heutzutage als unmodern geltende) CISC-Architektur, schau dir die Links von Erhard an. Ich selbst hab keine Ahnung welche Architekturen schoen sind und welche nicht, hab aber gehoert dass ARM angenehm zum Programmieren sein soll. Aber mit einem einfachen 8bitter machst vermutlich auch nix falsch.
Okay auch gut zu wissen, aber x86 wird heute immer noch benutzt oder?
Wenn du unter Linux unterwegs bist (oder allgemein AT&T Syntax lernen willst), fand ich "Programming from the ground up" von Jonathan Bartlett ziemlich gut. Das gibts als freies eBook im Netz ( http://savannah.nongnu.org/projects/pgubook/ ). Ist allerdings kein reines Assembler-Buch.
das ist sehr hilfreich, danke , hab nämlich Linux
Also wenn ich mal alles so zusammenfasse:
zuerst sollte ich ARM lernen, da dies einfeacher sei und dan könnte ich mit x86 und schließlich amd64 fortfahren.Jetzt bleibt nur noch die frage welche aufbauten sollte ich dan für x86 benutzen, Intel oder AT&T syntaks? Also mein Pc hat nen Intel, daher nehme ich mal Intel auch an
Wie siehts bei ARM aus?
Mfg Wikinger75!
-
Wikinger75 schrieb:
Wie siehts bei ARM aus?
du könntest z.b. irgendwas davon mehmen: http://shop.embedded-projects.net/index.php/cat/c272_ARM-Boards.html
-
du könntest z.b. irgendwas davon mehmen: http://shop.embedded-projects.net/index.php/cat/c272_ARM-Boards.html
nein, ich habe ja ein Nintendo ds und wen die dinger zwei CPU's einen ARM7 und 9ner haben, dan ist das gut, den ich hab auch so nen komischne adapter für MicroSd womkt ich zeug von Pc dan damit tuten kann
Von daher ist ARM gut.
Bräuchte ja dazu nur Infos wie das damit ist und dan noch eventuelle. eBooks ,Tutorials oder Bücher.
und letztendlich weiß ich noch nicht genau was ich mich für reines x86 und amd64 später anschauen sollte
Mfg Wikinger75!
-
dann das: http://www.arm.com/miscPDFs/14128.pdf
und da geht's weiter: http://en.wikipedia.org/wiki/Nintendo_DS_homebrew
-
Der erste Link zum eBook is schonmal schön
Der zweite Link ist auch toll, kennt dazu aber jemand ein eBook?
Anderfalls sit das auch nicht so schlimm.
Jetzt bleibt nur noch die sache mit x86 und amd64
-
Wikinger75 schrieb:
Der zweite Link ist auch toll, kennt dazu aber jemand ein eBook?
-
so okay da hab ich jetzt auch das gefunden was ich will, nach x86 werd ich wohl auch goggeln müssen xD. naja ich frag noch ein letztesmal
irgentwelche buchemfählungen zu x86 und amd64?
Mfg Wikinger75!
-
Jetzt bleibt nur noch die sache mit x86 und amd64
Intel Manuals (2A, 2B, ...) : http://www.intel.com/products/processor/manuals/
-
okay damit währe das hier gelöst jungs.
danke für eure hilfeMfg Wikinger75!