Hello, Guest the thread was viewed23k times and contains 170 replies

last post from -trb- at the

Wenn ihr heute erst mit Assembler anfangen würdet...

  • ...da fehlt ganz klar die Epilepsie Warnung! :D


    Mit den heutigen Entwicklungsumgebungen ist Assembler zumindest leicht und bequem zu schreiben. Grundlegendes Verständnis hab ich, aber so richtig eintauchen und was raushauen, hab ich bisher nicht geschafft. Da fehlt mir irgendwie der Kumpel vorort, mit dem man das zusammen erarbeiten kann.


    BASIC wurden einem ja zu Beginn mit dem C64 Handbuch auf's Auge gedrückt. Das hab ich gelernt, indem ich x-mal Zahlenraten abgetippt hatte, weil mir eine defekte 1541 verkauft wurde und grad keine beim Händler am Lager waren. Wär schön gewesen, wenn im Buch auch Assembler behandelt worden wäre.

    Zahlenraten ist ein gutes Projekt zum Einstieg in eine Programmiersprache, find ich, das einige grundlegende Sachen abdeckt.

  • Diesmal hatte ich mein eigenes BASIC Spiel als Vorlage genommen. Das ist zu 98% fertig geworden. Trotz 30 Jahre Aussetzen hatte ich in kurzer Zeit eine Menge geschafft. Da wirkte sich das Programmieren in anderen Sprachen (Oberon, 65k Assembler, Turbo Pascal) positiv aus.

    Darf man das 98% Spiel irgendwie sehen?

    Ja, wenn mein Disassembler fertig ist. :D

  • oobdoo Was mich auch schon lange mal reizen würde, wären der KC85 und 87. Der 85er weil er mein Erstkontakt zu Computern war und der 87er weil ich seine limitierte Zeichensatzgrafik irgendwie charmant und es spannend finde, damit was ansehliches was hinzubekommen. Bei denen werkelt ja auch ein Z80- Nachbau drin.

  • oobdoo Was mich auch schon lange mal reizen würde, wären der KC85 und 87. Der 85er weil er mein Erstkontakt zu Computern war und der 87er weil ich seine limitierte Zeichensatzgrafik irgendwie charmant und es spannend finde, damit was ansehliches was hinzubekommen. Bei denen werkelt ja auch ein Z80- Nachbau drin.

    Na dann mal ran an die Tasten und Z80 gecodet. :ChPeace

  • Ich weiß gar nicht mehr, wie es bei mir angefangen hat. Ich glaube erst ein bißchen Basic und Assembler mit Hypra-Ass. Da gab es ein Buch für Assembler mit einer Disk. War alles notwendige drauf. Heute ist es aber viel einfacher an Informationen zu kommen, was einem unglaublich erleichtert Code zu schreiben.

    Ich finde es am Besten, sich ein kleines Programm auszudenken und das zu Programmieren (z.B. Zeichenausgabe oder Tastaturabfrage). So lernt am einfachsten (finde ich).

  • ... womit würdet ihr es lernen und programmieren?


    Wohl jeder hat so angefangen: Man hat das Handbuch gelesen und ausprobiert, dann sich in Basic versucht und irgendwann mittels Buch Assembler gelernt.

    Mich hat allerdings die ewige, trockene Theorie ohne ein Ergebnis immer wieder abgeschreckt. Ich bin einfach nicht weiter gekommen. Vielleicht war es auch kein gutes Buch.


    Es gibt viele interessante Tutorials im Netz.

    Wenn man sich da eingearbeitet hat, kann man mal Code von anderen durchsehen und nachstellen.

    Der Rest kommt von alleine.



    Programmieren, womit?

    Heutzutage würde ich nur noch am PC entwickeln.

    Testen zuerst am VICE und später direkt am C64.


    Die Tools am PC sind perfekt.

    Warum sollte man sich quälen und ausbremsen direkt am C64.

  • Ich finde den Tipp "Überleg dir ein Projekt und setz' es dann um" nicht so gut.


    Das führt schnell dazu, dass man dauernd über seine Unzulänglichkeiten stolpert, und schließlich entnervt aufgibt.


    Ich finde, man sollte sich eher fragen: Was wäre etwas, was ich von meinen jetzigen Kenntnissen ausgehend gerade noch packen kann? Und dann mache ich das.


    Auch das Kriterium der "Brauchbarkeit" finde ich deswegen nicht so sinnvoll. Damit erlegt man sich unter Umständen nur eine unerfüllbare Bedingung auf und steht sich damit beim Lernen selbst im Weg.


    Wenn man so weit ist, dann kommen die "brauchbaren" Sachen ganz von alleine.

  • Ich finde den Tipp "Überleg dir ein Projekt und setz' es dann um" nicht so gut.


    Das führt schnell dazu, dass man dauernd über seine Unzulänglichkeiten stolpert, und schließlich entnervt aufgibt.

    Jeder lernt natürlich anders. So habe ich Assembler und Python gelernt. Das heißt aber nicht, dass dieser Tip für jeden gilt.

  • Ich finde den Tipp "Überleg dir ein Projekt und setz' es dann um" nicht so gut.


    Das führt schnell dazu, dass man dauernd über seine Unzulänglichkeiten stolpert, und schließlich entnervt aufgibt.

    Jeder lernt natürlich anders. So habe ich Assembler und Python gelernt. Das heißt aber nicht, dass dieser Tip für jeden gilt.

    Kommt natürlich aufs Projekt an. :) Ich denke aber, dass es oft vorkommt, dass Leute sich ein Projekt vornehmen, das ein paar Nummern zu groß für sie ist, und dann nicht weiterkommen und frustriert wieder aufgeben.

  • Gerade mal reingeschaut- das Buch ist sehr direkt und wirkt gut verständlich, es geht sofort los. Bei meinem wurde erst einmal über hundert Seiten trocken und langweilig der Aufbau, Funktionsweise und Programmierung des Computers breitgewalzt.

  • das Buch ist sehr direkt und wirkt gut verständlich, es geht sofort los.

    Genau! Deswegen ist es m.E. auch sehr gut für den ambitionierten Einsteiger geeignet. Mich hat es damals sehr gut unterstützt. Daher kann ich es nur empfehlen.

  • Mein 'Mentor' Graham pflegte zu sagen: Wenn Du Assembler lernen willst vergess'' zuerst alles was Du in Basic gelernt hast' :D
    wie Recht er hatte wusste ich spätestens nachdem ich ein kleines Basic-Spiel in ASM übersetzt hatte.
    Die Lernkurve ist recht steil und man braucht viel Geduld und Nerven. Aber es lohnt sich schlussendlich.

  • "Überleg dir ein Projekt und setz' es dann um" ist für mich auch nicht geeignet, das wird dann zu überambitioniert und ich verliere die Motivation, weil ich nur noch am nachschlagen bin.

    Also für mich klingt das alles so ein bisschen wie: Ich würde ja gerne Assembler lernen, aber eigentlich bin ich gar nicht motiviert und suche einen Weg wie das einfach so ohne viel Aufwand geht.

    Die Diskussion hier zeigt doch, dass eigentlich jeder irgendwie anders lernt. Warum muss denn der erste Ansatz gleich passen und warum wirst du sofort komplett demotiviert sein, wenn der nicht funktioniert, statt dann einen anderen Weg zu probieren?


    Ich weiß, dass ich damals Assembler lernen wollte. Da hätte mich überhaupt nichts demotivieren können. Und wenn ich überlege, an wievielen Programmierprojekten ich schon (privat) gescheitert bin (in unterschiedlichen Sprachen), da dürfte ich heute eigentlich gar nichts mehr programmieren.


    Du kannst vorher erstmal ein (nicht all zu dickes) Einführungsbuch lesen. Oder du überlegst dir eine kleine Aufgabe und versuchst heraus zu bekommen, wie man die umsetzt. Das musst du selber ausprobieren, was für dich passt. Aber ohne Motivation wird beides nicht funktionieren.

  • Mein 'Mentor' Graham pflegte zu sagen: Wenn Du Assembler lernen willst vergess'' zuerst alles was Du in Basic gelernt hast' :D
    wie Recht er hatte wusste ich spätestens nachdem ich ein kleines Basic-Spiel in ASM übersetzt hatte.
    Die Lernkurve ist recht steil und man braucht viel Geduld und Nerven. Aber es lohnt sich schlussendlich.

    Na ja, auf welchen BASIC-Dialekt hat er sich da bezogen? Gerade BASIC V2 zeichnet sich ja eher dadurch aus, dass es eben oft *keinen* so großen Unterschied in der Vorgehensweise gibt, außer bei Stringverarbeitung.


    Auch wenn man kein "Wort" Maschinensprache spricht, wird man als C64-Anwender folgende Zeilen wahrscheinlich sehr schnell wiedererkennen:


    lda #0

    sta 53281

    sta 53280

    lda #5

    sta 646

    lda #147

    jsr $ffd2

    rts


    Mangelnde Konstruktionen wie IF...ELSE / DO...WHILE usw. ersetzt man in V2-BASIC auf ähnliche Weise wie in Maschinensprache usw.


    Also, gerade auf dem C64 ist BASIC eigentlich der perfekte Einstieg in die Assembler-Programmierung, wenn man es mal positiv sehen will. :)