APPLICATIONSPROGRAMMATION ★ Pascal-Compiler v2.0 ★

Pascal - Compiler v2.0 (CPC Amstrad International)Applications Programmation
★ 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 ★ 

Der folgende Miniatur Pascal Compiler ermöglicht es Ihnen, im begrenzten Umfang, ein wenig mit der Sprache zu experimentieren, und kann unter Umständen sogar eine Hilfe bei der Entwicklung kurzer MC-Programme sein.

Folgende Befehle stehen zur Verfügung:

  • WRITE
  • CHR
  • PAGE (OUTPUT)
  • FILLSCREEN
  • MOVE
  • ORIGIN
  • PLOTR
  • CURSOR OFF
  • UP
  • FRAME
  • POKE
  • PEEK
  • IF-THEN
  • PROCEDURE
  • FORDO
  • WRITELN
  • GOTOXY
  • PENCOLOR
  • SETINK
  • MOVETO
  • PLOT
  • CURSOR ON
  • INVERSE
  • DOWN
  • GET
  • DOKE
  • DEEK
  • REPEAT-UNTIL
  • PROGRAMM

Dabei gelten für die einzelnen Befehle folgende Regeln: Bei den Befehlen SETINK, FILLSCREEN und PENCOLOR dürfen keine Variablen verwendet werden. Die Argumente müssen als Wert angegeben werden. Alle anderen Befehle, sofern Argumente benötigt werden, erlauben die Verwendung von Variablen im Format (VAR1,VAR2). Zahlen werden im Format (N1,N2) verwendet. Es ist nicht möglich Variablen und Zahlen gleichzeitig bei einem Befehl zu verwenden. Alle Zuordnungen in Pascal erfolgen mit dem Zeichen: = . An eine Variable können Zahlen und Argumente übergeben werden, z.B. a:=255; oder a:=peek(49152); oder auch a:=peek(f);.

Als Rechenoperationen wurden Addition und Subtraktion implementiert. Von einer Variable kann man entweder eine Zahl oder eine andere Variable subtrahieren bzw. addieren. Auch hier wird als Zuordnungszeichen das := benutzt.

Die Befehle IF-THEN und UNTIL sind keine Zuordnungen, also entfallt der Doppelpunkt und die Syntax dieser Befehle ist wie folgt:

IF a=b THEN BEGIN, und UNTIL a=b. Bei dem Befehl IF-THEN sind die Vergleichsoperatoren = und < > erlaubt. Bei REPEAT-UNTIL ist nur das = Zeichen zugelassen.

Beim IF-THEN-Befehl muß ein BEGIN folgen und die Anweisungskette nach der IF-Anweisung muß mit END abgeschlossen werden. Bei der REPEAT-UNTIL-Schleife wird auf die BEGIN-Anweisung verzichtet. Der UNTIL-Befehl gibt die Abbruchbedingung für die REPEAT-UNTIL-Schleife an, und es ist darauf zu achten, daß diese Bedingung auch irgendwann mit Sicherheit eintritt. Dieser Befehl ermöglicht es auch, Schleifen mit negativen Schritten zu programmieren. Anders als bei der FOR-DO-Anweisung, die lediglich positive Schritte erlaubt. Der erste Befehl nach FOR-DO muß BEGIN sein und die Anweisungskette muß genau wie beim IF-THEN-Befehl mit END; abgeschlossen werden.

Der Befehl WRITE entspricht dem BASIC-Befehl PRINT ohne Zeilenvorschub, WRITELN bewirkt das gleiche, fuhrt allerdings nach dem Schreiben noch einen Zeilenvorschub aus. Will man nun Text eingeben, muß vor Textbeginn und Textende ein Apostroph ('TEXT'); stehen. Fehlt es, wird das Zeichen als Variable interpretiert und der entsprechende Wert ausgegeben.

Der Befehl CHR gibt das ASCII-Zeichen des Wertes aus, der als Argument vorgegeben wird. Mit GOTOXY kann man den Textcursor an die angegebene Bildschirmposition setzen. Der Bildschirm wird mit PAGE(OUTPUT) gelöscht.

PENCOLOR setzt die Penfarbe, FILLSCREEN die Pfcperfarbe und mit SETINK kann einer INK ein Wert zugewiesen werden. Die Befehle MOVE und MOVETO entsprechen dem BASIC-Äquivalent PLOT und PLOTR. ORIGIN, PLOT, PLOTR, POKE und PEEK haben die gleiche Funktion wie die entsprechenden BASIC-Befehle.

Der DOKE-Befehl ermöglicht es, in zwei Adressen einen Wert von 0 bis 65535 abzulegen. DEEK liest einen Wert aus zwei Speicherstellen. Die beiden letzten Befehle können mit Variablen arbeiten, da diese Integerzahlen von 0 bis 65535 verwalten können. Der DEEK-Befehl erhält seine Zuweisung ebenfalls über :=.

Einige Hilfsbefehle sollen das Programmieren erleichtern. Die Befehle UP und DOWN scrollen in die jeweilige Richtung. Mit den Befehlen CURSOR ON bzw. CURSOR OFF kann der Cursor an der aktuellen Position aktiviert werden. Nach dem Befehl INVERSE wird die Textausgabe so lange invertiert, bis der Befehl erneut ausgeführt wird. Der Befehl FRAME wartet auf den Strahlrücklauf des Bildschirms und verhindert so lästiges Flackern. Zur Tastaturabfrage dient der Befehl GER (VAR). Der Variable wird der ASCII-Wert der gedrückten Taste zugeordnet.

Zu Beginn des Listings muß der Befehl PROGRAMM gefolgt von dem Namen des Programms stehen. Der letzte Befehl muß

auf jeden Fall ein END sein. Die meisten Befehle werden mit einem Semikolon abgeschlossen. Ausnahmen bildet hierbei die BEGIN-Anweisung bei Prozeduren, FOR-DO-Anweisungen und die FOR-DO Schleife selber.

Das Programm wird über den Editor des Schneiders im Zeilenbereich 1-19999 eingegeben. Auf jede Zeilennummer muß ein SPACE, ein Apostroph und erneut ein SPACE folgen. Pro Zeile darf nur ein Befehl verwendet werden. Es ist möglich FOR-DO Schleifen, IF-THEN-Anweisungen und den REPEAT-UNTIL-Befehl zu schachteln und zwar in jeder beliebigen Reihenfolge.

In einer Schachtelung dürfen bis zu zehn Anweisungen der einzelnen Befehle geschachtelt werden, insgesamt also über 30 Schachtelungen. Diese große Anzahl ist allerdings sehr unübersichtlich und daher nicht zu empfehlen. Nachdem das Programm compiliert ist, kann es mit CALL
35060 aufgerufen werden. Hier zur Verdeutlichung ein Beispielprogramm:

10 ' PROGRAM test;
20 ' PROCEDURE enter;
30' BEGIN
40' b: = 13;
50' IF a=b THEN BEGIN;
60' CHR(13);
70' CHR(10);
80' END;
90' END;
100 ' BEGIN;
110'c: =252;
120 ' REPEAT
130 ' CURSOR ON;
140 ' GET(a) ;
150 ' CURSOR OFF;
160' ENTER;
170 ' IF a< > 13 THEN BEGIN;
180' CHR(a);
190' END;
200' UNTIL a=c;
210 ' END.

CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1987
★ CONFIG: ???
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1987
★ AUTHOR: R.Brinkmann
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RB-Pascal-Compiler  v2.0    (CPC  Amstrad  International)    GERMANDATE: 2013-01-02
DL: 295
TYPE: ZIP
SiZE: 9Ko
NOTE: 40 Cyls
.HFE: Χ

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

Lien(s):
» Applications » Enlarged-Height Character Generator (Amstrad Computer User)
» Applications » DAMS (Keypad patched version)
» Applications » TURBO Pascal option graphique
» Applications » Montrac
» Applications » Microsoft Basic Compiler
» Applications » Symbol Poker (Compute Mit)
Je participe au site:
» 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 215 millisecondes et consultée 1736 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.