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:
- SYS 828, ZN - ZN Bereich löschen
- SYS 828, - ZN Bis Zeile alles löschen
- SYS 828, ZN - Ab Zeile alles löschen
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