Section courante

A propos

Section administrative du site

Les premiers pas

Cette page décrit comment utiliser le système de langage ATARI Pascal contenu sur les disquettes PASCAL/LINKER et Pascal Compiler. Il couvre les informations suivantes :

Compiler, lier et exécuter un exemple de programme

Avant de compiler et d'exécuter l'exemple de programme décrit dans cette section, effectuez une copie de sauvegarde de toutes les disquettes incluses dans ce paquet.

Exemple de compilation de programme

La première étape

Placez la disquette PASCAL/LINKER dans l'unité de disque 1 et démarrez le Disk Operating System 2.0S. Utilisez ensuite l'option C pour copier l'exemple de programme de calcul "CALC.PAS" sur une disquette vierge de l'unité de disque 2. À ce stade, utilisez l'option L pour charger le fichier nommé "PASCAL" à partir du lecteur de disque 1. Le menu Pascal apparaîtra alors :

   ATARI Pascal
Version 1.0 : 1-Mar-82
  (c) 1982 by ATARI

E)dit             C)ompile
L)ink             R)un
D)os              Q)uit

Enter letter and [RETURN]:

Deuxième étape

Répondez au menu Pascal affiché à l'écran avec la commande "C" RETURN pour commencer la compilation.

Lorsque vous êtes invité à indiquer le nom de votre fichier source, tapez "D2:CALC.PAS" RETURN.

Le moniteur vous demandera ensuite un jeton et un nom de fichier de code. Répondez avec RETURN pour chacun.

Un message s'affichera alors «Change D1 to compiler disk.». À ce stade, placez le compilateur Pascal (disquette 2) dans l'unité de disque 1, assurez-vous que l'exemple de programme "CALC.PAS" se trouve dans l'unité de disque 2, puis appuyez sur RETURN.

Le compilateur sera chargé en mémoire et vous invitera à choisir un périphérique de listage. Répondez «P:» (imprimante), «E:» (écran) ou RETURN (pas de liste).

Le compilateur procédera à l'affichage des statistiques de compilation suivantes.

Loading Compiler
---------------------------------------------
   ATARI Pascal
Version 1.0 : 1-Mar-82
  (c) 1982 by ATARI
---------------------------------------------

Syntax Scan

Creating: D2:CALC.TOK

Listing file, P: or E:
<return> for none
File does not contain line numbers
<    0>.............
Including Text from File: D1:STDPROCS
<   14>.............
<   32>.............
<   64>..........................
<   96>..........................
<  128>....
End of Phase 0                                                       (génération de fichier de syntaxe/jeton)
Source lines processed:  132
Loading Phase
Open as input : D2: CALC.TOK
Open as output : D2: CALC.ERL
Available Memory:    4387                                            (espace total de la table des symboles)
User Table Space:    3264                                            (après les symboles prédéfinis)
Version 1.0, Phase 1
#####                                                                (un # pour chaque corps de routine)
Remaining Memory  2100                                               (après les symboles utilisateur)
Version 1.0, Phase 2
SUBREAL          18
ADDREAL          43
TF               64                                                  (déplacement décimal depuis le début)
CALC            119
MENU            915
CALCULAT
External:       TRUNC
External:       SQRT
External:       SIN
External:       ROUND
External:       OUTPUT
External:       LN
External:       INPUT
External:       EXP
External:       COS
External:       ARCTAN

Lines :         130
Errors:           0
Code  :        1737
Data  :          64
REPLACE D1 THEN                                                      (placer la disquette 1 PASCAL/LINKER)
Type <return> to continue                                            (dans le lecteur de disque 1, puis appuyez sur RETURN)

Quelques minutes plus tard...

Le système vous demandera de «REPLACE D1 THEN Type [RETURN] to continue». À ce stade, enlevez le compilateur Pascal de l'unité disque 1 et insérez le PASCAL/LINKER dans l'unité de disque 1, puis appuyez sur la touche RETURN.

Le processus de compilation sera alors terminé et le menu Pascal s'affichera.

Remarque : Si le compilateur ne parvient pas à terminer la compilation, vérifiez si les disquettes se trouvent dans les unités de disquettes appropriés. Si c'est le cas, essayez SYSTEM RESET. Si ces deux tentatives échouent, le seul recours consiste à éteindre votre ordinateur, puis à le rallumer.

Exemple de liaison de programme

La première étape

Pour créer le fichier objet déplaçable, répondez au menu Pascal avec la commande "L" RETURN pour commencer le processus de liaison. À ce moment, ce qui suit sera affiché :

Loading Linker
when LINKER prompts with "*" enter
your ERL filenames separated by
commas ending with PASLIB/S

Then type [RETURN]
LINKER V1.0

Lorsque vous êtes invité à saisir votre nom de fichier par un astérisque (*), vous n'avez pas besoin d'utiliser une extension (.ERL), mais vous devez utiliser le préfixe de périphérique «D2:».

Les routines de la bibliothèque Pascal doivent ensuite être liées à votre programme.

À ce stade, répondez au prompt du nom de fichier avec ce qui suit :

D2:CALC,FPLIB,PASLIB/SRETURN

Remarque : Ce programme peut être utilisé comme exemple d'utilisation des routines de la bibliothèque de virgule flottante (FPLIB).

L'éditeur de liens affichera alors les statistiques suivantes et affichera «LINK COMPLETE TYPE[RETURN]» :

D2:CALC.ERL         <48A7H>
D1:FPLIB.ERL        <2FFAH>
D1:PASLIB.ERL       <1F50H>

Undefined Symbols

-- No Undefined Symbols --

11405 bytes written to D2:CALC.COM

Total Data  :   00BEH bytes
Total Code  :   2BCEH bytes
Remaining   :   1442H bytes

Link complete type [RETURN]

Exécuter un exemple de programme

Pour exécuter l'exemple de programme, répondez au menu Pascal avec la commande "R" puis RETURN pour exécuter le programme objet.

Vous serez ensuite invité à saisir le nom du fichier et devrez répondre comme suit :

D2:CALC.COM

Le programme de calcul commencera son exécution en affichant le message «ENTER FIRST OPERAND?». Essayez cet exemple pour ajouter 5,5 à 99,256. Répondez d'abord par "5.5" puis RETURN. Le message "R1 = 5.500E+00" doit s'afficher suivi de «ENTER SECOND OPERAND?». Répondez avec "99.256" suivi de RETURN. Le message «R2 = 9.92560E+1» doit s'afficher suivi de «ENTER OPERATOR :» suivi d'une liste d'opérateurs. Répondez avec l'opérateur "+" puis RETURN. Le résultat "104.756" devrait alors s'afficher. Vous devez maintenant appuyer sur la touche ESCAPE pour revenir au menu DOS.

Vous avez maintenant terminé la compilation, la liaison et l'exécution de votre premier programme ATARI Pascal !

Fonctionnement du compilateur

Invocation et noms de fichiers

Le système de langage ATARI Pascal est exécuté sous le système d'exploitation de disque ATARI (DOS 2.0S). Pour exécuter le compilateur, placez le PASCAL/LINKER (disquette 1) dans l'unité de disque 1 et chargez le fichier appelé PASCAL depuis le menu DOS. Ce fichier est l'interpréteur Pascal et appellera automatiquement le moniteur Pascal avec le nom de fichier MON. Le moniteur affiche alors le menu suivant :

   ATARI Pascal
Version 1.0 : 1-Mar-82
  (c) 1982 by ATARI

E)dit             C)ompile
L)ink             R)un
D)os              Q)uit

Enter letter and [RETURN]:

Sélectionnez le premier caractère de la fonction souhaitée et saisissez ce caractère suivi d'un RETURN.

Options DOS et QUIT

Les opérations "DOS" et "QUIT" vous permettent de quitter le menu Pascal et de revenir au système d'exploitation disque d'ATARI.

Compiler

Lorsque vous sélectionnez «C» pour «Compile», le moniteur vous demandera de saisir trois noms de fichiers, puis de charger le compilateur. La première demande concerne le nom du fichier source. Vous pouvez ensuite répondre avec le préfixe du nom de fichier (D2:) pour identifier le périphérique, le nom du fichier d'entrée et l'extension .PAS. La fonction Compile demande ensuite le nom des fichiers de jeton et de code. S'il y a suffisamment d'espace sur la disquette contenant le fichier source, vous pouvez répondre en appuyant simplement sur RETURN en réponse à ces requêtes. S'il y a suffisamment d'espace sur la disquette contenant les fichiers sources, vous pouvez répondre en appuyant simplement sur RETURN en réponse à ces requêtes. S'il n'y a pas suffisamment d'espace, vous pouvez spécifier que ces fichiers soient placés sur des disquettes séparées en spécifiant le nom complet du fichier comme vous le souhaitez. Remarque : Aucun des fichiers du compilateur ne peut être basé sur une cassette.

Un message s'affichera alors «Change D1 to compiler disk». A ce moment placez le compilateur Pascal (disquette 2) dans l'unité de disque 1, placez la disquette contenant votre programme source dans l'unité de disque 2 puis appuyez sur RETURN. ATARI Pascal crée ensuite un fichier déplaçable nom.ERL devant être lié avec l'éditeur de liens Pascal aux routines de la bibliothèque d'exécution (PASLIB).

Données de compilation

Le compilateur ATARI Pascal affichera périodiquement des caractères lors des deux premières phases de la compilation (Phase 0 et Phase 1).

Un point (.) sera affiché sur la console pour chaque syntaxe de ligne de code source analysée lors de la phase 0. Au début de la phase 1, l'espace mémoire disponible est affiché. C'est le nombre d'octets (en décimal) de mémoire avant génération de la table des symboles.

Environ 1 Ko de l'espace de la table des symboles est consommé par des identifiants prédéfinis. Lorsqu'une procédure ou une fonction est trouvée, un signe dièse (#) s'affichera sur la console. A la fin de la phase 1, le nombre d'octets restant en mémoire est affiché en décimal.

La phase 2 génère du code objet. Lorsque le corps de chaque procédure est rencontré, le nom de la procédure est affiché afin que vous puissiez voir où se trouve le compilateur dans la compilation du programme. L'option de l'éditeur de liens /M (Map) listera les adresses absolues des procédures dans chaque module. Une fois terminé, les lignes suivantes s'affichent :

Lignes Description
Lines Lignes de code source compilé (en décimal)
Errors Nombre d'erreurs détectés
Code Octets de code générés (en décimal)
Data Octets de données réservés (en décimal)

Directive de bascule du compilateur

Une directive de bascule du compilateur peut être incluse dans le programme source pour signaler au compilateur que vous souhaitez activer ou désactiver certaines options. Le format de cette directive de bascule est (*$_ _ _ _ *) où les espaces sont remplis avec la directive de bascule. Le compilateur n'accepte pas les espaces avant la lettre clef ni les espaces de fin ou intégrés dans les noms, mais ignorera les espaces de début ; par exemple, (*$E +*) est identique à (*$E+*), mais le (*$ E+*) sera ignoré.

Exemples :

  1. (*$E+*)
  2. (*$P*)
  3. (*$I D:USERFILE.LIB*)

Génération d'enregistrements de point d'entrée (E)

$E+ et $E- contrôlent la génération des enregistrements de point d'entrée dans le fichier relocalisable. $E+ fait en sorte que les variables globales et toutes les procédures et fonctions soient disponibles comme points d'entrée (c'est-à-dire disponibles pour être référencées par des déclarations EXTERNAL dans d'autres modules). $E- supprime la génération de ces enregistrements, rendant ainsi les variables, procédures et fonctions logiquement privées. Le $E+ par défaut et la bascule peuvent être activés et désactivés à volonté.

Inclusion de fichiers (I)

$I&t;filename> oblige le compilateur à inclure le fichier nommé dans la séquence d'instructions source Pascal. La spécification du nom de fichier inclut le nom de l'unité de disque et son extension au format standard.

Le format est le suivant :

(*$IDn:XXXXXXX*)

ou

(*$IDn:XXXXXXX.PAS*)

n est le numéro de l'unité de disque.

XXXXXXX est le nom du fichier d'inclusion.

En utilisant ces procédures de fichier d'inclusion standard comme exemples, vous pouvez créer des fichiers d'inclusion à utiliser pendant le processus de compilation.

Vérification stricte du type et de la portabilité (T,W)

$T+, $T-, $W+ et $W- contrôlent la fonction stricte de vérification de type/d'avertissement non portable. Ces fonctionnalités sont étroitement couplées (c'est-à-dire qu'une vérification de type stricte implique un avertissement en cas d'utilisation non portable et vice versa). L'état par défaut est $T- ($W-) dans lequel la vérification de type est assouplie et aucun message d'avertissement n'est généré. Cela peut être activé et désactivé dans tout le code source, comme vous le souhaitez. Une utilisation de logique non standard dans tout le code source comme souhaité. L'utilisation d'une logique non standard et/ou de routines intégrées entraînera la génération de 500. Cette erreur n'est pas fatale mais sert d'avertissement au programmeur. Le code généré avec l'erreur 500 lors de la compilation s'exécutera toujours correctement.

Vérification de l'intervalle d'exécution (R)

$R+ et $R- contrôlent la génération du code d'exécution par le compilateur effectuant la vérification de l'intervalle sur l'index du tableau et l'entreposage dans les variables de sous-in intervalle. L'état par défaut est $R- (désactivé) et cette directive de bascule peut être activée et désactivée dans tout le code source comme vous le souhaitez.

Vérification des exceptions d'exécution (X)

$X+ et $X- contrôlent la génération du code d'exécution par le compilateur, effectuant la vérification des erreurs d'exécution et la gestion des erreurs pour ce que l'on appelle les exceptions. Les exceptions sont :

Message Description
Zero divide Division zéro
String overflow/truncation Débordement/troncation de chaîne de caractères
Heap overflow Débordement de tas

La philosophie du système selon laquelle ATARI Pascal fonctionne stipule que la division par zéro et le débordement de chaîne de caractères sont traités de manière «raisonnable» lorsque la vérification des exceptions est désactivée. La division par zéro renvoie la valeur maximale du type de données et le débordement de chaîne de caractères entraîne une troncature de la chaîne de caractères plutôt qu'une modification des zones mémoire adjacentes. L'état par défaut est $X- et peut être modifié dans tout le code source comme vous le souhaitez.

Contrôles de liste (L,P)

Les directives de bascules $P et $L+, L- contrôlent le listing généré par la première passe du compilateur. $P entraînera l'insertion d'un caractère de saut de page (CHR(12)) dans le fichier .PRN. $L+ et $L- sont utilisés pour activer et désactiver le listing tout au long du programme source et peuvent être placés où vous le souhaitez.

Résumé des directives de bascules du compilateur

Vous trouverez ci-dessous un résumé des options disponibles du compilateur :

Directive de bascule Description Valeur par défaut
$E +/- Contrôle la génération du point d'entrée $E-
$I name Inclut un autre fichier source dans le flux d'entrée (par exemple (*I XXX.LIB*))  
$R +/- Code de vérification de la portée des commandes $R-
$T +/-
$W +/-
Contrôle la vérification stricte du type et la génération de messages d'avertissement. $W-
$X +/- Contrôle le code de vérification des exceptions $X-
$P Entrez un saut de page dans le fichier .PRN  
$L +/- Contrôle la liste du code source $L+

Routines intégrées et fichiers d'inclusion

Le compilateur ATARI Pascal contient uniquement la logique nécessaire à la définition de procédures, fonctions et variables prédéfinies «magiques». Il s'agit de routines telles que READ, WRITE, ADDR, SIZEOF,... nécessitant une génération de code en ligne par le compilateur ou nécessitent la prise en charge d'un nombre variable de paramètres.

Toutes les autres routines sont définies à l'aide d'un mot-clef spécial PREDEFINED et de deux types spéciaux ANYTYPE et ANYFILE. Vous devez inclure dans le programme source les déclarations de ces routines. Cela se fait normalement en utilisant la bascule $I pour inclure STDPROCS et d'autres fichiers similaires. STDPROCS contient des déclarations pour les procédures et fonctions définies par la norme ISO pour Pascal. Des fichiers supplémentaires contiennent des déclarations de procédures et de fonctions étant des extensions des normes ISO telles que les routines de chaînes de caractères, ASSIGN, IORESULT... Vous pouvez éditer STDPROCS et ces fichiers pour qu'ils contiennent uniquement les routines nécessaires à un programme donné.

Cette méthode de définition des routines intégrées est présente car l'ordinateur domestique ATARI 800 dispose d'une mémoire limitée pour toutes les déclarations et symboles utilisateur utilisés dans la compilation de grands programmes.

Messages d'erreur

Les erreurs de compilation sont numérotées dans le même ordre et dans la même signification que celles du «User Manual and Report» de Jensen et Wirth.

Erreur 407, Débordement de la table des symboles : se produit dans la phase 1 lorsqu'il ne reste pas suffisamment d'espace dans la table des symboles pour le symbole actuel. Cela peut être atténué en divisant le programme en modules.

Numéros de ligne

ATARI Pascal autorise les numéros de ligne. Lorsque des numéros de ligne sont souhaités, la première ligne du fichier source du programme doit contenir une valeur numérique. Il suppose alors que toutes les lignes contiennent des numéros de ligne et que le numéro de ligne doit commencer dans la première colonne. Les numéros de ligne peuvent être de n'importe quelle longueur et il convient de noter qu'ils sont ignorés par le compilateur.

Fonctionnement de l'éditeur de liens

Invocation et commandes

LINK est utilisé en exécutant l'éditeur de liens à partir du moniteur. Entrez 'L' dans le menu Pascal suivi de RETURN et l'éditeur de liens se chargera. L'éditeur de liens demandera alors d'utiliser le nom du programme principal et des modules à lier, séparés par des virgules. La sortie est dirigée vers la même disquette que le programme principal, sauf si vous spécifiez un nom de fichier de sortie suivi d'un signe égal avant le nom du programme principal.

Exemple :

CALC,FPLIB/S,PASLIB/S
D2:CALC=CALC,FPLIB,PASLIB/S (CALC.COM est écrit sur D2:)

La commande ci-dessus reliera l'un des programmes de démonstration au paquet d'exécution. Les éléments à lier peuvent être précédés d'un préfixe de périphérique de l'unité de disque :

D2:CALC=CALC,D1:FPLIB,D1:PASLIB/S

Commutateurs d'options de l'éditeur de liens

L'éditeur de liens vous permet de placer un certain nombre de "commutateurs" suivant les noms de fichiers dans la liste. Chaque commutateur est précédé d'une barre oblique (/) et est constitué d'une seule lettre. Il existe un paramètre sur les commutateurs /P et /D.

Recherche dans la bibliothèque d'exécution (/S)

Les exemples ci-dessus montrent l'utilisation du commutateur /S commandant à l'éditeur de liens de rechercher le fichier relocalisable précédemment nommé, PASLIB, en tant que bibliothèque et d'extraire uniquement les modules nécessaires. Le commutateur /S extrait les modules uniquement des bibliothèques et n'extrait pas les procédures et fonctions des modules compilés séparément. Cela dépend de la position dans la mesure où il doit suivre le nom de la bibliothèque d'exécution dans la ligne de commande de l'éditeur de liens, comme dans les exemples ci-dessus. PASLIB est une bibliothèque spécialement conçue et consultable. Les autres fichiers .ERL fournis avec le système, sauf indication contraire explicite, ne peuvent pas être recherchés. Les modules créés par l'utilisateur ne sont pas consultables. L'ordre des modules dans une bibliothèque est important.

Chaque bibliothèque consultable doit contenir des routines dans le bon ordre et être suivie de /S pour que la recherche ait lieu. Si /S n'est pas spécifié, tout le contenu de la bibliothèque est chargé.

Cartographie mémoire (/M)

Un /M suivant le dernier fichier nommé dans la liste des paramètres génère une cartographie vers l'écran.

Cartographie de chargement (/L) et cartographie de chargement étendue (/E)

Un /L suivant le dernier module nommé amène l'éditeur de liens à afficher le code du module et les emplacements des données au fur et à mesure de leur liaison. Un /E suivant le dernier module fonctionne comme un modificateur de /M et /L et amène l'éditeur de liens à afficher toutes les routines, y compris celles commençant par $, ? ou @, étant réservés aux noms de routines de la bibliothèque d'exécution.

Origine du programme (/P) et des données (/D)

Pour prendre en charge la relocalisation du code objet et des zones de données, l'éditeur de liens prend en charge les commutateurs /P et /D. Le commutateur /P contrôle l'emplacement de la zone d'objet (ROM) et le commutateur /D contrôle l'emplacement de la zone de données (RAM). La syntaxe est /P:nnnn ou /D:nnnn où "nnnn" est un nombre hexadécimal compris entre 0 et FFFF.

De plus, si vous spécifiez /D, l'éditeur de liens n'enregistrera aucune zone de données dans le fichier .COM. C'est un bon moyen de réduire l'entreposage des données sur disquette pour les programmes, puisque seul le code sera chargé à partir de la disquette et non les zones de données non initialisées. Notez que les opérations sur les fichiers locaux ne sont pas garanties si cela est utilisé car le système dépend de la mise à zéro de la zone de données par l'éditeur de liens pour que cette fonction fonctionne correctement.

De plus, si /D est utilisé, plus d'espace est gagné dans le processus de liaison car les données ne sont pas mélangées au code lors de la liaison. L'utilisation de ce commutateur est la première façon de résoudre les messages «out of memory» affichés par l'éditeur de liens.

L'utilisation des commutateurs /P et /D n'entraîne pas que l'éditeur de liens laisse un espace vide au début du fichier .COM. La philosophie de l'éditeur de liens est que si le commutateur /P est utilisé, vous souhaitez réellement déplacer le programme vers un autre système pour l'exécution. Cela signifie que si vous spécifiez /P:8000, le premier octet du fichier .COM sera placé à l'emplacement 8000H et non à 32 Ko de zéros avant le premier octet. De plus, si vous spécifiez /D, l'éditeur de liens n'enregistrera aucune zone de données dans le fichier .COM. C'est un bon moyen de réduire l'entreposage des données sur disquette pour les programmes puisque seul le code sera chargé à partir d'une disquette et non les zones de données non initialisées.

Les commutateurs /P et /D sont spécifiés après la dernière routine à charger et peuvent être dans n'importe quel ordre.

Lignes de continuation (/C)

Si une ligne doit être continuée, entrez /C après le dernier caractère de la ligne avant d'appuyer sur la touche RETURN.

Fichier de commandes d'entrée de l'éditeur de liens (/F)

L'éditeur de liens vous permet de saisir des données dans un fichier et de demander à l'éditeur de liens de traiter les noms de fichiers du fichier. Vous spécifiez un fichier avec une extension .CMD et suivez ce nom de fichier avec un /F (par exemple, CFILES/F). L'éditeur de liens lira les entrées de ce fichier et traitera les noms comme s'ils avaient été saisis à partir du clavier de l'ordinateur. Si le fichier contient plusieurs lignes, vous devez utiliser /C après chaque ligne. Si vous souhaitez revenir à la console de l'ordinateur pour plus de saisie, vous pouvez placer /C sur la dernière ligne du fichier. Les données sur la ligne de commande suivant le /F sont ignorées. Un fichier .CMD ne peut pas contenir de ligne contenant /F.

Résumé du commutateur de liaison

Commutateur Description
/S Ce commutateur permet de rechercher le nom précédent en tant que bibliothèque extrayant uniquement les routines requises.
/L Ce commutateur permet de répertorier les modules au fur et à mesure qu'ils sont liés.
/M Ce commutateur permet de répertorier tous les points d'entrée sous forme de tableau.
/E Ce commutateur permet de répertorier les points d'entrée commençant par $, ? ou @ en plus d'autres points d'entrée.
/P:nnnn Ce commutateur permet de déplacer le code objet vers nnnnH.
/D:nnnn Ce commutateur permet de déplacer la zone de données vers nnnnH.
/F Ce commutateur permet de prendre le nom de fichier précédent comme un fichier .CMD contenant les noms de fichiers (voir ci-dessus pour la syntaxe).
/C Ce commutateur permet d'indiquer les lignes de continuation.

Exigences relatives aux fichiers déplaçables

Les disquettes de distribution contiennent plusieurs fichiers .ERL devant être liés au programme. Les fichiers particuliers dépendent du groupe de routines que le compilateur doit référencer, en fonction du contenu de votre programme. Vous trouverez ci-dessous une liste de chaque fichier et des routines qu'il contient. Si vous disposez de l'une de ces routines comme référence non définie, liez le fichier relocalisable approprié pour résoudre la référence non définie.

Fichier Description
FPLIB Nombres réels à virgule flottante @ XOP, @RRL, @WRL (recherchable)
PASLIB Comparaisons, entrée/sortie, support arithmétique,...
GRSND Prise en charge des graphiques, du son et des contrôleurs

Messages d'erreur de l'éditeur de liens

L'éditeur de liens autorise jusqu'à quarante noms sur la ligne de commande (ou entrée de fichier de commande) pour que les fichiers soient liés.

Les erreurs rencontrées lors du processus de liaison sont généralement explicites, telles que «unable to open input file: xxxxxxxx» et «Duplicate symbol- xxxxxxxx». Le symbole en double signifie qu'une routine ou une variable d'exécution et une routine ou une variable utilisateur portent le même nom. Une référence non définie indique que le fichier relocalisable approprié n'a pas été inclus. Reportez-vous au paragraphe précédent sur les exigences relatives aux fichiers relocalisables.

Si vous manquez de mémoire lors de la liaison, vous pouvez supprimer les données de l'espace de code avec le commutateur /D. Vous devrez peut-être exécuter un lien de test avec le commutateur /D réglé très haut pour connaître la taille du code, puis établir une nouvelle liaison avec le commutateur /D défini juste au-dessus de la dernière adresse de code (avec un peu de place pour l'expansion du code).

Attributs des modules pouvant être liés

L'éditeur de liens reliera les programmes principaux d'ATARI Pascal, les modules Atari Pascal et les modules de langage assembleur créés par un assembleur approprié.

Exécution du programme objet

Une fois que le programme source a été compilé avec succès et lié aux bibliothèques d'exécution appropriées, vous pouvez exécuter ou «Run» le programme.

Lorsque vous sélectionnez "R" pour Run dans le menu Pascal, il vous sera alors demandé le nom du fichier objet à exécuter.

Exemple :

D2:CALC.COM

Le programme objet sera ensuite chargé en mémoire et exécuté.

Éditeur de texte du programme ATARI (MEDIT)

L'éditeur de texte de programme ATARI est un outil polyvalent pouvant être utilisé pour créer et modifier des programmes sources écrits en ATARI Pascal. Ce produit peut être commandé via ATARI Program Exchange (APX-20075) ou peut être acheté avec ATARI Macro Assembler (CX8121).

Exécution de l'éditeur de texte du programme ATARI

Le menu Pascal offre la possibilité d'appeler l'éditeur de texte du programme ATARI. La valeur par défaut de cette option est l'unité de disque 2. Avant d'utiliser cette option, vous devez d'abord apporter les modifications suivantes :

Cette opération d'ajout indique au pointeur du programme "Pascal" de commencer l'exécution au point d'entrée MEDIT.

Remarque : L'opération d'ajout peut également être utilisée pour exécuter n'importe quel fichier en langage assembleur à partir de Pascal. Le fichier doit être ajouté avec l'adresse de départ et l'adresse de départ plus un. Si le fichier est constitué de nombreux modules déconnectés dispersés dans le programme, assurez-vous que l'adresse de début ajoutée utilisée est le point d'entrée d'exécution.



Dernière mise à jour : Jeudi, le 29 février 2024