C 16
Tips und Tricks

C 16: HELP und TRACE verbessert

Dieses kleine Programm implementiert eine wesentlich erweiterte TRACE-Funktion. Auch HELP wird damit um einiges übersichtlicher.

Nachteilig bei der bisherigen Fehlersuche durch »HELP« ist das entnervende Blinken der Fehlerstelle und aller nachfolgenden Zeichen. Eine konzentrierte Fehlersuche ist kaum möglich. Durch die Änderung dieser Routine wird die Fehlerstelle fortan nicht mehr blinkend, sondern in reverser Schreibweise ausgegeben und auch nur diese einzige Stelle, nicht mehr die gesamte Restzeile. Der Fehler ist somit mit einem einzigen Blick zu erfassen.

Das C16-Tracing mag etwas für Leute mit Facettenaugen sein, aber wohl nichts für die Mehrzahl der Anwender. In der durch dieses Programm erzeugten neuen Version werden nicht mehr wild die abgearbeiteten Zeilennummern ausgegeben, sondern die gesamte aktuelle Programmzeile gezeigt. Der Befehl, auf dem der Programmzeiger gerade steht, erscheint revers geschrieben. Nach jeder Zeilenausgabe stoppt das abzuarbeitende Programm, und die Trace-Routine wartet auf irgendeinen Tastendruck.

Danach wird die angezeigte Zeile bis zum folgenden Trennzeichen ausgeführt. Dieser Vorgang wiederholt sich bis zum Programmende. Der Programmablauf läßt sich wie gewohnt mit der STOP-Taste unterbrechen.

Vor allem für Basic-Anfänger ist dieses verbesserte Trace eine wertvolle Hilfe, da sich das Programm bei der Ausführung von Befehl zu Befehl direkt verfolgen läßt.

(Wolfgang W. Wirth/ev)
100 rem **************************
110 rem *                        *
120 rem * extended help & trace  *
122 rem *                        *
124 rem *     c 16 / c 116       *
130 rem *                        *
134 rem *                        *
140 rem * by wolfgang wirth      *
144 rem *                        *
150 rem *    theodor-heuss-ring  *
154 rem *                        *
160 rem *    6556 woellstein     *
170 rem *                        *
180 rem **************************
190 rem
200 rem
220 adresse=819:anzahl=8
230 for zeile=410 to 760 step 10
240 summe=0
250 if zeile=760 then anzahl=3
260 for spalte=1 to anzahl
270 read byte$:byte=(byte$)
280 summe=summe+byte and 255
290 poke adresse,byte
300 adresse=adresse+1
310 next
320 read test$
330 if summe=(test$) then 360
340 print"fehler in zeile";zeile
350 flag=1
360 next
370 if flag then end
380 sys 1082
400 rem
410 data38,66,53,a0,03,84,49,84,e5
420 data0f,20,5f,a4,a9,20,a4,49,e8
430 data29,7f,20,b2,90,c9,22,d0,c5
440 data06,a5,0f,49,ff,85,0f,c8,5e
450 dataf0,09,a2,00,86,c2,24,53,5a
460 data10,19,a6,60,98,18,65,5f,a3
470 data90,01,e8,ec,f6,04,d0,0b,3a
480 datacd,f5,04,90,06,f0,04,26,76
490 datac2,46,53,20,d1,04,f0,e3,23
500 data10,c8,c9,ff,f0,c4,24,0f,87
510 data30,c0,aa,84,49,a0,81,84,0c
520 data23,a0,8e,84,22,a0,00,ca,61
530 data10,0f,b1,22,48,e6,22,d0,12
540 data02,e6,23,68,10,f4,30,ef,96
550 datac8,b1,22,30,99,20,b2,90,c6
560 datad0,f6,60,ae,ef,04,e8,f0,9f
570 data19,ad,f0,04,ac,f1,04,85,e0
580 data14,84,15,20,3d,8a,90,0a,2e
590 data20,3e,90,a6,14,a5,15,20,82
600 data33,03,4c,3e,90,20,73,04,e7
610 data20,d9,03,4c,dc,8b,f0,83,22
620 data2c,eb,02,10,2e,24,81,10,0c
630 data2a,48,a4,3c,a6,3b,d0,01,04
640 data88,ca,8e,f5,04,8c,f6,04,5f
650 dataa5,39,a4,3a,85,14,84,15,ee
660 data20,3d,8a,a6,14,a5,15,20,7b
670 data33,03,20,3e,90,20,dd,eb,0c
680 dataf0,fb,68,c9,ea,f0,03,4c,45
690 data3f,8c,20,73,04,4c,ae,03,5f
700 dataa2,ff,86,3a,20,5a,88,86,e9
710 data3b,84,3c,20,73,04,aa,f0,2c
720 dataef,90,09,20,53,89,20,79,1d
730 data04,4c,d3,03,4c,2e,87,a2,c9
740 data03,8e,09,03,e8,8e,03,03,19
750 dataa2,d0,8e,08,03,a2,1b,8e,56
760 data02,03,60,65
Listing »Extended Help & Trace« für den C 16
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →