Bin ich hier der einzige der Win32 Programme mit ASM erstellt?
-
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.