APPLICATIONSPROGRAMMATIONGAMESLIST ★ PASCAL - COMPILER V2.0|CPC AMSTRAD INTERNATIONAL) ★

Pascal-Compiler v2.0
★ 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
★ AUTHOR: R.Brinkmann

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RB-Pascal-Compiler  v2.0    (CPC  Amstrad  International)    GERMANDATE: 2013-09-03
DL: 72 fois
TYPE: ZIP
SIZE: 29Ko
NOTE: 40 Cyls
.HFE: OUI

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

Lien(s):
» Applications » Logo en Francais
» Applications » Assembleur Basic
» Applications » Disassembler (CPC Magazin)
» Applications » RSX - Programm-Tracer (CPC Amstrad International)
» Applications » Supersys
» Applications » CPC - Macro

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 931 millisecondes et consultée 844 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.