Bin ich hier der einzige der Win32 Programme mit ASM erstellt?



  • kömmt mir fast so vor.
    Dabei ist es ja so einfach...

    mov Windows
    mov Bill
    mov Errors
    Call Windows
    

    schönen tag noch. 😋



  • Was ist jetzt deine Intention deines Beitrags?
    (btw. ich hab' auch schon mal Win32Asm programmiert)



  • [quote="Marilyn"]Was ist jetzt deine Intention deines Beitrags?
    quote]

    Meine Intention ist einfach:
    Eine Erweiterung des kollektiven Forenbewußtseins. 😃



  • Die Frage lässt sich aus meiner Sicht ganz einfach beantworten:
    Gib mir Win32Asm Tutorials für den TASM und ich bin wieder dabei. (Davon hab ich ca. nur 3-4 wirklich GUTE bis heute gefunden.)



  • Warum sich auf TASM versteifen? Für Win32Asm ist MASM wirklich klasse und zudem noch (legal) kostenfrei verfügbar. Es gibt wesentlich mehr Include-Dateien und alleine die INVOKE-Anweisung ist der Umstieg für Win32 wert. Und dafür gibt's auch entsprechend gute Tutorials.



  • dann gib mal bitte ne hand voll links zu guten einsteiger tuts für masm!
    danke!



  • http://www.deinmeister.de/wasmtut.htm
    http://www.eskimo.com/~htak/win32asm/win32asm.htm
    http://board.win32asmcommunity.net/ <-gutes Forum
    http://win32asm.cjb.net/ <- Iczelion's Tutorial, wohl die beste Quelle (deutsche Übersetzung von mir ist verfügbar unter www.joachimrohde.com )

    Ich glaube das ist alles was du benötigst.



  • als ich mir so grade deine seite anschaute...
    hab ich mich gefragt, ob du deine übersetzung des NeHe Tutorials nicht auch in gezipter form zum download anbieten könntest?!?
    ich würd mich da ziemlich drüber freuen...



  • Warum sollte man denn Win32 Programme mit Assembler programmieren? Bringt doch nix, außer vielleicht ein bisschen kleinere Programme. 🙄



  • Es gibt auch Leute die auf den Einrad jeden Tag zur Schule fahren 😃

    Also irgendeinen Grund hat das schon das man eben nicht winprogs in asm macht... als Hobby ja, aber spätestens wenn man dafür Geld bekommt und es aufs Ergebnis und die dafür benötigte Zeit ankommt wird das nix mehr 😉



  • Ja, es soll auch Leute geben die sich selber ein OS coden oder Programme in Brainfuck schreiben. Einen tieferen Sinn hat das nicht aber kann Spaß machen.



  • Aus didaktischen Gruenden ist das besonders wertvoll!
    😃 😃 ... und auch viel ungefaehrlicher als Einradfahren zur Schule.



  • Na Asm Proggis sind immer noch die schnellsten Proggis 😃

    Optimierungen , man denke mal an Grafikartentreiber, Spiele oder ähnliches , wenn es halt um Speed geht .... Assembler 😉

    Am besten in Combi mit Hochsprache .... wie z.B. C++ 😋



  • CaGa schrieb:

    hab ich mich gefragt, ob du deine übersetzung des NeHe Tutorials nicht auch in gezipter form zum download anbieten könntest?!?
    ich würd mich da ziemlich drüber freuen...

    Werd' ich wohl die nächsten zwei Wochen nicht dazu kommen, aber werde ich dann danach mal machen.

    Zu RumpelPumpel:
    Ich glaube, dass viele Leute Assembler mit Geschwindigkeit gleich setzen, was aber nicht immer richtig ist. Natürlich kann man mit Asm super schnelle Programme schreiben. Allerdings habe ich häufig das Gefühl, dass viele Anfänger einfach 'blind' irgendwelche Codeteile in Assembler umschreiben ohne zu wissen was sie da machen oder ob es überhaupt was bringt/nötig ist. Heutige Compiler optimieren so gut, dass die meisten Hobbyprogrammierer auf Asm verzichten könnten.
    Ich bin immer noch der Meinung, dass man erst entscheiden sollte, ob das Programm überhaupt zu langsam läuft, dann einen Profiler benutzen sollte, sich dann Gedanken über einen anderen Algorithmus machen sollte und dann kommt irgendwann die Umsetzung in Assembler, wenn es denn immer noch nötig ist. (Ach ja, andere Techniken wie Multithreading, etc. sollte man auch noch in Betracht ziehen)

    Damit man mich hier nicht falsch versteht: Ich meine, dass die Notwendigkeit von Assembler häufig zu sehr überbewertet wird. Der Spaßfaktor ist natürlich was anderes (sonst hätte ich mich auch nicht damit etwas intensiver beschäftigt). Zumal bei heutigen Prozessoren eine wirkliche Optimierung immer schwieriger wird, im Gegensatz zum guten alten Pentium 1.



  • Eben. Also mir haben Softwareentwickler gesagt das Assembler sehr selten eingesetzt wird. Außerdem lernen Asm an mir bekannten Hochschulen nur noch Informatiker der Fachrichtung Technische Informatik, sowie Mikrocontroller, andere Fachrichtungen nicht.
    Assembler ist natürlich schnell, aber wenn ich mir beispielsweise angucke was manche aus meinem letzten Semester da zusammen gehackt haben...*kopfschueddel*. Und wenn (wie es jemand getan hat) tatsächlich behauptet Assembler programmieren zu können(!) hat der nen Schaden. Der Typ hatte ungefähr doppelt solange Assemblerprogramme wie ich und glaubt er könne das und es wäre die Sprache schlecht hin und das als er bei einem Test TP schneller als Dephi war und das DOS-Anwendungen noch sehr gefragt seien (darüber lässt sich vermutlich streiten) und diese mit Assembler gschrieben werden. Naja, ich habe nach einem Streitgespräch in dem das Problem war das keiner Beweise hatte um es abzubrechen nur noch gesagt, dass er gegen einen der die Grundlagen von C beherrscht dessen Programm 10x (Übertreibung!) so schnell wie seines mit Asm ist. Außerdem wird er sehr vieles an Berechnungen nicht machen können und mit 16-Bit-Registern auch nur sehr wenig anfangen können.
    Und das meine weniger als halb so lang wie dem seine waren heißt nicht das sie perfekt waren, bei weitem nicht. Ich habe letztens eines nochmal um 5 Zeilen gekürzt (insgesamt um 10 Zeilen vom Urspungsprogramm) und es macht genau das was es soll.
    Die Frage ob Assembler selbst zu programmieren so sehr viel bringt in Programmen wage ich zu bezweifeln. Vielleicht ist es gut für ein paar Algos, wenn diese wirklich optimiert sind und ein Compiler die nicht besser hinbekommt und zum tauschen vllt. auch noch, aber das wars eigentlich auch schon. Ein schlechter Programmierer ist in einer Hochsprache denke ich besser aufgehoben als in Assembler, da ihn dort doch noch der Compiler einiges verbessert.

    Code-hacker



  • Code-Hacker schrieb:

    Also mir haben Softwareentwickler gesagt das Assembler sehr selten eingesetzt wird.

    Da fällt mir noch ein Zitat von jemandem ein, der wirklich programmieren kann: "Heutzutage muss kein guter Programmierer mehr Assembler Programme schreiben können, aber man muss Assembler können" (sinngemäß)

    Was er damit sagen wollte war, dass es nur von Vorteil ist, wenn man die Arbeitsweise eines Computers kennt, also was ein Compiler macht, wie die CPU funktioniert, etc. um seine Programme in Hochsprachen optimieren zu können.



  • Für einige mehr oder minder legale Sachen, ist es auch erforderlich Assembler zu können. Beispiel: klassische PE Infektoren adressieren alle Variablen mit [ebp+variable] bzw. [ebp+variable-deltalabel]. Die Adresse an der der Code samt Daten steht ist nicht festgelegt, sondern wird quasi zur Laufzeit via

    call delta
    delta:
    pop ebp
    sub ebp,offset delta
    

    bestimmt. Ich wüsste z.B. nicht wie man das in C realisieren könnte.


Anmelden zum Antworten