CODINGCLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★

4/5.4 - Edition des programmes écrits en ForthCoding Classeurs Weka
4/5.4 - Edition des programmes écrits en Forth

Jusqu'à présent, nous nous sommes contentés de définir des mots depuis le clavier. Mais si nous voulons modifier une définition, il faut la retaper entièrement. Si cela n'est guère gênant pour une première phase visant à l'apprentissage de Forth, il n'en est plus de même pour un programme plus conséquent. Comme tous les autres langages, Forth permet la sauvegarde des programmes source dans des fichiers.

I. Création d'un fichier de blocs

Les programmes écrits en Forth sont sauvegardés dans des biocs de 1 024 caractères constitués de 16 lignes comprenant 64 caractères. Un fichier contiendra au moins deux blocs. Pour créer un fichier destiné à éditer votre travail, il faut utiliser le mot CREATE-FILE précédé du nombre de blocs à initialiser dans le fichier :

10 CREATE-FILE TRAVAIL.BLK

crée un fichier nommé TRAVAIL.BLK de 10 blocs de longueur numérotés de 0 à 9. L'ouverture du fichier est ensuite activée par le mot OPEN suivi du nom du fichier à ouvrir :

OPEN TRAVAIL.BLK

Si vous disposez d'un second lecteur de disquette, vous pouvez traiter un fichier provenant du second lecteur :

10 CREATE-FILE B:TRAVAIL.BLK OPEN B:TRAVAIL.BLK

L'exécution de OPEN crée un mot dans le dictionnaire nommé TRAVAIL.BLK ou B:TRAVAIL.BLK. Si ce mot existe déjà, le mot n'est pas recréé. Pour rouvrir ultérieurement ce fichier, il suffira, au cours d'une même session de travail en FORTH, de taper TRAVAIL.BLK.

La taille maximale d'un fichier créé par CREATE-FILE dépend de l'espace mémoire disponible sur le disque courant (A: ou B:).

II. Edition d'un bloc

Dès qu'un fichier est ouvert, on peut visualiser son contenu en exécutant le mot LIST précédé du numéro du bloc concerné. Le numéro du bloc doit être compris entre 0 et la valeur délivrée par l'exécution de CAPACITY moins une unité :

OPEN TRAVAIL.BLK

CAPACITY 1 - . affiche 9

Pour le fichier TRAVAIL.BLK, le numéro du bloc auquel on désire accéder doit être situé entre 0 et 9.

Comme notre fichier ne contient encore aucun programme, passons directement en édition en exécutant le mot EDIT précédé du numéro de bloc à éditer :

1 EDIT

III. Résumé des commandes d'édition

A. COMMANDES DE BLOCS

  • A Fonction de bascule entre le bloc courant et le bloc commentaire associé.
  • B Appelle comme bloc courant le bloc précédent
  • DONE Sortie du mode éditeur avec mise à jour du fichier
  • ED Edite le bloc courant
  • n EDIT Edite le bloc numéro n
  • L Liste le bloc courant
  • n LIST Liste le bloc numéro n
  • N Appelle comme bloc courant le bloc suivant
  • QUIT Sortie de l'éditeur sans sauvegarde des modifications du contenu du bloc
  • W Sauvegarde sur disque le contenu du bloc courant
  • WIPE Efface le contenu du bloc courant en totalité

B. COMMANDES DE CURSEUR

  • n C Déplace le curseur de n caractères vers la droite si n est positif, de n caractères vers la gauche si n est négatif
  • n +T Déplace le curseur de n lignes depuis la ligne courante
  • n T Positionne le curseur au début de la ligne n
  • TOP Positionne le curseur au début de la ligne 0
  • n NEW Commande combinant de manière répétitive les commandes T et P

C. MANIPULATION DE TEXTE

  • D txt Cherche le texte et l'efface
  • E txt Efface le texte trouvé par F ou S
  • F txt Cherche le texte dans le bloc courant et place le curseur à la suite
  • I txt Insère le texte à la suite du curseur
  • O txt Surimpressionne le texte à la suite du curseur
  • P txt Remplace le texte sur la ligne courante
  • R txt Remplace le texte trouvé par F ou S
  • n S txt Cherche le texte jusqu'à l'écran n ou à la fin du fichier et place le curseur à sa suite

IV. Sélection d'un terminal

F83 est étudié pour fonctionner sur de nombreux types de terminaux :

HEAT ; FALCO ; TELEVIDEO
QUME ;ANSI ;PERKIN
DUMB

C'est le dernier terminal qui est sélectionné par défaut. Dans cette configuration, votre Amstrad réagira comme un terminal télétype, ce qui n'est pas très pratique.
Selon que vous disposez d'un Amstrad CPC ou PCW, il faut sélectionner un de ces terminaux en tapant simplement son nom. Pour initialiser correctement les attributs de positionnement du curseur pour les Amstrad de type CPC, il faut en plus compiler ces définitions :

: LOCATE 31 EMIT EMIT EMIT ;
' LOCATE IS AT
: CLS 12 EMIT #LINE OFF #OUT OFF ;
' CLS IS DARK

Ces définitions peuvent être sauvegardées définitivement sous forme compilée en tapant BYE ; prenez note du nombre de pages affiché après exécution de BYE. Sous CP/M, tapez ensuite :

nn SAVE NF83.COM où nn est la valeur affichée après exécution de BYE.

Pour revenir sous Forth, il suffit maintenant de taper NF83. Vos définitions compilées ont été conservées, vos sélections exécutées avant BYE restent opérationnelles.

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 374 millisecondes et consultée 1302 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.