Die Grundlagen der Assembler Sprache können mit der Hilfe des DOS Programms namens "Debug" presentiert werden. Dieses Programm war grundsätzlich dafür geschrieben um die Fehlersuche in einem Programm zu vereinfachen. Sein Name stammt vom englischen Wort "bug" – also "Käfer" oder "Wanze"- und im Informatik bedeutet es Programmfehler. Ein gut laufendes Programm hat keine "Wanze", aber ein nicht funktionierendes Programm hat wenigstens eine. Mit der Hilfe des Debug Programms können wir die Ausführung eines Programms schrittweise verfolgen, und so können wir die Fehler entdecken und sie verbessern. Dieser Prozess heisst "debugging", also "Wanzenvertilgung", woher der Name des Debug Programms stammt.
Das "debug" Programm kann direkt von einer DOS Kommandozeile mit dem "debug" Befehl gestartet weden. Man kann das Programm mit dem Befehl "q" beenden.
Im hexadezimalen (also sechszehner) Zalensystem brauchen wir sechszehn Ziffern, deshalb sollen wir die Reihe der gewöhnlichen zehn Ziffern mit sechs zuzätzliche Ziffern ergänzen. Wir benützen die erste sechs Buchstaben des Alphabets dazu, die sind: A, B, C, D, E und F. Die hexa Zahlen und deren Benützung können wir mit der hilfe des Befehls H (Hexarithmetik) vom Programm Debug besser kennenlernen. Dieser Befehl rechnet die Summe und Differenz von zwei hexa Zahlen. Last uns es ausprobieren. Überprüefen wir die Ergebnisse auf Papier. Dann können wir auch die Ergebnisse unseren C oder Pascal Programms damit überprüfen.
Hexarithmetik Übungen:
-H 3 2
-H D C
-H FFFF 1
-H 2 3
-H 9 1
-H CD1 92A
-H FFFF A
-H 9 3
-H BCD8 509
-H F451 CB03
-H 9 7
-H 4567 23AF
-H BCD8 FAE9
Üben wir die Umwandlung zwischen das hexadezimale und dezimale Zalensystem in beide rictungen, damit wir die Grösse einer hexa Zahl gleich abschätzen können. Was ist passiert wenn wir eine Zahl mit fünf hexa Ziffern eingeben wollten? Und wenn wir die Summe zwei ziemlich grossen Zahlen ausgerechnet haben? Im Fall der Zahl mit fünf hexa Ziffern, haben wir ein Fehler-Botschaft bekommen, und im zweiten Fall war die erste Ziffer des - aus fünf Ziffern bestehendes - Ergebnisses einfach nicht da. Wir bekommen eine Erklärung auf diese sonderbare Phänomene wenn wir lernen wie die Zahlen im Rechner representiert sind.
Der Mikroprozessor, trotz seiner Fähigkeiten, ist ziemlich dumm, er kennt nur die Ziffern 0 und 1, also jede Zahl die er benützt, wird aus eine lange Reihe von Ziffern 0 und 1 zusammengesetzt. Das ist das Binärsystem. Das Debug benützt für die ausgabe der Zahlen in hexa Form ein Programm, das die Umwandlung der inneren binären Zahlen ins hexadezimale Zahlensystem ausführt.
Wir bezeichnen die binäre Zahlen mit b am Ende der Zahl und die hexa Zahlen mit h.
Z. B.: 1011b = Bh = 11 1111b = Fh = 15. 1111b ist die grösseste vorzeichenlose, aus vier Ziffern bestehende binäre Zahl, während 0000b die kleineste. Wir können also mit vier binäre Ziffern 16 verschiedene Zahlen representieren. Weil die Anzahl der hexa Ziffern eben 16 ist, so können wir mit vier binäre Ziffern eine hexa Ziffer ausdrücken. Eine hexa Zahl mit zwei Ziffern, wie z. B. 4Ch = 0100 1100b kann mit der Hilfe von acht binäre Ziffern representiert werden. Die einzelne binäre Ziffern sind unter dem Namen "Bit" bekannt, die obige Zahl ist also 8 bit lang. Eine Gruppe von acht Bits heisst "Byte", während eine, aus 16 bit bestehende heisst "Wort".
Wir können schon sehen warum die hexa Bezeichnung bequem ist: zwei hexa Ziffern bezeichnen einen Byte, und vier ein Wort. Wir können das gleiche über das dezimale Zahlensystem nicht sagen. Genauso können wir erklären warum uns nicht gelungen ist
mit Debug unsere, aus fünf Ziffern bestehende Zahl ausgeben lassen, das Debug kann nämlich nur Zahlen von Grösse einer Byte oder einer Wort handeln.