DEFUSR
DEFUSR</legend><div class="formatter-content">Instruction qui permet de définir l'adresse de départ d'un sous-programme en langage machine.
Les crochets indiquent un contenu optionnel.
Si le numéro de fonction est omis, il sera pris 0 par défaut. Le numéro de fonction peut varier de 0 à 9, on peut donc définir 10 fonctions en langage machine par programme.
Le sous-programme sera ensuite appelé au moyen de la fonction USR et du numéro défini dans le DEFUSR.
Cette instruction nécessite une bonne connaissance de la structure de la mémoire des MSX et de la programmation en langage machine. Une mauvaise utilisation peut entraîner un plantage du programme, voire du MSX.
</div></fieldset>
<fieldset class="formatter-container formatter-fieldset" style=""><legend>Syntaxe |
---|
DEFUSR [numéro de fonction] = adresse |
Les crochets indiquent un contenu optionnel.
Si le numéro de fonction est omis, il sera pris 0 par défaut. Le numéro de fonction peut varier de 0 à 9, on peut donc définir 10 fonctions en langage machine par programme.
Le sous-programme sera ensuite appelé au moyen de la fonction USR et du numéro défini dans le DEFUSR.
Exemple |
---|
Si on a un sous-programme en langage machine situé à l'adresse &HD000 : 10 DEFUSR0 = &HD000 20 X = USR0(1) 30 END |
Résultat |
---|
Le programme appliquera au chiffre 1 (ligne 20) la fonction en langage machine définie à partir de l'adresse &HD000. |
Remarque :
Cette instruction nécessite une bonne connaissance de la structure de la mémoire des MSX et de la programmation en langage machine. Une mauvaise utilisation peut entraîner un plantage du programme, voire du MSX.
</div></fieldset>