Ich lerne Assemblersprache für x86-Architektur. Aber ich kann keine Übungsprobleme finden, um meine Fähigkeiten zu testen. Können Sie mir einige Übungsprobleme oder ein kleines Assembler-Projekt vorschlagen, um meine Fähigkeiten zu verbessern?
Danke im Voraus
libc
und UNIX - Tools , wie:strcpy
,strcat
, Konvertierungsfunktionen wie einstrtoi
/itostr
,strtol
/ltostr
, Miniprintf
, Minicat
... Sollte genug sein , um zu bekommen Sie haben begonnen, und der Rest der Bibliothek steht Ihnen für weitere Projektideen zur Verfügung.Antworten:
Sie können sich auf die Optimierung vorhandener Beispielcodes konzentrieren. Es gibt einige gute Ressourcen zu suchen:
Die interessantesten und etwas komplexesten Aufgaben könnten darin bestehen, einen kompatiblen Treiber auf Geräte zu schreiben, die Ihren Anforderungen entsprechen.
quelle
Als ich an der Universität Montage studierte, machten wir die ganze Zeit kleine Bewerbungen. Wir hatten Aufgaben wie Eingabe, Ausgabe, verschiedene Summen und Sortierungen (für die Verwendung von Schleifen), das "Zeichnen" einiger Bilder wie Kreise mit Punkten usw.
Es gab auch große Projekte. Am interessantesten ist es, einen Fahrer zu schreiben. Sie könnten ein kleines Gerät wie eine Maus nehmen und versuchen, einen Treiber dafür zu implementieren. Wenn Sie auch einige Tests hinzufügen, um beispielsweise herauszufinden, wo das Problem liegt, falls etwas falsch ist, wäre dies eine großartige Erfahrung. Das ordnungsgemäße Schreiben eines Treibers erfordert gute Sprachkenntnisse, einige Nachforschungen über das Gerät und die Anschlüsse sowie Code zum Testen.
Dies ist ein Projekt, das Sie nicht als klein bezeichnen würden, aber wenn Sie dies alles implementieren können, stellen Sie sicher, dass Sie die Assemblersprache kennen!
quelle
Eines der ersten Dinge, die ich beim Lernen / Herumspielen tat, war eine Blitting-Routine. Dann fügte ich Transparenz und schließlich Schatten hinzu, indem ich Farben spezifizierte, die transparent oder ein Schatten sein würden.
quelle