★ APPLICATIONS ★ PROGRAMMATION ★ Prozeduren unter BASIC auf dem CPC 6128|CPC Amstrad International) ★![]() |
| Der Namensgeber (CPC Amstrad International) | Applications Programmation |
Unterprogramme kommen wohl in allen BASIC- Programmen vor, zudem meisten noch in artenreicher Vielfalt. Dem Programmierer bleibt bei solchen Programmen eigentlich nur eins übrig, er muß sich alle Zeilennummern, in denen ein solches Unterprogramm beginnt, merken oder aufschreiben, falls die Routine mehrmals angesprungen werden soll. Wie oft sieht man da neidisch zu seinen Kollegen von der PASCAL- Programmierung, wenn diese ihre Prozeduren einfach mit dem Namen aufm len. Um den Unterprogramm-Freaks unter Ihnen etwas unter die Arme zu greifen, wurde dieses Hilfsprogramm zum Benennen von Unterroutinen geschrieben. Es ermöglicht Ihnen Unterprogramme, ähnlich wie in PASCAL, mit einem Namen zu versehen und innerhalb des BASIC-Programmes mit diesem Namen aufzurufen. Die Programmbeschreibung Mit dem Befehl |PROCEDUR , " < name > " definieren Sie eine Prozedur, also ein Unterprogramm, mit dem Namen < name > . Hierbei wird zwischen Groß- und Kleinschreibung unterschieden. Nach dem PROCEDUR- Befehl programmieren Sie normal Ihr Unterprogramm und beenden dieses mit RETURN. Als nächstes geben Sie eine Zeile mit einem Hochkomma ' und dem Befehlswon ENI) in Großschrift ein, die die Routine abschließt. Aufgerufen wird diese Routine mit |CALL,"< name > " , wobei Sie bitte auf Groß- und Kleinschreibung achten. Der letzte neue Befehl heißt |CLEAR Er löscht sämtliche Prozedurdefinitionen, jedoch nicht die Prozeduren selbst. Ein Beispiel Damit Sie etwas Übung mit den neuen Befehlen bekommen, hier nun ein Beispiel. Das Ausrufezeichen steht wieder für den RSX-Strich:
Wichtig ist, wie Sie auch aus dem Beispielprogramm ersehen können, daß die Prozeduren am Anfang des Programmes stehen, sie müssen vor dem ersten Aufruf definiert werden. Begrenzte Anzahl von Prozeduren Mit dieser BASIC-Erweiterung läßt sich allerdings nur eine bestimmte Anzahl von Prozeduren definieren und verwalten, dies hängt von der Länge der jeweiligen Prozedurnamen ab. In diesem Falle bricht das Programm mit der Meldung MEMORY OVERFLOW. CAN'T DEFINE PROCEDURE ab. Um Platz für mehr Prozeduren zu schaffen, müssen Sie das Assem-blerlisting abtippen und mit einer kleineren Startadresse assem-blieren. Die BASIC-Erweiterung verwendet den Bereich zwischen! dem Ende des Maschinenprogrammes und &A600 als Tabelle, in der die Namen und Adressen aller definierten Prozeduren abgelegt werden. Wenn dieser Bereich nicht vollständig zur Verfügung steht, muß die Anweisung “ENDMEM EQU #A600” entsprechend geändert werden. Wenn zu einer |PROCEDURE-Anweisung kein END gefunden wird, bricht der Computer das Programm ebenfalls mit einer Fehlermeldung namens CAN'T FIND END OF PROCEDURE ab. Die letzte Fehlermöglichkeit wäre, daß eine mit |CALL," < name>” aufgerufene Prozedur nicht vorhanden oder noch nicht definiert ist. In diesem Fall wird mit der Meldung CAN'T FIND PROCEDURE das Programm abgebrochen.
|
Page créée en 268 millisecondes et consultée 1245 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. |