| Assembleur 370 |
SLR |
| Subtract Logical Registers |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer un registre général (R0 à R15). Contient l'opérande 1 (le diminuende). Reçoit le résultat de la soustraction logique. |
| R2 |
Ce paramètre permet d'indiquer un registre général (R0 à R15). Contient l'opérande 2 (le soustrayeur). Sa valeur n'est pas modifiée. |
Description
Cette instruction permet d'effectuer la soustraction logique d'un registre à un autre registre.
Remarques
- L'instruction SLR effectue une soustraction logique non signée entre deux registres. Elle considère les contenus comme des entiers positifs de 32 bits, sans interpréter
de bit de signe. Cela la rend adaptée aux opérations arithmétiques sur des valeurs binaires pures.
- Le résultat de R1 - R2 est stocké dans R1, écrasant sa valeur initiale. Le registre R2 n'est pas modifié : il sert uniquement d'opérande source. Ce mode d'opération
suit le schéma typique des instructions arithmétiques en registre.
- SLR est utile dans les calculs binaires non signés, comme le comptage, le masquage ou la gestion de tailles. Elle est moins adaptée aux cas où les valeurs sont signées
ou nécessitent la gestion du bit de signe. Dans ces cas, l'instruction SR (Subtract Register) est préférable.
- Si le contenu de R2 est supérieur à celui de R1, le résultat sera un nombre négatif interprété comme une grande valeur non signée. Cela ne provoque pas d'erreur, mais
peut entraîner un dépassement logique (underflow). Il faut donc bien contrôler les valeurs avant la soustraction.
- Comme pour d'autres instructions logiques, SLR ne met pas à jour le bit de signe du registre. Elle ne signale pas non plus de dépassement arithmétique. Cela reflète sa
conception pour le traitement de données logiques, pas arithmétiques.
- SLR peut être utilisée dans des boucles où l'on décrémente des compteurs non signés. Cela évite de traiter des conversions entre signé et non signé à chaque itération.
Elle est donc souvent employée dans les algorithmes de bas niveau.
- Les registres R1 et R2 doivent être choisis avec soin : éviter d'utiliser le même registre pour R1 et R2, car cela entraînerait un résultat nul (R1 - R1 = 0). Cela peut
être utile dans certains cas, mais souvent c'est non intentionnel.
- L'instruction SLR est complémentaire de ALR (Add Logical Registers). Ensemble, elles permettent des opérations logiques entières sans gestion de signe. C'est un outil
central dans les traitements de valeurs numériques binaires à bas niveau.
Dernière mise à jour : Mardi, le 22 août 2017