DEF USR |
Définir un sous-programme machine |
---|---|
GWBASIC |
Syntaxe
DEF USR n=adresse |
Paramètres
Nom | Description |
---|---|
n | Ce paramètre permet d'indiquer le numéro du sous-programme de langage machine. n peut être n'importe quel chiffre de 0 à 9. Le chiffre correspond à l'adresse de routine USR spécifiée. Si n est omis, DEF USR0 est utilisé. |
adresse | Ce paramètre permet d'indiquer l'emplacement du sous-programme de langage machine. adresse est l'adresse de déplacement de la routine USR. Si plus de 10 routines USR sont nécessaires, DEF USR[n] peut apparaître dans le programme autant de fois que nécessaire pour redéfinir l'adresse de départ USR[n]. |
Description
Cette commande permet de définir une sous-programme utilisateur en code machine.
Remarques
- Ajoutez la valeur du segment actuel à l'entier pour obtenir l'adresse de début de la routine utilisateur.
- Lorsqu'un sous-programme de langage d'assemblage est appelé, l'exécution du programme GW-BASIC est interrompue et le contrôle est transféré au programme de langage d'assemblage. Lorsque ce programme est exécuté, le contrôle est rendu au programme GW-BASIC au point d'interruption.
Exemples
Les lignes 190 et 200 définissent l'adresse absolue. La ligne 210 appelle la routine USR située à cette adresse et transmet la valeur entière de l'expression contenue entre parenthèses au programme utilisateur (voir USR) :
- .
- .
- .
- 190 DEF SEG=0
- 200 DEF USR0=24000
- 210 X=USR0(Y^2/2.82)
- .
- .
- .
Cette déclaration est donnée ici principalement pour assurer la compatibilité avec d'autres implémentations BASIC. L'instruction CALL, plus polyvalente, doit être utilisée si cette compatibilité descendante n'est pas importante.
Dernière mise à jour : Lundi, le 19 janvier 2015