Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer un registre contenant la valeur à comparer. |
| D2(X2,B2) |
Ce paramètre permet d'indiquer l'adresse effective en mémoire contenant la valeur de référence. |
Description
Cette instruction permet d'effectuer une addition d'une adresse contenant un double mot (4 octets) à un registre.
Remarques
- L'instruction C permet de comparer la valeur d'un registre (R1) avec celle d'un emplacement mémoire. Elle ne modifie ni le registre, ni la mémoire, mais
met à jour les indicateurs de condition. Ces indicateurs permettent de déterminer l'issue d'une comparaison logique (égal, inférieur, supérieur).
- L'adresse mémoire est calculée par la combinaison D2(X2,B2), une forme classique dans le langage assembleur 370. Cela offre une grande flexibilité pour localiser
les données à comparer. On peut ainsi comparer une valeur contenue en mémoire avec celle d'un registre général.
- L'instruction n'effectue pas d'addition, contrairement à ce que la description semble indiquer. Elle effectue une comparaison de deux entiers sur 4 octets (un mot).
Il s'agit donc d'une vérification sans modification, utilisée avant des branchements conditionnels.
- Cette instruction est souvent utilisée juste avant une instruction de saut conditionnel, comme BC ou BCR. Elle prépare les codes conditionnels (Condition Code)
pour indiquer si le registre est <, = ou > que la mémoire. Ces codes sont essentiels au contrôle du flot d'exécution.
- La comparaison s'effectue sur des entiers signés de 32 bits. Cela signifie que le bit de poids fort est interprété comme le signe (positif ou négatif). C'est
important pour éviter des erreurs de logique dans les tests.
- Le registre R1 contient la valeur que l'on veut tester ou valider, tandis que la mémoire contient la valeur de référence. L'ordre des opérandes est donc significatif
pour bien interpréter le résultat du test. Par exemple, si R1 < mémoire, le code condition indique "moins".
- Cette instruction permet d'évaluer des conditions complexes sans utiliser de branchements directs immédiats. Elle s'intègre dans des séquences logiques plus longues,
typiques des algorithmes de bas niveau. C'est une base du traitement décisionnel en assembleur.
- L'instruction C est une des plus utilisées pour la prise de décision conditionnelle. Elle offre un mécanisme neutre et sûr, puisque les données comparées ne
sont pas altérées. C'est une étape essentielle avant tout saut conditionnel ou test logique dans les programmes système.
Dernière mise à jour : Mardi, le 22 août 2017