Der große Überblick
Man braucht sehr viel Geduld, um bei einem langen Listing die Übersicht zu behalten. Ein formatiertes Listing schafft Ordnung und erleichtert somit die Fehlersuche.
Das Programm FLIST belegt 134 Bytes im Kassettenpuffer des C 64. Es wird mit LOAD”FLIST.DATA”, 8 geladen und mit RUN gestartet. Dabei wird das, in DATA-Zeilen stehende Programm im Speicher ab 828 abgelegt und mit SYS gestartet. Die Zeile 10, die diese Dinge erledigt, dient später als Demonstrationszeile. Nun zur Funktion:
Das Programm erweitert das Basic um den Befehl FLIST. Dieser Befehl erzeugt ein formatiertes Listing auf dem Bildschirm, indem vor der Ausgabe eines Zeichens geprüft wird, ob dieses Zeichen ein »:« ist. Trifft dies nicht zu, so wird das ’LISTen’ fortgesetzt. Andernfalls erzeugt das Programm ein »CR« (Carriadge Return) und fügt eine, von der Länge der Zeilennummer abhängige Anzahl von Leerzeichen ein. Dadurch stehen alle in einer Zeile vorhandenen Doppelpunkte untereinander und unter dem Leerzeichen nach der Zeilennummer. Jeder Befehl, vor dem ein Doppelpunkt steht, erscheint so in einer neuen Zeile. Die Angabe der Zeilennummer(n) erfolgt bei FLIST wie beim normalen LIST-Befehl (zum Beispiel FLIST-100). Zum Editieren einer Zeile steht dem Benutzer weiterhin der normale LIST-Befehl zur Verfügung. Versuchen Sie mal FLIST10! Benutzer eines Druckers könnten ja mal OPEN1,4:FLIST:close1 ausprobieren.

10 fori=828to981:: readj: pokei,j::nexti::sys828::end 100 data169,71,141,8 110 data3,169,3,141 120 data9,3,96,32 130 data115,0,201,155 140 data240,10,201,70 150 data240,25,32,121 160 data0,76,231,167 170 data169,26,141,6 180 data3,169,167,141 190 data7,3,32,115 200 data0,32,156,166 210 data76,174,167,32 220 data115,0,201,155 230 data240,3,76,195 240 data3,169,130,141 250 data6,3,169,3 260 data141,7,3,76 270 data98,3,8,36 280 data15,48,4,201 290 data58,240,4,40 300 data76,26,167,72 310 data138,72,152,72 320 data160,2,177,95 330 data133,99,200,177 340 data95,133,98,162 350 data144,56,32,73 360 data188,32,223,189 370 data32,135,180,32 380 data166,182,170,169 390 data13,32,12,225 400 data32,59,171,202 410 data208,250,104,168 420 data104,170,104,40 430 data76,26,167 440 data56,165,122,233 450 data1,133,122,165 460 data123,233,0,133 470 data123,32,121,0 480 data76,231,167