| Assembleur 370 |
LCR |
| Load Complement Registers |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer le registre destination. Il recevra le complément à deux (exemple, -R2) du contenu de R2. |
| R2 |
Ce paramètre permet d'indiquer le registre source. Il contient la valeur à inverser. |
Description
Cette instruction permet d'effectuer le complément d'une registre.
Remarques
- L'instruction LCR calcule le complément à deux de la valeur contenue dans un registre. Elle entrepose le résultat dans un autre registre, généralement pour obtenir
l'opposé d'un entier. C'est une opération simple, équivalente à un R1 ← -R2.
- R2 contient l'opérande d'origine, tandis que R1 reçoit le résultat du complément. Il est possible d'utiliser le même registre pour source et destination : LCR R1,R1.
Cela inverse alors la valeur contenue dans le registre en place.
- Le complément à deux est la forme standard pour représenter les nombres négatifs en binaire. LCR est donc essentiel pour effectuer des opérations arithmétiques signées.
Il est souvent utilisé pour inverser le signe avant une soustraction ou une division.
- Cette instruction affecte les codes condition selon le résultat obtenu : zéro, négatif ou positif. Cela permet d'enchaîner des tests logiques après le complément.
Elle peut donc influencer la logique de branchement dans un programme.
- Le complément de zéro donne toujours zéro : LCR ne modifie pas le contenu si R2 vaut 0. Dans ce cas, le code condition est mis à jour pour indiquer que le résultat
est nul. C'est une manière rapide de tester si une valeur est différente de zéro.
- LCR peut être utilisé pour créer une valeur négative sans faire appel à une opération de soustraction. Cela simplifie certaines manipulations de valeurs dans les
algorithmes numériques. Elle est notamment utile dans les calculs de différences ou d'inverses.
- Cette instruction est purement arithmétique, contrairement à des instructions logiques comme XOR. Elle agit sur le signe du nombre, mais conserve les mêmes bits de
magnitude. Il ne faut donc pas la confondre avec un simple inversé de bits.
- L'instruction LCR est rapide, sans accès mémoire : elle agit directement sur les registres. Elle fait partie des instructions de base à maîtriser pour tout traitement
numérique. Sa clarté et sa simplicité en font un outil efficace pour inverser des valeurs en assembleur.
Dernière mise à jour : Mardi, le 22 août 2017