6. Funktionseinheiten eines Computers / Mikrocomputers
6. Funktionseinheiten eines Computers / Mikrocomputers
6. Funktionseinheiten eines Computers / Mikrocomputers
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Rechnergrundlagen Teil 2 - 8 - Prof. Dipl.-Ing. Komar<br />
<strong>6.</strong>7 Der Personal-Computer als Mikrocomputer-Versuchs und Übungssystem ( PC– MVUS )<br />
Mit den DOS-Hilfsprogrammen DEBUG und EDIT kann man ohne symbolische Assembler wie TASM<br />
( Borland ) oder MASM ( Microsoft ) den PC als Mikrocomputer Versuchs- und Übungssystem benutzen.<br />
Das DOS-Kommando DEBUG dient der Fehlersuche ( debugging ) auf Maschinenbefehlsebene. Man kann es<br />
aber auch als ein Einfachst-Betriebssystem (sogn. Monitor ) verwenden, mit dessen Hilfe kleine Assembler-<br />
Programme entwickelt und getestet werden und auch ablaufen können.<br />
Denn DEBUG enthält einen einfachen Zeilenassembler mit dessen Hilfe unter DOS im Real-Mode kurze<br />
COM-Programme ( Begrenzung auf 64 Kbyte ) entwickelt werden können.<br />
Die Ein/Ausgabe über Tastatur und Bildschirm wird mit Hilfe der entsprechenden Betriebssystemfunktionen<br />
(DOS und BIOS-Interrupts ) für Tastatur und Bildschirm bewerkstelligt.<br />
Das Monitorprogramm DEBUG erlaubt es, Assemblerbefehle Zeile um Zeile in Maschinencode<br />
umzuwandeln und ab einer bestimmten Adresse im Speicher abzulegen ( line by line Assembler ). Bei dieser<br />
einfachsten Art der Programmierung können jedoch Operanden wie z.B. Adressen und Konstanten nicht<br />
symbolisch, d.h. in Form von definierten Bezeichnern angegeben werden, sondern müssen stets als<br />
Hexadezimalzahlen in der Assemblerzeile auftreten. Insbesondere bei Sprungbefehlen muß dazu das Sprungziel<br />
als absolute Adresse angegeben und vom Programmierer vorher berechnet werden.<br />
Müssen später weitere Assemblerbefehle eingefügt werden, so verschieben sich die Adressen für die folgenden<br />
Befehle entsprechend und der Vorteil <strong>eines</strong> komfortablen Assemblers zur professionellen Programmentwick-<br />
lung wird schnell deutlich.<br />
Mit dem zu DOS gehörendem Texteditor EDIT kann man für größere Programme eine Quelldatei aus<br />
Assemblerbefehlen und DEBUG-Anweisungen erzeugen, die dann in einem Durchlauf vom Debugger<br />
übersetzt werden kann. Damit lassen sich mit dem Debugger auch größere Assemblerprogramme handhaben.<br />
<strong>6.</strong>8 DEBUG<br />
Der englische Begriff bug bedeutet soviel wie Wanze oder Käfer. Tatsächlich wird ein Fehler in einem<br />
Computerprogramm im Fachjargon ebenfalls als bug bezeichnet. Entsprechend wird die Fehlersuche oder<br />
Fehlerbeseitigung in Programmen Debugging genannt.<br />
Man unterscheidet im wesentlichen drei verschiedene Arten von Fehlern, die bei der Erstellung von Computerprogrammen<br />
auftreten können:<br />
- Syntaxfehler<br />
- Laufzeitfehler<br />
- Logikfehler<br />
Ein Syntaxfehler ist ein Verstoß gegen die Regeln der jeweiligen Programmiersprache, also beispielsweise ein<br />
Tippfehler oder ein gänzlich unbekannter Befehl. Der Compiler (=Programm, das die geschriebenen Befehle in<br />
die für den Computer verständliche Binärcodierung umsetzt) meldet solche Fehler und fordert den<br />
Programmierer zur Korrektur auf.<br />
Syntaxfehler sind die einfachste und "angenehmste" Fehlerart und entsprechend leicht zu beheben.<br />
Bei einem Laufzeitfehler konnte das Programm vom Compiler zwar korrekt in Maschinencode übersetzt<br />
(=compiliert) werden, doch weist das Programm bei seiner Ausführung einen Fehler auf, der zum Beispiel durch<br />
eine Division durch Null (hierauf reagieren Computer sehr empfindlich) oder durch andere unerlaubte Dinge<br />
ausgelöst wurde, die zum Zeitpunkt der Compilierung noch nicht abzusehen waren (Drucker nicht bereit,<br />
falscher Bildschirmtyp, Festplatte voll etc.).<br />
Die unangenehmste Fehlerart sind die Logikfehler: das Programm wurde ebenfalls fehlerfrei compiliert und<br />
arbeitet sogar - nur leider tut es nicht das, was es eigentlich tun sollte. Logikfehler sind in der Entwicklungsphase<br />
größerer Programme unvermeidbar, da kein Programmierer ein Programm derart vor seinem geistigen Auge<br />
ablaufen lassen kann, wie es der Computer später real ausführt.