| Assembleur 370 |
CLCL |
| Compare Logical Characters Long |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer l'adresse de la première chaîne de caractères. |
| R1+1 |
Ce paramètre permet d'indiquer la longueur de la première chaîne de caractères. |
| R2 |
Ce paramètre permet d'indiquer l'adresse de la deuxième chaîne de caractères. |
| R2+1 |
Ce paramètre permet d'indiquer la longueur de la deuxième chaîne de caractères. |
Description
Cette instruction permet d'effectuer la comparaison logique de deux chaînes de caractères de grande taille.
Remarques
- L'instruction CLCL est conçue pour comparer deux chaînes de caractères dont les adresses et longueurs sont spécifiées dans des registres. Cela permet de gérer des
chaînes de grande taille de manière dynamique et flexible. Elle est utile lorsque la longueur des chaînes n'est pas fixe.
- Contrairement à CLC, CLCL utilise les paires de registres : R1 et R1+1 pour la première chaîne, R2 et R2+1 pour la seconde. Cela évite d'avoir à entreposer les chaînes
dans des zones mémoire fixes avec leur longueur codée séparément. C'est un avantage dans les traitements complexes en mémoire.
- CLCL effectue une comparaison logique octet par octet, en s'arrêtant dès qu'une différence est détectée ou que la fin d'une chaîne est atteinte. Cela la rend
particulièrement adaptée pour des comparaisons rapides et précises. Elle n'interprète pas les octets comme des nombres, mais comme des valeurs brutes.
- Le code condition est mis à jour après l'exécution de CLCL, pour indiquer si les chaînes sont égales, ou si l'une est inférieure/supérieure. Cela permet de chaîner
l'instruction avec des branches conditionnelles comme BC,... Elle s'intègre facilement dans les structures de décision.
- CLCL est idéale pour comparer des chaînes variables issues de structures complexes ou dynamiques (exemple : chaînes COBOL,
structures C,...). Elle simplifie le code en réduisant les manipulations mémoire manuelles. Cela la rend précieuse pour les programmes
modulaires.
- La bonne gestion des registres R1 à R2+1 est cruciale : une mauvaise configuration peut provoquer des erreurs de comparaison ou des dépassements. Il faut toujours
vérifier que les longueurs sont bien spécifiées avant l'appel à CLCL. C'est une instruction puissante mais sensible à la rigueur du codage.
- CLCL est souvent utilisée dans les routines de tri, de recherche, ou de contrôle de doublons sur des chaînes longues. Elle évite les boucles manuelles pour comparer
caractère par caractère. C'est un gain de performance et de lisibilité.
- Comme elle travaille directement sur les valeurs contenues en mémoire, CLCL ne modifie pas les chaînes comparées. Elle est donc non destructive et sûre pour des
comparaisons passives. C'est un comportement essentiel dans les traitements conditionnels complexes.
Dernière mise à jour : Mardi, le 22 août 2017