DEF USR |
Définition utilisateur |
---|---|
DISK BASIC |
Syntaxe
DEFUSRn=nmexp |
Paramètres
Nom | Description |
---|---|
n | Ce paramètre permet d'indiquer une égalité à l'un des chiffres 0, 1,..., 9 ; si non est omis, 0 est supposé |
nmexp | Ce paramètre permet d'indiquer l'adresse d'entrée d'une routine en langage machine. |
Description
Cette instruction vous permet de définir les points d'entrée pour jusqu'à 10 routines en langage machine. (Au LEVEL II, où une seule routine USR est disponible, l'adresse du point d'entrée est POKE dans RAM).
Exemple
100 DEFUSR3=&H7D00
Affecte le point d'entrée 7D00 hexadécimal, 32000 décimal, à l'appel USR3. Lorsque votre programme appelle USR3, le contrôle passera à votre sous-programme commençant à l'hexadécimal 7D00.
Voici trois façons d'obtenir un programme en langage machine dans la RAM afin qu'il soit accessible via un appel USRn :
- Utilisez TRS-80 Editor Assembler, numéro de catalogue Radio Shack 26-2002, pour convertir le code source en un fichier objet sur bande magnétique; puis chargez la bande sous la commande SYSTEM (utilisez MEMORY SIZE pour protéger le code de la destruction par BASIC).
- Utilisez le programme TRSDOS DEBUG pour saisir la routine de code machine (puis DUMP la sur le disque pour la conserver en toute sécurité) ; appelez DISK BASIC et répondez MEMORY SIZE afin de protéger la routine.
- Demandez à votre routine DISK BASIC de POKE la routine (valeurs décimales pour chaque octet) dans une RAM élevée. MEMORY SIZE doit être défini lors de l'initialisation pour protéger la zone dans laquelle vous allez POKE.
Dernière mise à jour : Vendredi, le 3 Mars 2023