C 64
Delete

Delete

Diese in Maschinensprache geschriebene Routine ermöglicht es, Basic-Programmzeilen in einem vorzugebenden Zeilennummernbereich zu löschen.

Ein ärgerlicher Nachteil des C 64-Basic und auch von Simons-Basic ist das Fehlen einer Delete-Routine zum schnellen Löschen mehrerer Programmzeilen. Das folgende Programm hilft dem ab.

Der Basic-Lader speichert das Maschinenprogramm im Kassettenpuffer ab Adresse 828 (dez.). Das Programm kann dann auf drei verschiedene Arten aufgerufen werden:

Es werden jeweils die Zeilen inklusive der angegebenen gelöscht. Da die Routine im Kassettenpuffer untergebracht ist, belegt sie keinen Basic-Speicherplatz.

(Hans-Herbert Hagedorn / ev)
|
10 rem    **********************
15 rem    *                    *
20 rem    *       delete       *
25 rem    *                    *
30 rem    *   h.h.hagedorn     *
35 rem    *                    *
40 rem    *   rupprechtstr.30  *
45 rem    *                    *
50 rem    *   83 landshut      *
55 rem    *                    *
60 rem    *   tel. 0871/67337  *
65 rem    *                    *
70 rem    **********************
75 :
80 for i=828 to 990 : read a : poke i,a
85 s=s+a : next
90 if s <> 17132 then print "datenfehler" : end
95 print "ok"
100 data 032,253,174,032,121,000,144,006
105 data 240,004,201,171,208,023,032,107
110 data 169,032,019,166,165,095,133,025
115 data 165,096,133,026,032,121,000,240
120 data 004,201,171,240,005,162,011,076
125 data 058,164,032,115,000,032,107,169
130 data 208,243,165,020,005,021,208,008
135 data 169,255,133,020,133,021,208,006
140 data 230,020,208,002,230,021,032,019
145 data 166,165,095,133,036,165,096,133
150 data 037,056,165,036,229,025,165,037
155 data 229,026,144,201,165,045,229,036
160 data 133,095,165,046,229,037,133,096
165 data 024,165,025,101,095,133,045,165
170 data 026,101,096,133,046,160,000,177
175 data 036,145,025,230,025,208,002,230
180 data 026,230,036,208,002,230,037,056
185 data 165,095,233,001,133,095,165,096
190 data 233,000,133,096,016,225,032,089
195 data 166,032,051,165,076,145,227,000
200 data 000,000,000
 10 REM    ********************** 
 15 REM    *                    * 
 20 REM    *       DELETE       * 
 25 REM    *                    * 
 30 REM    *   H.H.HAGEDORN     * 
 35 REM    *                    * 
 40 REM    *   RUPPRECHTSTR.30  * 
 45 REM    *                    * 
 50 REM    *   83 LANDSHUT      * 
 55 REM    *                    * 
 60 REM    *   TEL. 0871/67337  * 
 65 REM    *                    * 
 70 REM    ********************** 
 75 : 
 80 FOR I=828  TO 990 : READ A : POKE I,A 
 85 S=S+A : NEXT 
 90 IF S <> 17132  THEN PRINT "DATENFEHLER" : END 
 95 PRINT "OK" 
 100 DATA 032,253,174,032,121,000,144,006 
 105 DATA 240,004,201,171,208,023,032,107 
 110 DATA 169,032,019,166,165,095,133,025 
 115 DATA 165,096,133,026,032,121,000,240 
 120 DATA 004,201,171,240,005,162,011,076 
 125 DATA 058,164,032,115,000,032,107,169 
 130 DATA 208,243,165,020,005,021,208,008 
 135 DATA 169,255,133,020,133,021,208,006 
 140 DATA 230,020,208,002,230,021,032,019 
 145 DATA 166,165,095,133,036,165,096,133 
 150 DATA 037,056,165,036,229,025,165,037 
 155 DATA 229,026,144,201,165,045,229,036 
 160 DATA 133,095,165,046,229,037,133,096 
 165 DATA 024,165,025,101,095,133,045,165 
 170 DATA 026,101,096,133,046,160,000,177 
 175 DATA 036,145,025,230,025,208,002,230 
 180 DATA 026,230,036,208,002,230,037,056 
 185 DATA 165,095,233,001,133,095,165,096 
 190 DATA 233,000,133,096,016,225,032,089 
 195 DATA 166,032,051,165,076,145,227,000 
 200 DATA 000,000,000 
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →