mc-test

DATA Generator

In manchen Fllen ist es vorteilhaft, ein Maschinenprogramm nicht getrennt, sondern zusammen mit dem Basic Programm zu laden, von dem es aufgerufen wird. Dann ist es am einfachsten, wenn dieses Maschinenprogramm als Folge von DATA Anweisungen vorliegt, die dann innerhalb des Basic Programms mit POKE Befehlen in den gewnschten Speicherbereich gebracht werden. Das Basic Hilfsprogramm im Bild gestattet es, auf einfache Weise ganze Serien solcher DATA Anweisungen aus einem im Speicher stehenden Maschinenprogramm zu generieren. Es ist unverndert auf allen Computern mit bildschirm   orientiertem Editor lauffhig (VC 20, C 64, CBM2/3/4/8000). Eine Besonderheit: Es errechnet nicht nur automatisch eine Prfsumme aller DATA Zahlen, sondern generiert auch gleich das spter erforderliche Programm zum Abspeichern der Maschinenroutine. Der Umgang mit dem Basic Hilfsprogramm ist denkbar einfach: Nach der Eingabe eines Programmnamens, der spter als REM Zeile aufgenommen wird, mu man Anfangs  und Endadresse des Maschinenrogramms angeben, ebenso die erste Zeilennummer des zu generierenden Programms. Dann werden die DATA Anweisungen auf den Schirm geschrieben. Geht man nun mit dem Cursor zur ersten Zeile zurck (Home) und drckt so oft die Return Taste, bis man unter der letzten Zeile angekommen ist, so steht das erzeugte DATA Programm im Speicher. Man mu lediglich darauf achten, da die erzeugten Zeilennummern hher als 90 sind, damit sie sich nicht mit denen des Generator Programms berschneiden.

10 INPUT"?PROGRAMMTITEL"; D$
15 INPUT"ADR VON (DEZ)";A:I=A
20 INPUT"ADR BIS (DEZ)";B
25 INPUT"ZEILEN NUMMER";C:N=C
30 PRINT "?"N" REM "D$"A"-"B
32 N=N+1:PRINT N;"DATA";:L=0
40 D=PEEK(I): D$=MID$(STR$(D),2)
45 PRINT D$;:S=S+D
50 L=L+LEN(D$)+1:I=I+1:IFI>BTHEN65
55 IF L<28 THEN PRINT",";:GOT040
60 PRINT:GOTO 35
75 PRINTN+1"S=0:FORI="A"TO"B" :READD"
80 PRINTN+2"POKE I,D:S=S+D:NEXT" 
85 PRINTN+3"IS<>"S$"THEN? "E$":STOP"
90 END

Listing des Generator Programms. Das inverse Herz ist das Steuerzeichen fr "Bildschirm  lschen"

mc 6/1983 Seite 29 Autor Feichtinger
Folgeartikel mc 3/1984 Seite 68