Möchte Assembler lernen
-
Hallo!
Ich hab schon ziemlich lang C++ gelernt und kann es auch gut, aber es gefällt mir nicht so gut.
Nun möchte ich mir Assembler aneignen.
Das Problem ist allerdings das: Keine Ahnung, wie man beginnen soll.Gibt es einen "Assemblerstandard" in der Art? Also ich will nicht für jeden Prozessor einen eigenen "Dialekt" lernen. Gibt es ein Tutorial für Assembler?
mit freundlichem gruß
aus der schweiz
-
asmfreak schrieb:
Ich hab schon ziemlich lang C++ gelernt und kann es auch gut, aber es gefällt mir nicht so gut.
Ich weis nicht, ob dir Assembler besser gefallen wird. Vielleicht wirfst du mal einen Blick auch Python, Ruby oder Java.
asmfreak schrieb:
Nun möchte ich mir Assembler aneignen.
Das Problem ist allerdings das: Keine Ahnung, wie man beginnen soll.Am besten, du kaufst dir ein Buch.
asmfreak schrieb:
Gibt es einen "Assemblerstandard" in der Art? Also ich will nicht für jeden Prozessor einen eigenen "Dialekt" lernen. Gibt es ein Tutorial für Assembler?
Das macht keinen Sinn. Bei Assembler schreibst du dirkte Befehler für die CPU und die sind auf jeder CPU verschieden, also sind auch die Assembler verschieden. Im Allgemeinen kann man zwischen Intel und AT&T Syntax unterscheiden.
-
Schau auch mal in die FAQ. Da gibt es neben Tutorials auch Buchempfehlungen.
-
ProgChild schrieb:
Das macht keinen Sinn. Bei Assembler schreibst du dirkte Befehler für die CPU und die sind auf jeder CPU verschieden, also sind auch die Assembler verschieden. Im Allgemeinen kann man zwischen Intel und AT&T Syntax unterscheiden.
jo aber sind die Unterschiede wirklich groß?
was wär zb anders?
Ein beispiel wäre gut
-
Kommt darauf an, was fuer dich grosse Unterschiede sind.
Fuer einen Anfaenger duerften vor allem die Unterschiede von Assembler fuer verschiedene Prozessor-Architekturen, bzw. Befehlssaetze schon ziemlich gross sein. Selbst AT&T und Intel, die noch je eine Assemblersyntax fuer die gleichen CPU darstellen, sind schon deutlich unterschiedlich.
Beispiele findest du zB. hier
oder fuer andere Plattformen zB. arm oder mips
-
Hat eigentlich die AT&T Syntax auch nur einen Vorteil? Ich finde die im Vergleich zur Intel-Syntax einfach nur hässlich.
-
KennerWahrerÄsthetik schrieb:
Hat eigentlich die AT&T Syntax auch nur einen Vorteil? Ich finde die im Vergleich zur Intel-Syntax einfach nur hässlich.
Du kannst damit den Assembler-Code lesen, den der GCC ausspuckt
-
KennerWahrerÄsthetik schrieb:
Hat eigentlich die AT&T Syntax auch nur einen Vorteil? Ich finde die im Vergleich zur Intel-Syntax einfach nur hässlich.
Beispielsweise wird durch den Befehlssuffix die Operandengröße bestimmt. Das ist vor allem bei Direktwerten ganz nett. Also ich finde pushd $0 schöner als push dword 0. Ist natürlich alles Geschmackssache, aber generell finde ich diesen Befehlssuffix ganz praktisch.
-
KennerWahrerÄsthetik schrieb:
Hat eigentlich die AT&T Syntax auch nur einen Vorteil? Ich finde die im Vergleich zur Intel-Syntax einfach nur hässlich.
Es wird manchmal auch argumentiert, AT&T sei wegen seiner Source, Dest Operandenreihenfolge praktischer, wenn man viel mit Assembler fuer andere Plattformen zu tun hat, bei denen diese Reihenfolge eher verbreitet ist... Mag sein, aber trotzdem finde ich AT&T auch haesslich.