Maschinensprache i8086/ Bildschirm
Theorie:
Einleitung – Maschinensprache –
Assembler – Zahlensysteme –
RAM-Adressen – BWS – Debug –
CPU-Register – Einfache Befehle – Stringbefehle – Interrupts –
I/O-Ports
Versuch:
BWS1 – BWS2 –
Hallo Welt – Bootsektor – MBR
Nützlich:
Befehlsliste – PAUSE – Filter
Analyse:
Bootloader
Verwendung der Debug Befehle
BearbeitenZur ersten Bekanntschaft mit dem Debug Programm betrachten und manipulieren wir den Bildwiederholspeicher.
Starten Sie den PC mit einer DOS-Startdiskette (empfehlenswert, weil dann Ihre Daten außer Gefahr sind) oder öffnen Sie ein DOS-Fenster mit Start - Ausführen, geben Sie "cmd" bzw. "command" ein, OK
Vergrößern Sie das Fenster mit der Tastenkombination Alt-Enter zum Vollbild (mit einem erneuten Alt-Enter kommen Sie jederzeit zur Fensterdarstellung zurück). Hinweis: Einige Farben sind in Fenster und Vollbild unterschiedlich.
Geben Sie den Befehl "cls" ein, gefolgt von Enter (Clear Screen). Geben Sie den Befehl "debug" ein, gefolgt von Enter. Das Programm DEBUG meldet sich mit einem Minuszeichen als Bereitschaftsmeldung (Prompt) und erwartet Befehle. Geben Sie ein:
d b800:a0
Sie sehen den Inhalt des BWS ab der zweiten Bildschirmzeile. Nehmen Sie die ASCII Tabelle und die Tabelle der Farbattribute und vergleichen Sie: C = 43h, 07 = weiß auf schwarz, Doppelpunkt = 3Ah, ...
Um in die oberste Bildschirmzeile zu schreiben, geben Sie ein:
e b800:0 20.31 07.01 20.32 07.02 20.33 07.03 usw. nach Lust und Laune.
Achtung! Nach jeder Eingabe die Leertaste drücken, nicht die Enter-Taste! Die Enter-Taste bricht die Eingabe ab!
Beobachten Sie während der Eingabe die obere linke Bildschirmecke!
Hinweis: Wenn Sie mit den Befehlen am unteren Bildschirmrand angekommen sind, rollt das Bild nach oben, und Sie sehen Ihre Veränderungen nicht mehr. In diesem Fall sollten Sie DEBUG mit "q" beenden, den Bildschirm mit CLS löschen und DEBUG erneut starten.
Hinweis: Haben Sie einen falschen Wert eingegeben, können Sie mit der Eingabe eines Minuszeichens einen Speicherplatz zurückspringen.
Hinweis: Die ASCII-Zeichen ab 128 bis 255 können je nach verwendetem nationalen Zeichensatz unterschiedlich sein. Die Ihnen vorliegende Übersicht entspricht der Codeseite 437.
Probieren Sie verschiedene ASCII-Codes, Farbkombinationen und Bildschirmpositionen aus! Kontrollieren Sie jede Eingabe!
Beispiele und gleichzeitig eine kleine Hexadezimal-Rechenübung:
Mitte der 1. Zeile: 40 x 2 = 80 = 50h, Adresse b800:50 Beginn der 13. Zeile: 80 x 2 x (13-1) = 1920 = 780h, Adresse b800:780 Beginn der 25. Zeile: 80 x 2 x (25-1) = 3840 = F00h, Adresse b800:F00 Ende der ersten Zeile: (80-1) x 2 = 158 = 9eh, Adresse b800:9e