CODINGCLEFS POUR AMSTRAD 1 ★ Système de base par Daniel Martin ★

Clefs1 03 - Instructions BasicCoding Clefs Pour Amstrad 1

INSTRUCTIONS BASIC
AFTER ; AFTER X,[Y] GOSUB N

Appelle un sous-programme après avoir attendu X cinquantièmes de seconde. Y, facultatif, indique quel chronomètre doit être utilisé. Il y en a quatre, numérotés de 0 à 3. Si Y n'est pas précisé, il est supposé être égal à 0.

AUTO ; AUTO [N],[X]


Numérote automatiquement les lignes d'un programme en commençant par la ligne N avec X comme incrément. Par défaut, N et X valent 10.

BORDER ;BORDER X,[Y]

X et Y représentent des numéros de couleurs (0 à 26). Permet de changer la couleur du bord de l'écran. Si Y est précisé, les deux couleurs alternent à la vitesse déterminée par la commande SPEED INK.

CALL CALL ADR[,liste de paramètres]

Commande utilisée en Basic pour faire appel à un sous-programme en langage machine situé à l'adresse ADR. On peut passer une liste de paramètres à ce sous-programme.

CAT ;CAT

Lit la cassette et donne les noms des fichiers trouvés sans effacer le programme qui se trouve en mémoire centrale.

CHAIN ; CHAIN nom[,N]

Charge un programme de la cassette vers la mémoire centrale en supprimant celui qui s'y trouve déjà, puis l'exécute en commençant par la ligne numéro N, ou si N n'est pas précisé, par la ligne portant le plus petit numéro.

CLEAR ;CLEAR

Efface les contenus de toutes les variables et de tous les fichiers.

CLG ;CLG

Efface l'écran graphique.

CLOSEIN ; CLOSEIN

Ferme un fichier sur cassette ouvert en entrée.

CLOSEOUT ; CLOSEOUT

Ferme un fichier sur cassette ouvert en sortie.

CLS ;CLS [#n]

Nettoie l'écran ou là fenêtre d'écran et le laisse coloré dans la couleur définie par la dernière instruction PAPER, n est un numéro de canal compris entre 0 et 7 et correspond à l'écran défini par l'instruction WINDOW.

CONT ; CONT

Poursuit l'exécution d'un programme après STOP, END ou *break* pour autant que le programme n'ait pas été modifié.

DATA ;DATA donnée 1,donnée2,donnée3,...

Permet de stocker dans un programme une liste de constantes lues par la fonction READ.

DEF FN ; DEF FNf[(X,..)]=expr

Permet de définir une fonction utilisateur ; f représente le nom de la fonction, (X,..) ses paramètres formels et expr son expression générale.

DEFINT ; DEFINT X-Y ; DEFINT X,Y,...

Définition d'un ensemble de variables dans la plage X-Y ou suivant la liste X,Y,... comme étant de type ENTIER.

DEFREAL ; DEFREAL X-Y ; DEFREAL X,Y,...

Définition d'un ensemble de variables dans la plage X-Y ou suivant la liste X,Y,... comme étant de type SIMPLE PRECISION.

DEFSTR ; DEFSTR X-Y ; DEFSTR X,Y,...

Définition d'un ensemble de variables dans la plage X-Y ou suivant la liste X,Y,... comme étant de type ALPHANUMERIQUES (chaînes de caractères).

DEG ; DEG

Etablit le mode de calcul en degrés. En standard, les fonctions sinusoi'des utilisent les radians pour les données numériques. La commande DEG est désactivée par les commandes CLEAR et RAD ou par le chargement d'un autre programme.

DELETE ; DELETE (N1.N2,...) DELETE N1-N2

Efface du programme contenu en mémoire centrale soit la série de lignes (N1.N2,...), soit les lignes comprises entre la ligne portant le numéro NI et la ligne portant le numéro N2«

DI ; Arrêt des interruptions. Toutes les commandes

générant des interruptions, à l'exception du BREAK, deviennent inopérantes.

DIM ; DIM var(n) DIM var{n1,n2,..),var(n1,n2,..)

Dimensionnement d'un tableau (var) de 1 à N dimensions. Par défaut, une variable est automatiquement dimensionnée à 10 (var(10)).

DRAW ; DRAW X,Y,A

Dessine une ligne sur l'écran à partir du curseur graphique vers la position de coordonnées (X,Y) avec la couleur numéro A.

DRAWR ;DRAWR X,Y,A

Dessine une ligne sur l'écran à partir du curseur graphique vers une position relative de (+X,+Y) par rapport à ce curseur graphique avec la couleur numéro A.

EDIT ; EDIT N

Passage en mode édition pour la ligne numéro N.

EI

Autorisation d'interruptions. Annule l'effet de la commande DI.

END ;END

Instruction de fin d'exécution d'un programme.

ENT ; ENT NE[,SE]

Enveloppe de ton. Permet d'introduire des vibratos sur la note : NE représente le numéro d'enveloppe (de 0 à 15) ; SE comprend trois nombres par section (compte de pas, taille de pas en fréquence, temps de pause), cinq sections peuvent être décrites.

ENV ; ENV NE[,SE]

Enveloppe de volume. Permet de définir le type de son : NE représente le numéro d'enveloppe (de 0 à 15) ; SE comprend trois nombres par section (nombre de pas, taille en volume du pas, temps pour chaque pas), cinq sections peuvent être décrites.

ERASE ; ERASE liste de noms de variables

Permet de libérer la place mémoire retenue par la commande DIM.

ERROR ; ERROR N

N représente un nombre entier. Permet de repérer un type d'erreur déterminé et de décider d'une action définie lorsqu'elle a lieu.

EVERY ; EVERY N,M GOSUB NL

Signifie : tous les N centièmes de seconde, comptés sur le chronomètre numéro M, effectuer le sous-programme situé à la ligne numéro NL. Quatre chronomètres sont disponibles et numérotés de 0 à 3. Cette commande permet de faire appel à un sous-programme à intervalles réguliers.

FOR ; FOR var=D to F [STEP P]

Introduit une boucle. Toutes les instructions, comprises entre FOR var=D to F [STEP P] et le NEXT var correspondant, seront répétées pour toutes les valeurs de war allant de D à F par pas de P (si P n'est pas spécifié, de 1 en 1):
10 FOR I=1 TO 20 STEP 2
20 PRINT I," ",I*I
30 NEXT I

GOSUB ;GOSUB NL

Appelle le sous-programme situé à la ligne portant le numéro NL.

GOTO ; GOTO NL

Effectue un saut à la ligne portant le numéro NL.

IF ; IF condition THEN instruction

Effectue l'instruction qui suit le THEN si la condition suivant IF est remplie. IF A=3 THEN GOSUB 1000

INK ; INK encre,couleur[,couleur]

Suivant le MODE choisi pour l'écran, un certain nombre d'encres (e) est possible. INK permet de changer la couleur d'encre (encre) et la couleur de fond (couleur). Si l'on spécifie deux couleurs de fond, elles alterneront tous les cinquantième de seconde.

INPUT ; INPUT [#numéro de canal,][; ][chaîne; ]


; liste de variables
; INPUT [#numéro de canal,][;][chaîne, ]
; liste de variables

Lit les données venant du canal précisé et les affecte aux différentes variables nommées. Le premier [;] supprime le passage à la ligne à la fin de ce que l'on tape. Le ";", après la chaîne, fait apparaître un ? tandis qu'une "," fait apparaître le message "?redo from start" lorsque l'on a frappé quelque chose de faux. Quand un canal cassette est précisé, il n'y a pas d'invite. Un élément du fichier sera affecté à chaque variable de la liste.

KEY ; KEY nombre entier,chaîne de caractères

Permet de définir une nouvelle touche de fonction. Le nombre entier définit la touche à laquelle sera affectée la chaîne de caractères. 11 vaut de 128 à 140, la touche 0 du clavier est désignée par le nombre 128, la touche 1 par 129 ..., la touche 9 par 137, la touche "." par 138, la touche "ENTER" par 139 et les touches "CTRL" et "ENTER" ensemble par 140.
Exemple
KEY 132,"RUN"+CHR$(13)
Associe à la touche 4 du clavier numérique la commande RUN suivie d'"ENTER".

KEY DEF ; KEY DEF numéro de touche,répétition,num caractère

Change la valeur produite par une touche. KEY DEF 45,1,65 fait afficher A à la touche J en permettant la répétition lorsque l'on continue à pousser dessus.
KEY DEF 46,0,63 fait afficher ? à la touche N sans permettre la répétition.

LET ; LET variable=expression

Affecte à une variable le résultat de l'expression à droite du signe égal. LET A=500*3
En Basic AMSTRAD, on peut bien entendu se contenter d'écrire A=500*3. LET est utilisé seulement dans le cas où on désire qu'un programme reste compatible avec d'anciens programmes.

LINE INPUT ;LINE INPUT [#numéro de canal,][;]


;[chaîne;]variable

LINE INPUT "NOM";A$
Lit une ligne entière du canal indiqué (0 par défaut). Lorsqu'une virgule se trouve dans la variable, elle y reste inclue alors qu'un simple INPUT aurait scindé la variable à cet endroit.

LIST ;LIST [numéros de lignes][ ,#numéro de canal]

Liste le programme sur le canal désiré. 0 correspond à l'écran et 8 à l'imprimante. On peut arrêter le défilement sur écran en poussant ESC une fois et continuer en appuyant sur une autre touche. En appuyant deux fois sur ESC, on retourne au mode direct.

LOAD ;LOAD [nom de fichier][.adresse]

Charge un programme Basic de la cassette vers la mémoire centrale en remplaçant tout ce qui s'y trouvait déjà. Dans le cas d'un programme binaire, on peut spécifier l'adresse de chargement.

LOCATE ;LOCATE [#n° de canal,]X,Y

Place le curseur de texte à la position de coordonnées (X,Y) relative à l'origine de la fenêtre d'écran (WINDOW). Le point de coordonnées (1,1) est le point situé dans le coin supérieur gauche de la fenêtre.

MEMORY ;MEMORY adresse

Permet de redéfinir l'adresse de l'octet le plus élevé dans l'espace mémoire utilisé par le Basic. En standard, cet octet se trouve à l'adresse AB7F.

MERGE ; MERGE ["nom de fichier"]

Identique à LOAD, mais n'effectue pas de NEW avant le chargement du programme. Si des numéros de ligne sont identiques, leur contenu devient celui du nouveau programme. Si le nom du fichier n'est pas précisé, le premier programme rencontré sera lu. Un programme sur cassette, précédé du signe "!", est protégé et ne sera donc pas lu.

MODE ; MODE N

Permet de changer de mode écran (N=0, 1 ou 2). Efface l'écran et se met en INKO, quel que soit le PAPER INK utilisé à ce moment. Lors de cette commande, toutes les fenêtres de texte et de

graphique sont retournées à l'écran entier, tandis que les curseurs retournent à leur point d'origine.

MOVE ; MOVE X,Y

Positionne le curseur graphique à la position absolue de coordonnées (X,Y).

MOVER ; MOVER X,Y

Positionne le curseur graphique à une position de coordonnées (X,Y) relative à la position actuelle.

NEW ; Nettoie la mémoire.

Les programmes et variables disparaissent, mais les définitions des touches (KEY) et l'affichage restent.

NEXT ; FOR 1=1 TO 10 : NEXT [I]

Détermine la fin d'une boucle commencée par FOR.

ON...GOTO ; ON n GOTO liste de numéros de lignes
ON...GOSUB ;ON n GOSUB liste de numéros de lignes

Pour ON A GOTO 100,110,130,132,170,300,320,1000 :
si A=1, le branchement se fera à la ligne 100
si A=2, le branchement se fera à la ligne 110
si A=7, le branchement se fera à la ligne 320,...

ON BREAK GOSUB ON BREAK GOSUB numéro de ligne

Appelle un sous-programme lorsqu'il y a un BREAK en cours de programme. Un BREAK s'effectue en appuyant deux fois consécutives sur la touche ESC.

ON BREAK STOP

Annule l'effet de l'instruction ON BREAK GOSUB.

ON ERROR GOTO ON ERROR GOTO numéro de ligne

Branche l'exécution à la ligne précisée lorsqu'une erreur se produit.

ON SQ GOSUB ;ON SQ (n) GOSUB nl

Exécute la sous-routine située à la ligne ni lorsque la queue correspondant au canal sonore (n) n'est plus pleine, (n) ne peut valoir que 1, 2 ou 4 correspondant aux canaux respectifs A, B ou C.

OPENIN ; OPENIN "nom de fichier"

Ouvre un fichier cassette pour permettre au programme présent en mémoire centrale d'utiliser les données qui s'y trouvent. Si le nom du fichier est précédé d'un "!", les messages habituels de manipulation de la cassette n'apparaissent pas et le programme lit directement le premier bloc du fichier.

OPENOUT ; OPENOUT "nom de fichier"

Ouvre un fichier sur cassette pour permettre au programme d'aller y déposer des données. Si le nom du fichier est précédé d'un "!", les messages habituels de manipulation de la cassette n'apparaissent pas. Le programme crée, de suite, son premier bloc de transfert (buffer) de 2 K et rien n'est écrit sur la cassette tant que le buffer n'est pas plein ou qu'une commande CLOSE-OUT n'a pas fermé le fichier.

ORIGIN ORIGIN X,Y [,G,D,H,B]

Détermine les coordonnées (X,Y) du point de départ du curseur graphique. Les éléments optionnels G,D,H,B permettent de définir une nouvelle fenêtre.

OUT ; OUT numéro de port, nombre entier

Envoie le nombre entier vers le port spécifié. Le nombre entier peut être compris entre 0 et 255 et le numéro du port entre 0 et 65535.

PAPER ; PAPER [#n° du canal,] n° d'encre

Définit la couleur de fond des prochains caractères qui seront écrits sur l'écran.

PEN ;PEN [#n° de canal,] n° d'encre

Définit la couleur des prochains caractères qui seront écrits sur l'écran.

PLOT ;PLOT X,Y [,n° d'encre]

Affiche, à l'écran, le point de coordonnées (X,Y) dans la couleur précisée par n° d'encre ou, à défaut, dans la couleur utilisée précédemment.

PLOTR ; PLOTR X,Y [,n° d'encre]

Affiche, à l'écran, le point de coordonnées (X,Y) relatives à la position du curseur. On peut choisir sa couleur.

POKE ; POKE adr,donnée

Inscrit Iâ donnée à l'adresse précisée.

PRINT ; PRINT [cn° du canal,] données

Imprime les données sur le canal précisé (0 = écran par défaut).
PRINT USING permet de spécifier différents formats d1impression.

RAD

Etablit le mode en RADIANS.

RANDOMIZE ; RANDOMIZE [N]

Fixe la séquence des nombres pseudo-aléatoires à partir de N, N étant un nombre entier compris entre 0 et G5535. Par défaut, N est égal à 0.

READ ; READ liste de variables

Lit les données contenues dans les lignes de OATAs *t les affecte aux différentes variables précisées.

RELEASE ; RELEASE canaux sonores

Permet de libérer un canal sonore en état d'attente.

REM

Introduit une ligne de commentaires.

RENUM ; RENUM [nnl,][anl, ][d]

Renumérote les lignes du programme présent en mémoire centrale, nnl = nouveau numéro de ligne, vaut 10 par défaut ; anl = ancien numéro de ligne, vaut le numéro de la première ligne de programme par défaut ; d = différence entre deux lignes, vaut 10 par défaut.

RESTORE ; RESTORE [numéro de ligne]

Définit la ligne à laquelle doit commencer la lecture des DATAs. Si aucun numéro de ligne n'est spécifié, la lecture commence à la première ligne contenant des DATAs.

RESUME RESUME [numéro de ligne de redépart]

Permet à l'exécution du programme de continuer à partir de la ligne de redépart, après qu'une erreur ait été décelée et corrigée par une commande ON ERROR GOTO.

RETURN

Retour au programme principal, après l'appel d'un sous-programme, au moyen de l'instruction G05UB...

RUN ;RUN [numéro de ligne]

Exécute le programme présent en mémoire centrale à partir de la ligne dont le numéro est spécifié ou, à défaut, à partir de la ligne portant le plus petit numéro. RUN "nom de programme"
Charge le programme spécifié qui est sur cassette et commence son exécution. Si on ne met pas de nom de programme (RUN ""), le Basic charge et exécute le premier programme rencontré sur la cassette.

SOUND ; SOUND canal,période[,durée[,volume[,enveloppe de volume[,enveloppe de ton]]]]

Produit le son spécifié.

Canal : les trois canaux A, B et C peuvent être sélectionnés ensemble, deux à deux ou séparément. Pour plus de compréhension, voir les explications au sujet du CHIPS AY3-8912. Période : prend les valeurs comprises entre 0 et 4095. La fréquence du son s'obtient en divisant 125.000 par la période.
Durée : peut prendre les valeurs comprises entre -32768 et +32767. Prend la valeur 20 par défaut. Si la durée a une valeur positive, elle représente un nombre de centièmes de seconde ; si elle a une valeur négative, elle représente le nombre de répétitions d'enveloppes de volume complètes.
Volume : prend une valeur comprise entre 0 et 15. Par défaut, il prend la valeur 12 si une commande ENV a été formulée et la valeur 4 sinon.
Enveloppe de volume : peut prendre une valeur comprise entre 0 et 15 (0 par défaut) et indique le type d'enveloppe définie par l'instruction ENV.
Enveloppe de ton : peut prendre une valeur comprise entre 0 et 15 (0 par défaut) et indique le type de l'enveloppe de ton définie par la commande ENT.

SPEED INK ; SPEEK INK nombre entier, nombre entier

Permet de modifier la vitesse d'alternance des deux couleurs de fond dans le cas où l'on a défini deux couleurs lors de la commande INK : 10 INK 0,1,9 20 SPEED INK 100,20

SPEED KEY ; SPEED KEY attente, période de répétition

Permet de régler le temps pendant lequel on doit pousser sur une touche pour qu'elle se répète (attente) et la vitesse de répétition (période de répétition). Ces réglages se font au cinquantième de seconde avec une valeur par défaut de 10,10.

SPEED WRITE SPEED WRITE n

n = 1 ou 0
Permet de modifier la vitesse d'enregistrement d'un programme sur cassette. Au moment de la lecture (LOAD), le CPC464 établit automatiquement la vitesse correcte de lecture. Pour n = 0, la vitesse d'écriture sera de 1000 baud ; pour n = 1, elle sera de 2000 baud. Par défaut, n = 0.

STOP

Permet de stopper l'exécution d'un programme tout en laissant à l'utilisateur la possibilité de le continuer au moyen de la commande C0NT.

SYMBOL ; SYMBOL numéro du caractère, liste de caractères

Permet de redéfinir le caractère dont le numéro est indiqué. On peut redéfinir tous les caractères compris entre 240 et 255. Si on désire en redéfinir d'autres, voir la commande SYMBOL AFTER.

SYMBOL AFTER SYMBOL AFTER nombre entier

Fixe le nombre de caractères que l'on désire redéfinir. Vaut 240 en standard.

TAG ; TAG [#numéro de canal]

Permet d'inscrire des caractères à la position du curseur graphique. Des textes pourront ainsi être mélangés à des graphiques.
10 MOVE 200,300
20 PRINT "COUCOU"
30 TAG
40 PRINT "BONJOUR"
"COUCOU" s'inscrira à la position du curseur de texte tandis que "BONJOUR" s'inscrira à la position du curseur graphique (200,300).

TAGOFF ;TAGOFF [#numéro de canal]

Annule les effets de la commande TAG sur le canal précisé (0 par défaut) et renvoie le texte là ou était le curseur de texte avant la commande TAG.

TRON ;Validation du mode TRACE

TROFF ; Dévalidation du mode TRACE

En mode TRACE, lors de l'exécution d'un programme, tous les numéros de lignes par lesquelles passe l'exécution apparaissent à l'écran. Ce mode est très utile lors de la mise au point d'un programme.

WAIT ;WAIT nPORT, octet de masque, octet de sélection

Permet d'attendre qu'une combinaison déterminée de bits présente sur un port atteigne une valeur déterminée. Cette instruction lit le contenu du port nPORT, lui applique une fonction ET LOGIQUE avec l'octet de masque, puis une fonction OU EXCLUSIF avec l'octet de sélection et ne rend la main au programme que lorsque le résultat est différent de 0. La fonction de masque permet d'isoler le ou les bit(s) à tester. La fonction de sélection permet d'inverser l'état à tester.

WEND

Termine la boucle commencée par la commande WHILE.

WHILE ; WHILE expression logique

WHILE X>2 exécutera les lignes de programme entre WHILE et WEND tant que l'expression logique sera vraie (ici, tant que X sera plus grand que 2). Le programme suivant :
10 X=4:Y=0
20 WHILE X<>Y
30 INPUT "combien font 2 et 2 ";Y
40 WEND
50 PRINT "bravo":END
fera exactement la même chose que le programme :
10 X=4
20 INPUT "combien font 2 et 2 ";Y
30 IF X<>Y THEN GOTO 20
40 PRINT "bravo":END
L'utilité des instructions WHILE et WEND n'est évidente que si l'on pratique la programmation structurée. En effet, un des principes de ce type de programmation est de proscrire les instructions de branchement (G0T0,..) afin de rendre les programmes plus lisibles.

WIDTH ; WIDTH nombre entier

Indique au programme Basic la largeur des lignes de l'imprimante en nombre de caractères.

WINDOW ; WINDOW [#n° de canal,] gauche, droite, haut, bas

Permet de définir une fenêtre de texte pour un canal donné de l'écran. Les canaux de 0 à 7 peuvent être utilisés pour définir des fenêtres de texte à l'écran.

WINDOW SWAP ; WINDOW SWAP numéro de canal, numéro de canal

Permet d'intervertir les contenus de deux fenêtres.

WRITE ;WRITE [#n° de canal,][liste à écrire]

Inscrit sur le canal précisé (0 par défaut) les expressions voulues sans rien changer à la ponctuation.
WRITE "COUCOU", 23, 5 écrira à l'écran : "COUCOU", 23, 5

XPOS

Donne l'abscisse (position horizontale) du curseur graphique.

YPOS

Donne l'ordonnée (position verticale) du curseur graphique.

ZONE ;ZONE nombre entier

Permet de modifier l'espace compris entre deux tabulations automatiques obtenues par une virgule. Cette tabulation vaut 13 par défaut. ZONE 2:PRINT 1,2,3

★ ANNÉE: ???
★ AUTEUR(S): ???

Page précédente : Clefs1 02 - Caracteristiques Generales
Je participe au site:

» 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 221 millisecondes et consultée 3344 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.