| Assembleur 370 |
SLL |
| Shift Left Single Logical |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer un registre général (R0 à R15). Contient l'opérande à décaler (un mot de 32 bits). Reçoit le résultat après le décalage. |
| D2(B2) |
Ce paramètre permet d'indiquer l'adresse mémoire contenant le nombre de bits (de 0 à 31) à décaler. L'adresse effective est calculée ainsi : Adresse effective = D2 + contenu de B2. Le contenu à cette adresse est une valeur non signée indiquant combien de bits décaler. |
Description
Cette instruction permet d'effectuer un décalage de bits vers la gauche, du nombre de position spécifié par l'opérande, d'un registre de 32 bits.
Remarques
- L'instruction SLL réalise un décalage logique à gauche sur un registre 32 bits. Contrairement au décalage arithmétique, elle ne tient pas compte du signe du nombre.
C'est idéal pour manipuler des données binaires non signées.
- Le registre R1 contient à la fois l'opérande source et le résultat final du décalage. Les bits de gauche qui dépassent les 32 bits sont perdus, et ceux de droite sont
remplacés par des zéros. Ce comportement est typique des décalages logiques.
- Le nombre de bits à décaler est lu en mémoire à l'adresse effective D2(B2). Cette adresse doit pointer vers un entier non signé, compris entre 0 et 31. Une valeur
incorrecte peut provoquer un comportement indéfini ou inefficace.
- SLL est souvent utilisée pour effectuer une multiplication rapide par une puissance de 2. Décaler un entier de n bits revient à le multiplier par 2n, ce qui est plus
rapide qu'un MUL. Cela optimise les performances en calcul intensif.
- Le registre R1 peut être n'importe lequel entre R0 et R15, mais attention : le registre R0 est parfois réservé ou particulier selon le contexte, ce qui peut poser des
problèmes. Il est donc prudent de choisir un registre usuel (R1 à R14).
- Cette instruction ne génère aucune retenue ou drapeau de dépassement. Elle est conçue pour manipuler des bits, pas des entiers arithmétiques. Cela la rend utile en
cryptographie, masquage, ou traitement de protocoles binaires.
- L'utilisation de SLL est complémentaire à celle de SRL (Shift Right Logical), son opposée. Ensemble, elles permettent de positionner ou extraire des bits dans un mot.
C'est une base dans la gestion fine de champs binaires codés.
- En lecture de l'adresse mémoire pour le décalage, on peut utiliser un index dynamique via D2 et B2. Cela permet des décalages calculés dynamiquement en cours d'exécution,
selon la situation. C'est un outil flexible pour des algorithmes adaptatifs bas niveau.
Dernière mise à jour : Mardi, le 22 août 2017