| Assembleur 370 |
SL |
| Subtract Logical |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer un registre général (de R0 à R15). Contient le premier opérande (le diminuende). Reçoit le résultat de la soustraction. L'opération est non signée, donc on considère que la valeur dans R1 est positive (valeur logique). |
| D2(X2,B2) |
Ce paramètre permet d'indiquer l'adresse mémoire du deuxième opérande, qui est un mot (word) de 4 octets (32 bits), non signé. Calcul de l'adresse effective : Adresse = D2 + contenu de X2 + contenu de B2. D2 : déplacement (offset sur 12 bits), X2 : registre index (facultatif), B2 : registre de base. |
Description
Cette instruction permet d'effectuer la soustraction logique d'une opérande à un registre.
Remarques
- L'instruction SL effectue une soustraction non signée (logique) entre un registre et une valeur mémoire. Cela signifie qu'aucun bit de signe n'est interprété ou manipulé.
Elle convient pour les traitements binaires ou numériques strictement positifs.
- Le registre R1 contient le diminuende et reçoit le résultat de la soustraction. La donnée d'origine est donc écrasée après l'opération. Il est important de préserver
sa valeur si elle doit être utilisée plus tard.
- Le second opérande est une valeur mémoire sur 4 octets (word) interprétée comme non signée. Cela permet de gérer de grandes plages de valeurs entières positives.
Cependant, si la mémoire contient un nombre signé, le résultat pourrait être incohérent.
- L'adresse effective de l'opérande mémoire est construite avec D2 + X2 + B2. Ce mécanisme permet une adresse souple, incluant des cas d'adressage indexé ou indirect.
La validité de ces composants est cruciale pour éviter les erreurs d'exécution.
- L'instruction ne gère aucune détection de dépassement (overflow). Si la valeur mémoire est supérieure à celle de R1, le résultat peut être inattendu. Le programmeur doit
anticiper et traiter ces cas explicitement si nécessaire.
- Le mot "logique" indique que les valeurs sont manipulées comme entiers binaires positifs purs. Cela distingue SL de l'instruction S qui, elle, prend en compte le signe
des opérandes. Ce choix influe fortement sur le type de données que l'on peut traiter.
- Les indicateurs de condition (CC) sont mis à jour après exécution. Ils permettent de savoir si le résultat est nul ou positif, mais pas si un "emprunt" a eu lieu.
Ces indicateurs servent à contrôler le flux du programme (par exemple, avec BNE ou BE).
- SL est particulièrement utile dans les algorithmes manipulant des compteurs, index ou longueurs. Elle permet des calculs sûrs et rapides dans des contextes sans gestion
du signe. Sa clarté et sa simplicité en font une instruction fiable pour les opérations sur des entiers naturels.
Dernière mise à jour : Mardi, le 22 août 2017