Programmieren mit DEBUG.EXE

Diskussion zum Thema Programmierung unter DOS (Intel x86)
Antworten
Bird

Programmieren mit DEBUG.EXE

Beitrag von Bird »

Oh, ihr alten Hasen!
Würdet ihr einem Grünschnabel, der jünger ist als eure altehrwürdigen Computer, in den geheimen Künsten der Assemblerprogrammierung mit Rat und Tat zur Seite stehen?

Mein Ziel ist es, Texte Byte für Byte umzuwandeln. Dafür spiele ich momentan mit DEBUG.EXE unter Windows 98 ein wenig herum. Zum Beispiel lade ich mir erst eine Textdatei in den Speicher, um dann immer wiederkehrend ab den Speicherstlelen 110, 120, 130 und 140 in den ersten 5 Bytes Nullen zu platzieren.

Code: Alles auswählen

n datei.txt
l cs:0100
f cs:0110 l5 00
f cs:0120 l5 00
f cs:0130 l5 00
f cs:0140 l5 00
Kann ich dafür eine Schleife machen, um den Vorgang zu automatisieren, dass es auch für größere Textteile eine Aktion durchführt? Irgendwie kann man die Variablen für die Register nicht so frei setzen. "cs:ax" klappt zum Beispiel nicht.
Geht das nur im Assemblermodus in DEBUG.EXE, oder braucht man dafür ein anderes Programm? Macht das überhaupt Sinn, in Assembler eine Textkonvertierung durchzuführen?
wobo
DOS-Guru
Beiträge: 613
Registriert: So 17. Okt 2010, 14:40

Re: Programmieren mit DEBUG.EXE

Beitrag von wobo »

Ich bin leider nur alt, aber kein alter Hase, werde Dir also nicht wirklich helfen können.

Soweit ich das jetzt gesehen habe, gibt es keinen direkten Befehl in Debug. um die Konvertierung zu automatisieren. Du muesstest also ein komplettes Programm schreiben, das die entsprechenden Speicherstellen einliest und je die ersten 5 byte auf Null setzt. Ich würde dafür lieber einen echten bzw. ausgewiesenen Assembler nehmen (Mit DEBUG kenne ich mich noch weniger aus, und mit Debug für Win98 schon gar nicht).

Hast Du schon ein "Hallo Welt!"-Programm in Assembler gemacht?

Ob es Sinn macht, so etwas in Assembler umzusetzen? Ja, wenn Du etwas über Assembler lernen willst, sicherlich.

Was ist denn Dein IT-Hintergrund bzw. in welchen Sprachen hast Du schon etwas programmiert?
Bird

Re: Programmieren mit DEBUG.EXE

Beitrag von Bird »

Ob eine Aktion umzusetzen ist, ist aus meiner Sicht eine Bequemlichkeitsfrage. DEBUG.EXE bietet eine handvoll Kommandos, um den Speicher zu manipulieren. Wie herzhaft einfach! Jetzt muss ich nur noch die Limits von DEBUG ausloten, deswegen meine Frage an die alten Hasen, was das Programm kann (z.B. sowas wie cs:ax).

Ich halte Technologie, die man im Detail verstehen muss, für scheußlich zeitraubend, wenn sie mich vom produktiven Arbeiten abhält. Assembler macht schon einen komplizierteren Eindruck, als ein paar Kommandos in ein Programm einzugeben. Deswegen brenne ich nicht darauf, Assembler zu lernen, werde es aber tun, wenn es ohne das nicht geht.
Antworten