Fehlersuche leicht gemacht
Fehlersuche in Programmen ist nicht einfach. Der LIST-Befehl des C 64 bietet dabei auch nicht gerade eine große Erleichterung. Dieses Programm schafft Abhilfe.
Wen ärgert es nicht, wenn man nach mühseliger Abtipperei eines Programmlistings feststellen muß, daß es nach »RUN« nicht richtig läuft? Nun geht es an die Fehlersuche und die ist mit dem normalen LIST-Befehl nicht gerade einfach. Wenn man keine gute Reaktion an den Tag legt, sind einige Zeilen oben aus dem Bildschirm verschwunden, bevor man »RUN/STOP« gedrückt hat. Und hat man erst einmal RUN/STOP gedrückt, dann muß man wieder einen neuen LIST-Befehl mit Zeilennummer eingeben, um weiter aufzulisten. Auch die »CTRL«-Taste bringt keinen besonderen Vorteil, denn so oft ich mich auch bemüht habe, das Rennen gegen den C 64 zu gewinnen, bis heute ist es mir noch nicht gelungen, ein gedrucktes Listing mit dem des C 64 so zu vergleichen, daß ich ohne RUN/STOP ausgekommen wäre. Dies gilt im verstärkten Maße, wenn DATA-Zeilen mit im Spiel sind.
Um nun dieses Problem zu lösen, habe ich das LIST-STOP-Programm entwickelt. Mit diesem ist es möglich, ein Listing zu kontrollieren oder zu vergleichen, ohne in Zeitnot zu geraten oder jedesmal erneut einen LIST-Befehl einzugeben.
Ist das Programm aktiviert, dann wird die Routine mit »Pfeil links« und dann RETURN — entspricht CHR$ (95) und CHR$ (13) — aufgerufen. Es wird jetzt solange aufgelistet, bis ein Bildschirm voll ist. Hat der C 64 gestoppt, so ist er wieder im Eingabemodus und man kann alle Editiermöglichkeiten in Anspruch nehmen, um Fehler zu korrigieren, Zeilen einzufügen oder zu entfernen.
Will man nun das Listen weiterlaufen lassen, braucht man nur CHR$ (133) beziehungsweise F1 zu drücken und es geht bei der Zeilennummer weiter, bei der vorher gestoppt wurde (auch wenn etwas verbessert wurde!), so lange, bis wieder ein Bildschirm voll ist.
Zu beachten ist, daß der neue LIST-STOP-Befehl einen LIST-Befehl simuliert und man ihn auch als solchen behandeln kann. Um bestimmte Zeilennummern aufzulisten, kann folgende Eingabe verwendet werden:
»Pfeil links« 20 - 130, RETURN.
Jetzt werden nur die Zeilen zwischen 20 und 130 mit der LIST-STOP-Routine behandelt.
Der normale LIST-Befehl kann weiterhin benutzt werden. Die zwei Zeichen, die mehrfach zu sehen sind (CHR$ (113) und CHR$ (64), ≙ geschlossener Kreis und »Klammeraffe«), sind Steuerzeichen für das Programm (keine Fehler).
Der Grund dafür, daß CHR$ (95) »Pfeil links« als Basic-Befehl erkannt wird, liegt darin, daß mit dem Aufruf des Programms durch SYS 40704 der Vektor für die Basic-Befehlsadresse auf meine eigene Abfrageroutine gesetzt wird. Erkennt diese Routine das Zeichen, wird der LIST-Befehl ausgeführt.
Programmierhinweis
Nachdem das Programm abgetippt wurde, sollte man es unbedingt vor dem ersten Lauf abspeichern, da sich das Basicprogramm selbsttätig löscht, nachdem LIST-STOP aktiviert wurde.
Ist ein Fehler in den DATA-Zeilen so meldet der Computer den Fehler und bricht das Programm ab, damit man den Fehler beheben kann. Als Erleichterung habe ich für jede DATA-Zeile die Summe aufgeführt. Das Maschinenprogramm ist ab dez. 40704 abgelegt und wird durch Zeile 10 vor dem Überschreiben geschützt.
(Manfred Selke/rg)Prüfsummen
Zeile | Summe | Zeile | Summe |
111 | 1 707 | 117 | 2 745 |
112 | 1 935 | 118 | 1 938 |
113 | 2 432 | 119 | 2 446 |
114 | 2 996 | 120 | 1 863 |
115 | 2 252 | 121 | 2 143 |
116 | 2 134 | 122 | 226 |