Maschinencode



  • Original erstellt von Shade Of Mine:
    **ich nehme nicht an, dass ein normaler ASM Programmierer für einen Intel Prozessor besseren asm Code schreiben kann, als der Intel C++ Compiler 7

    sicher, mit Sachen wie SSE2, 3DNow/MMX,... hat man eine zeitlang den C++ Compiler etwas voraus gehabt. Aber die modernen Compiler können diese Sachen mittlerweile auch schon.

    Mit asm kann man nur kleine Teile schneller machen, weil man zB mehr weiß als der Compiler über den Code. Aber bei einem größeren Programm wird garantiert der Compiler gewinnen.**

    du hast im allgemeinen Recht.

    allerdings ist ein Compiler eben auch nur ein Programm. Assemblerprogrammierer denken etwas quer. Man muss Assemblerprogramme nicht verstehen, deshalb schreiben die Leute teilweise ziemlich unsauber - aber schnell.
    Viele dieser 'optimierungen' eines Assemblerprogrammierers könnte man nicht in Regeln fassen. Beispielsweise werden Multiplikationen, etc. einfach so gebogen, dass sie durch Shiften errechnet werden können. Das ist dann schonmal um einiges schneller..

    cYa
    DjR



  • Original erstellt von DocJunioR:
    [...] Man muss Assemblerprogramme nicht verstehen, deshalb schreiben die Leute teilweise ziemlich unsauber [...]

    Wie man muss Assembler- Programme nicht verstehen? Is doch ausgemachter Blödsinn. Sonst würde es ja kaum Kommentare ( ; ) in Assembler geben 😉
    Außerdem ist es ja fast logisch, dass Assembler Programme ziemlich unsauber sind. In Assembler gibt es diese strukturierten Sachen wie for (C++) nicht.

    [ Dieser Beitrag wurde am 31.03.2003 um 14:52 Uhr von pAngel editiert. ]



  • bei Intel zB kann man sich die Befehlssatz doku zum P4 runterladen. und wenn ich mich nicht irre , hatten die da auch die opcodes dabei.



  • Original erstellt von <b7f7>:
    bei Intel zB kann man sich die Befehlssatz doku zum P4 runterladen. und wenn ich mich nicht irre , hatten die da auch die opcodes dabei.

    Hmm, ich finde da nichts... 😞
    wo hast du das denn gefunden? 🙄





  • Original erstellt von pAngel:
    **Wie man muss Assembler- Programme nicht verstehen? Is doch ausgemachter Blödsinn. Sonst würde es ja kaum Kommentare ( ; ) in Assembler geben 😉
    Außerdem ist es ja fast logisch, dass Assembler Programme ziemlich unsauber sind. In Assembler gibt es diese strukturierten Sachen wie for (C++) nicht.

    [ Dieser Beitrag wurde am 31.03.2003 um 14:52 Uhr von [qb]pAngel** editiert. ][/QB]

    Jupp, aber disassemblierst Du eine Exe - Datei, sind die Kommentare im Eimer 😉
    In Maschinencode kannst Du übrigens nichts dokumentieren :p 🙄

    cYa
    DjR



  • Erstellte Programme in TASM lassen sich mit debug leicht disassemblieren und sind z.T. sehr leserlich. Das heißt, es ist durchaus ein nützliches Tool und muss keine anderen Sachen downloaden, selbst wenn sie komfortabler sind. Assembler selbst ist doch auch "unkomfortable"...

    P.S.: @Ringostarr: Bald gibts soweit ich weiß übrigens ein Paul- Konzert in Deutschland 🙂



  • Für alle, die sich ernsthaft mit ASM beschäftigen wollen würde ich das Buch "Assembler Gepackt" empfehlen. Sind fast alle Mnemonics und Erweiterungen drin wie MMX, SSE, 3DNow, SSE2 usw.



  • Mit den Erweiterungen hab ich Probleme. Für was ist z.B. EAX? Ja, Akkumulator, Low und High, aber was bedeutet das "E"?



  • Extended wahrscheinlich. Vor der Einführung des 80386 gab es nur AX etc (16 bit). Diese Register wurden dann unter dem Namen EAX etc. auf 32 bit erweitert.


Anmelden zum Antworten