NASM Tutorial/Buch



  • Hallo liebe Gemeinde,
    ich habe mir mal die verschiedenen Assembler angeschaut und NASM hat mich am Meisten angesprochen... Nun bin ich schon seit Stunden wie verrückt am suchen nach Tutorials oder Büchern zu diesem Assembler, doch das Einzige, was ich finde sind MASM oder TASM Bücher/Tutorials. Ich habe mir zwar das Buch von Paul Carter geholt, doch ich finde es ein wenig sehr seltsam, da ich lieber direkt in ASM programmieren würde und nicht erst über C einbinden (diejenigen, die das Tutorial kennen, wissen, was ich meine 😉 ). Oder kann ich ohne Benutzung von C gar nicht solche Dinge, wie Konsolenausgaben tätigen?

    Seit bitte nicht zu hart, denn wie gesagt kenne ich mich hier noch gar nicht aus.

    Gruß Speedy_92



  • ich würde "Art of Assembly" oder "Assembly Language for Intel-Based Computers" empfehlen.
    Das ist zwar MASM aber das meiste ist sowieso das gleiche und wenn du MASM kannst dann kannst du sehr schnell durch die NASM Dokumentation in NASM Syntax programmieren.
    Hier ist noch ein Tutorial zu NASM:
    http://de.wikibooks.org/wiki/Assembler_(80x86_Prozessor)-Programmierung



  • Alles klar, vielen Dank.
    Ich denke, dann werde ich mir erst einmal allgemeine Assembler-Grundkenntnisse aneignen und wie es aussieht ist die Syntax wirklich recht ähnlich.

    Aber falls ihr noch andere tolle Werke kennt könnt ihr mir sie immer noch gerne empfehlen 🙂



  • Ich finde das Buch von Trutz Eyke Podschun "Das Assembler-Buch" vor allem als Nachschlagewerk brauchbar, da es wirklich Tiefgang aufweist.



  • Hallo kennt wer zufällig ein Buch wo auch solche Sachen wie einfache Rechen Sachen erklärt werden ?

    Z.b. sowas wie einen Taschenrechner der + und - kann.

    In C++ ist das ja für mich kein Problem aber in Assembler ein RIESEN Problem. ^^



  • seeking schrieb:

    In C++ ist das ja für mich kein Problem aber in Assembler ein RIESEN Problem. ^^

    Dann brauchst Du ja kann spezielles Assemblerbuch. Schreib ein einfaches C++ Taschenrechner Programm, kompiliere es entweder so, dass der Compiler Dir Assembler-Datei generiert, oder "disassemblierst" die Objektdatei oder die ausführbare Datei selbst mit Hilfe eines Disassemblers...



  • Ich finde das Buch von Trutz Eyke Podschun "Das Assembler-Buch" vor allem als Nachschlagewerk brauchbar, da es wirklich Tiefgang aufweist.

    Da muss ich widersprechen. Abgesehen von einem kleinen Teil der die Grundlagen von x86-Assembler lehrt, hat das Buch heute keinen Praxisbezug mehr. Die Haelfte besteht aus einer reinen Befehlsreferenz ohne Anwendungsbeispielen die man auch kostenlos im Internet findet.



  • @abc.w

    Ich glaub dadurch versteh ich das erst recht net mit dem Disassembler^^

    Ich hab mal nur ein Programm Dissassembliert was das Wort Eingabe: ausgibt.

    http://img-up.net/?up=asmg8hTS7g.JPG

    Wenn ich das jetzt in TASM benutzen sollte dann wüsste ich gar nicht was ich machen soll.

    In TASM würde das ja eigentlich so aussehen ...

    .model small
    .stack 900h
    .data
    
    wert DB "Eingabe:$"
    
    .CODE
    START:
    
    	MOV AX,@DATA
    	MOV DS,AX
    
      	MOV DX,OFFSET wert
    	MOV AH,09h
    	INT 21h
    
    	MOV AH,4Ch
    	INT 21h
    
    END START
    END
    


  • Vielleicht taetest du besser daran, dich erst etwas mehr mit PC-Grundlagen und dem Thema Assembler allgemein zu befassen.
    Was du da hast, ist zB. nicht einfach "Code fuer TASM", sondern vor allem ein 16Bit DOS-Programm in x86 Intel-Syntax. Muesste genau so zB. auch in einem 16Bit MASM assemblieren.
    Je nachdem von welchem Compiler du dir mit welchen Optionen und Librarys deinen einfachen Code in Assembler ausgeben laesst, sieht das Ganze natuerlich schoen anders aus. Vor allem hast du idR. einfach nur mehr Overhaed dabei (besonders cout ist zB. ein uebelst komplexes Geschwuer), aber die Prinzipien hinter dem Code sind immer noch die gleichen.
    So viel komplexer ist dein Code auf dem Screenshot doch zB. auch nicht, wenn du dir die Sache mal ein Weilchen anschaust.

    Wenn du hauptsaechlich aus fertigen Codes lernen willst, schlage ich vor, du baust erstmal ein gewisses Grundlagenwissen auf (evtl. mit einem Anfaengertutorial oder Buch) und besorgst dir dann vielleicht Quellcodes aus dem Netz (gibt genug davon), oder versuchst mal vorsichtig etwas durch das unoptimierte Gewaesch eines C-Compilers (nicht C++) durchzusteigen.



  • auf www.der-curry.de entsteht gerade eine deutschsprachige Referenz mit Beispielen zu jeder Api-Funktion. Vllt ganz Interessant für den Anfang, befindet sich aber noch in der Entwicklung.
    lg Ahnungslos



  • Gast1984 schrieb:

    auf www.der-curry.dezu jeder Api-Funktion.

    WinAPI?
    Wer weiß wie man Funktionen aufruft und DLLs einbindet, bedient sich da wohl am besten dem MSDN.


Anmelden zum Antworten