Ich will Assembler lernen



  • Genau: bau dir erstmal mit C++ und der GUI-LIB deiner Wahl eine IDE für Assembler und fange dann damit an, Assembler zu lernen. 😉



  • albertk13 schrieb:

    Muss ich FASM installieren ? Da ist ja so eine Datei dabei die heist FASMW ich bin davon ausgegangen das das der assembler ist aber wenn ich da einen code (aus examples) eingebe bringt er mir einen error: file not found
    was mach ich falsch?

    Er findet wahrscheinlich die win32a.inc nicht. Du musst den kompletten Pfad mit angeben. Wenn du ein Beispiel in den Editor ziehst dann ändere am Anfang das

    include 'win32a.inc'
    

    in

    include '..\..\include\win32a.inc'
    

    Dann müsste es funktionieren.



  • ich habs hinbekommen ich nehm jetzt NASM oder so! Des geht eig ziemlich einfach über die konsole... ich hab mir ein tutorial ausgedruckt in dem ich gerade bei den registern bin! Bekommt jedes programm eigene register? Wenn nein wie geht es dann das kein programm ein register (in das von einem anderen programm geschrieben wurde) überschreibt?



  • albertk13 schrieb:

    ich habs hinbekommen ich nehm jetzt NASM oder so! Des geht eig ziemlich einfach über die konsole... ich hab mir ein tutorial ausgedruckt in dem ich gerade bei den registern bin! Bekommt jedes programm eigene register? Wenn nein wie geht es dann das kein programm ein register (in das von einem anderen programm geschrieben wurde) überschreibt?

    Die CPU hat immer nur einen Registersatz. Damit du trotzdem nicht in den Sachen anderer Programme rumfuchteln kannst managed das Betriebssystem das so das es für dich aussieht als hättest du die CPU für dich alleine :). Guck mal unter Protectet Mode und Multitasking/Threading. Braucht dich aber noch nicht zu interessieren weil du noch kein OS proggen willst 😉

    mfg tobZel



  • Super Danke!!!



  • ich will mir jetzt ein Buch über assembler kaufen ich hab auch schon eins gefunden:
    http://www.amazon.de/Assembler-m-CD-ROM-Oliver-M%C3%BCller/dp/3772375073/ref=sr_1_4/303-8934094-8719411?ie=UTF8&s=books&qid=1176295328&sr=1-4
    Was haltet ihr davon? in diesem Buch wird vermutlich mit TASM gearbeitet (siehe Rezension Nr.: 3) kann ich dann diesen Code aus diesem buch problemm los mit NASM übersetzen auch wenn er für TASM gedacht ist?
    Albert



  • albertk13 schrieb:

    ich will mir jetzt ein Buch über assembler kaufen ich hab auch schon eins gefunden:
    http://www.amazon.de/Assembler-m-CD-ROM-Oliver-M%C3%BCller/dp/3772375073/ref=sr_1_4/303-8934094-8719411?ie=UTF8&s=books&qid=1176295328&sr=1-4
    Was haltet ihr davon? in diesem Buch wird vermutlich mit TASM gearbeitet (siehe Rezension Nr.: 3) kann ich dann diesen Code aus diesem buch problemm los mit NASM übersetzen auch wenn er für TASM gedacht ist?
    Albert

    Der NASM vewende eine andere Syntax als der TASM. Deshalb kannst es nicht einfach übernehmen. Ist aber nicht so schwer zum übertragen kurz NASM doku überfliegen, dann sollte das klappen 🙂

    mfg tobZel



  • Ich hab ein wenig gesucht und bin drauf gekommen das es einen "TASM-Kompatiblitätsmodus" gibt da muss man irgendwo -t beim übersetzen angeben!!
    Dann hab ich nasm -h fü hilfe eingegeben und er hat mir folgendes gebracht

    C:\ ... \EIGENE~1\NASM>nasm -h
    usage: nasm [-@ response file] [-o outfile] [-f format] [-l listfile]
                [options...] [--] filename
        or nasm -r   for version info (obsolete)
        or nasm -v   for version info (preferred)
    
        -t          assemble in SciTech TASM compatible mode    <--------
        -g          generate debug information in selected format.
        -e          preprocess only (writes output to stdout by default)
        -a          don't preprocess (assemble only)
        -M          generate Makefile dependencies on stdout
    
        -E<file>    redirect error messages to file
        -s          redirect error messages to stdout
    
        -F format   select a debugging format
    
        -I<path>    adds a pathname to the include file path
        -O<digit>   optimize branch offsets (-O0 disables, default)
        -P<file>    pre-includes a file
        -D<macro>[=<value>] pre-defines a macro
        -U<macro>   undefines a macro
        -X<format>  specifies error reporting format (gnu or vc)
        -w+foo      enables warnings about foo; -w-foo disables them
    where foo can be:
        macro-params            macro calls with wrong no. of params (default off)
        macro-selfref           cyclic macro self-references (default off)
        orphan-labels           labels alone on lines without trailing `:' (default
    off)
        number-overflow         numeric constants greater than 0xFFFFFFFF (default o
    n)
        gnu-elf-extensions      using 8- or 16-bit relocation in ELF, a GNU extensio
    n (default off)
    
    response files should contain command line parameters, one per line.
    
    For a list of valid output formats, use -hf.
    For a list of debug formats, use -f <form> -y.
    

    aber wie muss ich das in die konsole eingeben?



  • Nur so nebenbei:
    Es gibt durchaus auch Prozessoren mit mehreren Registerbanken.
    Bei Mikrocontrollern ist das üblich(z. B. Intel 80x51).



  • Wieso verwendest du für den Anfang nicht einfach MASM?
    Die Verwendung dieses Assemblers ist im Buch nämlich beschrieben.-Der Assembler wird mit der Buch-CD-ROM gleich mitgeliefert.

    Klar ist dieser Assembler nicht mehr topaktuell; genau so wie deine ersten Programme sicher auch...



  • Le code simple schrieb:

    Wieso verwendest du für den Anfang nicht einfach MASM?
    Die Verwendung dieses Assemblers ist im Buch nämlich beschrieben.-Der Assembler wird mit der Buch-CD-ROM gleich mitgeliefert.

    Klar ist dieser Assembler nicht mehr topaktuell; genau so wie deine ersten Programme sicher auch...

    Auch ich möchte dir MASM zum Lernen empfehlen.
    Den MASM gibt es auch topaktuell zusammen mit Visual Studio 2005 - heisst dort ml.exe!
    mfg



  • Ok Danke dann werd ichs mal mit MASM versuchen


Anmelden zum Antworten