USR
<fieldset class="formatter-container formatter-fieldset" style=""><legend>USR</legend><div class="formatter-content">Cette fonction appelle la routine en langage machine déclarée par l'instruction DEFUSR et renvoie ce qui est entre parenthèse.
    
Lors de l'appel de la routine, le registre A du CPU contient le type de la variable ou constante mise entre parenthèse. Ceci permet de créer votre propre fonction. Il y a quatre type de valeur possible.
2 = chiffre entier.
3 = chaine de caractères.
4 = chiffre de simple précision.
8 = un chiffre de double précision.
Lorsqu'il s'agit d'une valeur numérique, le registre HL indique l'emplacement de cette variable ou constante dont le format varie en fonction du type de valeur.
Entier :
    
Simple précision :
    
Double précision :
    
Lorsqu'il s'agit d'une chaine de caractères, le pointeur se trouve dans DE au lieu de HL.
    
    
</div></fieldset>
| Syntaxe | 
|---|
| USR[numéro de routine] (constante / variable numérique / variable alphanumérique) | 
Lors de l'appel de la routine, le registre A du CPU contient le type de la variable ou constante mise entre parenthèse. Ceci permet de créer votre propre fonction. Il y a quatre type de valeur possible.
2 = chiffre entier.
3 = chaine de caractères.
4 = chiffre de simple précision.
8 = un chiffre de double précision.
Lorsqu'il s'agit d'une valeur numérique, le registre HL indique l'emplacement de cette variable ou constante dont le format varie en fonction du type de valeur.
Entier :
| Adresse contenue dans HL : | Inutilisé | 
| Adresse contenue dans HL + 1 : | Inutilisé | 
| Adresse contenue dans HL + 2 : | 8 bits de poids faible de la valeur | 
| Adresse contenue dans HL + 3 : | 8 bits de poids fort de la valeur | 
Simple précision :
| Adresse contenue dans HL : | Valeur au format simple précision (sur 4 octets) | 
Double précision :
| Adresse contenue dans HL : | Valeur au format double précision (sur 8 octets) | 
Lorsqu'il s'agit d'une chaine de caractères, le pointeur se trouve dans DE au lieu de HL.
| Adresse contenue dans DE : | Longueur de la chaine | 
| Adresse contenue dans DE+1 : | Adresse où se trouve la chaine | 
| Exemple : | 
|---|
| Faire une routine qui qui transforme tous les caractères majuscules en minuscules dans une chaîne alphanumérique. Code TEXT : Après avoir tapé, assemblé et sauvegardé en binaire cette routine, entrez le programme Basic suivant et faites RUN : Code TEXT : 10 CLS 20 CLEAR 200,&HC000 30 BLOAD”Routine.bin”:DEFUSR=&HC000 40 A$="TRANSFORMATION": A$=USR(A$) 50 PRINT A$  | 
         
Remarque :
</div></fieldset>