GNU assembler oder NASM?



  • Hallo,

    ich würde gerne ein bisschen Assembler lernen, bin aber noch unentschlossen, welche Syntax da für den Anfang die Bessere wäre.

    Deshalb die Frage: was ist für den Anfang einfacher? Die Intel-Syntax oder die AT&T-Syntax? GNU assembler oder NASM?



  • Das kann man wohl nur subjektiv beantworten, aber ich persönlich komme am besten mit der Intel Syntax zurecht, da ich diese von Anfang an so in Büchern gelernt habe und auch OllyDbg die Intelsyntax per Default verwendet (zumindest bei mir). Dazu kommt noch, dass der Inline Assembler von MS Visual Studio C++ auch die Intel Syntax verwendet.

    Wenn du allerdings aus dem Linux etc. Bereich kommst, dann kann es schon sein, dass du da auf den AT&T Syntax Stil triffst.



  • Für reine in Assembler geschriebene Programme benutze ich übrigens das MASM32 Package.



  • ok, aber es geht ja nicht nur um die syntaxEN (oder wie auch immer der plural von syntax ist).

    nasm kann z.b. eine vielzahl von object-codeformate erzeugen (nicht nur COFF für windows, sondern z.b. auch ELF für linux usw.).

    außerdem gibt es in neueren versionen des gnu assemblers eine direktive, mit der man zwischen AT&T und intel wechseln kann (so kann der gnu as auch intel-code verarbeiten).

    ich persönlich finde nasm etwas besser, weil es sich für mehr eignet, bzw. für die kernel-entwicklung. gnu-assembler kann nur, soweit ich weiß, in COFF oder ELF (je nachdem, ob windows oder linux) exportieren. diese formate braucht man aber für die kernel-entwicklung nicht.



  • Auf folgender Seite werden ein paar sehr gute Gründe gegen AT&T angeführt:
    http://x86asm.net/articles/what-i-dislike-about-gas/



  • gibt es überhaupt leute, die den gnu assembler benutzen? ich find im internet hauptsächlich tutorials für intel-syntax /nasm.

    es scheint leider zu stimmen, gnu assembler ist als reines back-end für den gcc entworfen... schade, dass open-source projekte mit viel potential so verhunzt werden!



  • shutdown -h now schrieb:

    ok, aber es geht ja nicht nur um die syntaxEN (oder wie auch immer der plural von syntax ist).

    Ich habe zwar mit der Intelsyntax angefangen, aber das ist nicht der alleinige Grund, der für NASM spricht.
    Mir würden auch die ganzen "%" & "$" Zeichen auf die Nerven gehen, die es bei der AT&T Syntax gibt.

    Das Zeug muss auf einer deutschen Tastatur immerhin getippt werden, mit den vielen "%" & "$" Zeichen in der AT&T Syntax ist das ein Gewürge.

    Die Intelsyntax ist da viel sauberer und bequemer mit einer deutschen Tastatur zu tippen und an die vertauschte Quelle

    mov ZIEL QUELLE
    

    kann man sich auch gewöhnen.



  • Soweit ich weiß, gibt es auch "converter", die zwischen den syntaxen konvertieren.

    Habt ihr zufällig ein paar gute links zu tutorials (egal mit welcher syntax)?


Log in to reply