Section courante

A propos

Section administrative du site

Modules de langage d'assembleur

L'instruction CALL dans le ST BASIC permet l'utilisation de modules de langage d'assembleur. Pour utiliser un module, vous devez le charger en mémoire avec une instruction BLOAD, affecter son adresse de départ à une variable et l'appeler depuis le ST BASIC (en lui passant tous les paramètres nécessaires).

Les paramètres sont transmis de ST BASIC aux programmes assembleur de la manière suivante. Le module langage machine trouvera deux paramètres sur la pile utilisateur (A7). Le premier est un entier de 2 octets spécifiant le nombre de paramètres passés. (Dans l'exemple ci-dessous, il s'agit de 3.) Le second est un pointeur de 4 octets vers un tableau contenant les paramètres. Chaque paramètre du tableau occupera 8 octets, quel que soit son type. Dans le cas d'une variable chaîne de caractères, la valeur de 8 octets est un pointeur vers la chaîne de caractères.

Avant de revenir à ST BASIC, le programme assembleur peut placer tous les paramètres qu'il souhaite transmettre à ST BASIC dans un emplacement mémoire donné. Plus tard, le programme ST BASIC peut mettre PEEK à ces paramètres.

Exemple

Voici un exemple d'appel :

  1. 500 DIM A$(8):I%=70:X=22
  2. 510 CHART=18566: 'Adresse de début du code de langue de l'assemblage
  3. 530 CALL CHART(I%,A%,X) 


Dernière mise à jour : Dimanche, le 9 août 2020