APPLICATIONSDIVERS ★ Schneider CPC 464: Das Speichern von Programmausschnitten ★

Super-Save (Compute Mit)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

In der Praxis kann es immer wieder Vorkommen, daß man nicht ein ganzes BASIC-Programm, sondern nur einen Ausschnitt davon abspeichern möchte. Bisher hat man diese Möglichkeit nicht gehabt, aber die folgende Routine ermöglicht jeden Anwender, daß Abspeichern einzelner Programmabschnitte. Mit diesem Programm läßt sich das bewerkstelligen.

Beim Schneider CPC 464 gibt es keinen Befehl, mit dem man aus einem längeren Programm einen Teil, etwa eine Subroutine, getrennt speichern kann, sowie umgekehrt der MERGE-Befehl funktioniert. Wenn man eine Subroutine von einem Programm in ein anderes kopieren möchte, müssen die nicht benötigten Programmzeilen manuell gelöscht werden. Das Utility, löst das Problem, denn beliebige Teile eines Programmes können auf Cassette oder Diskette abgespeichert werden! Das heißt, bereits in anderen Programmen geprüfte Subroutinen können ohne weiteres in ein neues Programm übernommen werden.

Wer einen Assembler hat, kann das Programm direkt eingeben, sonst muß man das BASIC-Programm abtippen und laufen lassen. Nachdem dann das BINÄR-File abgespeichert ist, wird das BASIC-Programm nicht mehr benötigt.
Will man nun aus einem Programm einen bestimmten Zeilen bereich abspeichern, so lädt man das Utility mit 'MEMORY &A8FF‘ und 'LOAD „S-SAVE.BIN“' dazu und Initialisiert es mit 'CALL &A600'.

Jetzt kann man den Zeilenbereich mit dem Befehl

↑(erste Zei len nummer), (zweite Zeilennummer),,,(Name)" ‘ abspeichern.

Programmbeschreihung:

Da die Art der RSX-Erweiterung nicht sonderlich übersichtlich ist und sie sich durch die umständliche Stringübergabe auszeichnet, bauen wir den Befehl ein, indem wir den ' Patch für Befehl ausführen1 auf diese Routine umbiegen. Dort wird getestet, ob der Hochpfeil eingegeben wurde. Wenn nicht, erfolgt der Rücksprung. (Bei dem Text in Zeile 70 kann an der Stelle von &F8 auch jeder andere Tokenwert über &DD eingetragen werden.)

In Zeile 90 wird die letzte Rücksprungadresse vom Stack geholt. Der Programmzeiger wird erhöht und die erste Zeilennummer geholt. Der Zeiger wird gerettet und in 130 wird versucht, die Zeilenadresse der Zeilennummer zu holen. Existiert die Zeile nicht so wird 'LINE DOES NOT EXIST4 ausgegeben und ins BASIC zurückgekehrt.

Ansonsten wird die Zeilenadresse abgespeichert und getestet ob ein Komma folgt. Ist die Bedingung nicht erfüllt, wird wieder zur Fehlerausgabe verzweigt.

Ab 210 wird die zweite Zeilennummer geholt und ebenfalls umgerechnet Dann wird noch die Zeilenlänge (in BC) addiert und in 250 abgespeichert Ab Zeile 260 beginnt der wichtigste Teil des Programmes. Zunächst werden die Pointer auf Programmanfang und -ende gesichert und dann die vorher berechneten Werte eingetragen.

Nun wird die ROM-Routine für 'SAVE' angesprungen und ganz normal ausgeführt, abgespeichert wird aber nur der von uns gewünschte Programmteil.

Im folgenden werden dann die alten Werte wieder hergestellt, der Programmzeiger vom Stack geholt und ins BASIC zurückgesprungen.

Bemerkenswert ist noch, daß zu dieser Zeit das obere ROM freigeschaltet ist.

Compute Mit

★ PUBLISHER: Compute Mit
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: COMPUTE MIT 1986
★ AUTHOR(S): ???
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Super-Save    (Compute  Mit)    GERMAN    LISTINGDATE: 2021-08-04
DL: 136
TYPE: PDF
SiZE: 172Ko
NOTE: 1 page/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Aqtext
» Applications » Textverarbeitung v5 (Schneider Aktiv)
» Applications » Apos Textprogramm
» Applications » Profi-RSX 4: Text Pack (CPC Amstrad International)
» Applications » Textking
» Applications » CPC-Minitext
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 419 millisecondes et consultée 585 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.