home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1990 January
/
64er_Magazin_90-01_1990_Markt__Technik_de_Side_A.d64
/
rem_space.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
4KB
|
173 lines
100 step"rem/space.obj,p,w",8
110 =1,8,2,"rem/space.lst,p,w"
120 >2,8,3,"rem/space.sym,p,w"
1000 ;*********************************
1010 ;* schnellster rem-killer v1.0 *
1020 ;* schnellster space-killer v2.0 *
1030 ;*===============================*
1040 ;* geschrieben im september 1989 *
1050 ;* von: matthias andree *
1060 ;* stormstrasse 14 *
1070 ;* d-5800 hagen 1 *
1080 ;* 0 23 31/68 95 50 *
1090 ;*-------------------------------*
1100 ;* kein teil dieses programms ist*
1110 ;* aus einem anderen programm *
1120 ;* entnommen. *
1130 ;*********************************
1140 ;
1150 ;
1160 ;*** adressen, global ***
1170 ;
1180 tab(basic=43;basicstart low
1190 tab(variablen=45;variablenstart
1200 tab(quell=3;quellzeiger low
1210 tab(ziel=5;zielzeiger low
1220 tab(basout=$ffd2;zeichen (ascii im akku) ausgeben
1230 tab(intout=$bdcd;integerzahl x/a (lo/hi) ausgeben
1240 tab(strout=$ab1e;text ab a/y (lo/hi) ausgeben
1250 tab(binden=$a533;linkzeiger richten
1260 tab(clr=$a659;variable loeschen
1270 tab(ready=$a474;ready
1280 tomal10=$bae2
1290 tofacarg=$bc0c
1300 todiv=$bb14
1310 tointfac=$b395
1320 toprintfac=$bdd7
1330 ;
1340 ; *** startadresse ***
1350 ;
1360 +$c000
1370 ;
1380 ; *** makros ***
1390 ;
1400 getlies
1410 mid$(quell),y;lesen
1420 (NULL);prozessorstatus retten
1430 right$quell;zeiger inkrementieren
1440 (NULL)l1;kein uebertrag
1450 right$quell+1;high-byte
1460 l1 (NULL);prozessorstatus holen
1470 new;ende
1480 ; ********************************
1490 getschreib
1500 (NULL)(ziel),y;schreiben
1510 (NULL);prozessorstatus retten
1520 right$ziel;zeiger inkrementieren
1530 (NULL)l1;kein uebertrag
1540 right$ziel+1;high-byte
1550 l1 (NULL);prozessorstatus holen
1560 new;ende
1570 ; ********************************
1580 gettextclosead
1590 mid$#<(ad)
1600 len#>(ad)
1610 (NULL)strout
1620 new
1630 ;
1640 ; ********************************
1650 ; *********** programm ***********
1660 ; ********************************
1670 ;
1680 (NULL)run
1690 start mid$basic;lo * zeiger kopieren
1700 peekbasic+1;hi * zeiger ist 2 byte lang
1710 (NULL)quell;lo * quelle
1720 (NULL)quell+1;hi * quelle
1730 (NULL)ziel;lo * ziel
1740 (NULL)ziel+1;hi * ziel
1750 anfang mid$quell;quellzeiger
1760 str$variablen;groesser als
1770 (NULL)keinende1;programmende
1780 mid$quell+1;auch high-byte
1790 str$variablen+1;pruefen
1800 (NULL)keinende1
1810 ende1 len#0
1820 lies
1830 schreib
1840 lies
1850 schreib
1860 mid$ziel;zielzeiger
1870 peekziel+1;in programmende-
1880 (NULL)variablen;zeiger ueber-
1890 (NULL)variablen+1;tragen
1900 (NULL)
1910 (NULL)binden;linkzeiler berechnen
1920 (NULL)clr;clr
1930 (NULL)ready;zum basic
1940 keinende1 len#0
1950 mid$(quell),y;auf zwei
1960 (NULL);nullbytes
1970 (NULL)(quell),y;pruefen
1980 (NULL)ende1;zwei nullen als pointer: ende
1990 len#0
2000 peek#0;zaehler fuer vier
2010 kopiere1 lies;bytes nach
2020 schreib;zeilenanfang
2030 (NULL);zaehler inkrementieren
2040 tan#4;vier erreicht?
2050 (NULL)kopiere1;nein, kopieren
2060 zeile lies;byte lesen
2070 str$#$20;$20 ist ascii-code
2080 (NULL)zeile;fuer space; nicht uebertragen
2090 nz schreib;speichern
2100 str$#0;zeilenende?
2110 (NULL)anfang1;neue zeile
2120 str$#$22;anfuehrungszeichen?
2130 (NULL)anfz;ja
2140 str$#$8f;token fuer rem
2150 (NULL)zeile
2160 rem lies;auf zeilenende
2170 (NULL)rem;warten
2180 (NULL)nz;0 schreiben, neue zeile
2190 anfz lies
2200 (NULL)nz;neue zeile
2210 schreib
2220 str$#$22;anfuehrungszeichen
2230 (NULL)anfz;nein
2240 (NULL)zeile
2250 anfang1 (NULL)anfang
2260 ;ende
2270 run mid$variablen
2280 (NULL)
2290 (NULL)basic
2300 (NULL)251
2310 mid$variablen+1
2320 (NULL)basic+1
2330 (NULL)252
2340 textclosetext1
2350 (NULL)start
2360 (NULL)binden
2370 mid$$22
2380 peek$23
2390 (NULL)
2400 val#2
2410 (NULL)variablen
2420 (NULL)
2430 val#0
2440 (NULL)variablen+1
2450 mid$variablen
2460 (NULL)
2470 (NULL)basic
2480 (NULL)253
2490 mid$variablen+1
2500 (NULL)basic+1
2510 (NULL)254
2520 len253
2530 mid$254
2540 (NULL)intfac
2550 (NULL)facarg
2560 mid$252
2570 len251
2580 (NULL)intfac
2590 (NULL)div
2600 (NULL)mal10
2610 (NULL)mal10
2620 (NULL)printfac
2630 textclosetext2
2640 (NULL)ready
2000 text1 not"bitte warten
2005 [165]$0d,$91,$00
2010 text2 [168]"% sind uebrig.
2015 fn$0d,$00