Womit starten, Win32 assembler oder DOS assembler?


  • Mod

    asm-freak schrieb:

    camper schrieb:

    DOS-Assemblerprogrammierung ist heute im Wesentlichen nutzlos und Zeitverschwendung und für den Anfänger unnötig restriktiv.

    das würde ich nicht unbedingt sagen. unter dos kann man noch ohne nervereien des betriebssystems direkt auf der hardware rumbretzeln. das ist ja immerhin das hauptanwendungsgebiet von assembler.
    🙂

    Ich behaupte nicht zu wissen, wofür Assembler hauptsächlich eingesetzt wird. Andererseits benutze ich DOS heute ausschließlich dazu, irgendwelche Firmware zu flashen - das ist selten der Fall. Umgekehrt nutze ich sämtliche Hardware nicht nur unter DOS. Insofern ist die Bemerkung in zweierlei Hinsicht irreführend:
    1. Es ging nicht um das Ansprechen von Hardware sondern das Erlernen der Assembler-Programmierung
    2. Für das Ansprechen von externer Hardware ist Assembler weder zwingend erforderlich noch macht man das gewöhnlich unter DOS.



  • camper schrieb:

    Ich behaupte nicht zu wissen, wofür Assembler hauptsächlich eingesetzt wird. Andererseits benutze ich DOS heute ausschließlich dazu, irgendwelche Firmware zu flashen - das ist selten der Fall.

    Es geht ja auch nicht direkt darum, wofür man Assembler gut gebrauchen kann, sondern darum, wie man gut Assembler lernen kann. Und ich würde mal behaupten, dass die meisten hier mit DOS-Programmen oder ähnlichem angefangen haben. WinAPI-Programme zu schreiben bietet sich für einen Anfänger nicht an, da man sich dabei auch noch mit der WinAPI rumschlagen muss.
    Als blutiger Anfänger schreibt man doch in der Regel sowieso keine wirklich sinnvollen Programme, sondern versucht erstmal mit dem ganzen Zeug vertraut zu werden.



  • camper schrieb:

    1. Es ging nicht um das Ansprechen von Hardware sondern das Erlernen der Assembler-Programmierung

    das gehört beides zusammen. unter der knute eines OS kommste an viele features des prozessors gar nicht erst ran. ausserdem würde es mich extrem nerven, wenn mein in assembler geschriebener tetris-clone nicht direkt ins video-ram schreiben oder ich noch nicht mal dem lautsprecher einen piepston entlocken kann, ohne syscalls aufzurufen.
    🙂



  • Ohne DOS-Box ist da wohl nichts, oder?
    Diese ganze interrupt 21h geschichte unter dos find ich ätzend und bringen tut der mir ja auch nix mehr, weil der ja unter windows nicht funktioniert.


  • Mod

    lowlevel-freak schrieb:

    camper schrieb:

    1. Es ging nicht um das Ansprechen von Hardware sondern das Erlernen der Assembler-Programmierung

    das gehört beides zusammen.

    Insofern die cpu auch ein Stück Hardware ist, sicherlich.

    lowlevel-freak schrieb:

    unter der knute eines OS kommste an viele features des prozessors gar nicht erst ran.

    viele? Dann nenne mir bitte 10 Stück, die zudem für den Anfänger relevant sind.

    lowlevel-freak schrieb:

    ausserdem würde es mich extrem nerven, wenn mein in assembler geschriebener tetris-clone nicht direkt ins video-ram schreiben oder ich noch nicht mal dem lautsprecher einen piepston entlocken kann, ohne syscalls aufzurufen.

    Nach deinen Empfindungen hat der Threadersteller allerdings nicht gefragt.

    Mit keinem Wort habe ich übrigens gesagt - und auch nicht gemeint - dass man sich gleich am Anfang (oder auch später in großem Umfang) mit Systemaufrufen in Assembler quälen soll, gerade deshalb fängt man nicht mit reinen Assemblerprogrammen an.



  • camper schrieb:

    Mit keinem Wort habe ich übrigens gesagt - und auch nicht gemeint - dass man sich gleich am Anfang (oder auch später in großem Umfang) mit Systemaufrufen in Assembler quälen soll...

    das nicht, aber du empfiehlst eine umgebung, bei der nach dem erlernen der grundlagen ziemlich schnell schluss ist. nicht ohne grund schrieb der OP 'wo sieht man schneller Ergebnisse'. diese ergebnisse sieht man nun mal am besten, wenn man z.b. die leds auf der tastatur als lauflicht benutzt, sich 'nen eigenen timer-interrupt anlegt o.ä. und nicht wenn man im single step durch den code geht um sich registerinhalte und flags anzuschauen.
    🙂



  • Ich denke mal, die Ausgangsfrage laesst sich am ehesten beantworten, wenn man mal klaert, was fuer ein Lerntyp unser Anfaenger ist.
    Lernst du mit Tutorials und hast noch keinen Plan? => Dann wirst du wahrscheinlich mit DOS besser fahren, da es hierzu AFAIK die meisten/besten Anfaengertutorials gibt.
    Oder bist du eher fuer "Lernen beim Tun", hast evtl. schon einige Quellcodes als Vorlage, zum Basteln, usw.? Dann nimm einfach, was du zur Hand hast - wird wahrscheinlich win32, bzw. eher Systemunabhaengiger Code sein.

    BTW: Zumindest bis WinXP gibt es in Windows zwar einen lausigen, aber im Grunde durchaus funktionierenden integrierten DOS-Emulator.
    Und: Sooo schlimm ist die Win32-Programmierung in der Konsole auch nicht, wenn man sich erstmal die Libs und Definitionen zusammengesucht hat. IMHO geringfuegig komplizierter.


  • Mod

    Nobuo T schrieb:

    Ich denke mal, die Ausgangsfrage laesst sich am ehesten beantworten, wenn man mal klaert, was fuer ein Lerntyp unser Anfaenger ist.
    Lernst du mit Tutorials und hast noch keinen Plan? => Dann wirst du wahrscheinlich mit DOS besser fahren, da es hierzu AFAIK die meisten/besten Anfaengertutorials gibt.

    Irgendwie vergesse ich immer, dass man heutzutage mit Tutorials lernt und nicht einem Prozessorhandbuch 🙂

    Nobuo T schrieb:

    Oder bist du eher fuer "Lernen beim Tun", hast evtl. schon einige Quellcodes als Vorlage, zum Basteln, usw.? Dann nimm einfach, was du zur Hand hast - wird wahrscheinlich win32, bzw. eher Systemunabhaengiger Code sein.

    systemunabhängig ist das Stichwort, auf das ich nicht gekommen bin.



  • Ich lerne durch Tutorials, also werd ich mir dosbox und dort ein wenig rumspielen.



  • Schau dich doch auch mal in den FAQ um. Einige der Links dort sollten sogar noch funktionieren. 😉

    camper schrieb:

    Nobuo T schrieb:

    Ich denke mal, die Ausgangsfrage laesst sich am ehesten beantworten, wenn man mal klaert, was fuer ein Lerntyp unser Anfaenger ist.
    Lernst du mit Tutorials und hast noch keinen Plan? => Dann wirst du wahrscheinlich mit DOS besser fahren, da es hierzu AFAIK die meisten/besten Anfaengertutorials gibt.

    Irgendwie vergesse ich immer, dass man heutzutage mit Tutorials lernt und nicht einem Prozessorhandbuch 🙂

    Nichtwahr? Als unsereins angefangen hat, gab es sowas in der Form noch nicht, und trotzdem ist man irgendwie forwaerts gekommen. 🕶


Anmelden zum Antworten