![]() Page réalisée par: Philippe Moreau UPJV |
Pour accéder aux fonctionnalités existantes (routines déjà écrites stockées en ROM) , il existe l'instruction "68000" TRAP. Cette instruction permet d'interrompre le programme et exécuter un saut vers un sous programme du système en fonction de la valeur qui suit Trap (dans notre environnement ce sera toujours 15) et (ici) de la valeur contenue dans le registre D0.
En réalité la deuxième valeur est sensée se trouver sur la pile, mais n'oublions pas que nous utilisons ici un émulateur.
Remarques:
- De même que les directives d'assemblages DC et DS, les appels Système ne sont liés au micro-processeur mais ici sont liés au système d'exploitation de la machine utilisée.
Nous allons maintenant présenter, trois appels système qui semblent indispensables dans l'écriture de tout programme. Ceci sont écrits sous la forme de sous programmes (sauf le dernier qui correspond à la fin de programme):
AFFCAR Sous programme d'affichage d'un caractère à l'écran.
L'appel à cette routine permettra d'afficher le caractère dont le code ASCII est transmis dans l'octet de poids faible du registre D1
AFFCAR: | ||
MOVE | #6,D0 | |
TRAP | #15 | |
RTS |
SAISCAR Sous programme de saisie d'un caractère au clavier
L'appel à cette routine permettra d'attendre une frappe au clavier. Le code ASCII du caractère taper sera retourné dans l'octet de poids faible du registre D1
SAISCAR: | ||
MOVE | #5,D0 | |
TRAP | #15 | |
RTS |
FINPRG Morceau de programme qui permet de terminer le programme.
L'appel à ce morceau de programme permet de finir "proprement" le programme (fin du programme principal et retour dans l'environnement de départ).
FINPRG: | ||
MOVE | #9,D0 | |
TRAP | #15 |
Ces trois morceaux de programme étant très souvent utilisés, on peut stocker ceux-ci dans un fichier "Bibliothèque" (ex: BIBLIO.X68). Ce fichier pourra alors être utilisé en se servant de la directive d'assemblage INCLUDE.
Syntaxe:
INCLUDE | 'Nom_Fichier' |
Action réalisée: Permet d'inclure, à l'emplacement où se trouve la ligne, le fichier (source) Nom_Fichier (ensemble des lignes écrites dans le fichier). Nota le nom de fichier doit être entre cote.
Par la suite, on verra également que l'on peut se constituer des bibliothèques avec des sous-programmes classiques correspondants aux Entrées/Sorties, à la gestion de fichiers, au graphisme, etc... Là encore, il faudra respecter les noms qui seront donnés.