| Assembleur 370 |
BCT |
| Branch on Count |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer le registre utilisé comme compteur (décrémenté de 1). |
| D2 |
Ce paramètre permet d'indiquer le déplacement constant (offset). |
| X2 |
Ce paramètre permet d'indiquer le registre d'indexation facultatif. |
| B2 |
Ce paramètre permet d'indiquer un registre de base. |
Description
Cette instruction permet de décrémenter de 1 le registre désigné comme compteur et d'effectuer un saut à l'adresse si le compteur ne vaut pas 0 sinon il passe à l'instruction suivante tout simplement.
Remarques
- L'instruction BCT (Branch on Count) permet de décrémenter un registre compteur et d'effectuer un saut conditionnel si la valeur du compteur est différente de zéro. Elle
est idéale pour implémenter des boucles de comptage ou des tests répétés. L'instruction saute vers l'adresse spécifiée si le compteur n'est pas encore nul.
- Le paramètre R1 représente le registre compteur. Ce registre est décrémenté de 1 après chaque exécution de l'instruction. Lorsqu'il atteint zéro, le saut est
annulé et l'exécution continue à l'instruction suivante.
- Le D2(X2, B2) permet de calculer l'adresse de saut. D2 est un déplacement constant, X2 un registre d'indexation optionnel, et B2 un registre de base. Cette combinaison
permet d'adresser dynamiquement les destinations du saut.
- BCT est souvent utilisée dans des boucles de répétition, où le registre R1 sert à compter le nombre d'itérations. Chaque exécution décrémente le compteur et effectue
un saut tant que le compteur n'est pas nul. Cela permet une gestion de boucle simple et efficace sans nécessiter des instructions de test supplémentaires.
- Lorsqu'il est utilisé avec un registre d'indexation (X2), BCT permet des boucles dont les destinations sont calculées dynamiquement à chaque itération. Cela est utile
pour des boucles de recherche ou des parcours de tableaux où l'adresse change au fil des itérations. L'indexation améliore la flexibilité de l'instruction.
- Si le compteur atteint zéro après décrémentation, l'instruction ne produit pas de saut et le programme continue avec l'instruction suivante. Cela permet de sortir
proprement des boucles sans ajouter de logique conditionnelle supplémentaire. Cela simplifie le flux d'exécution dans les boucles.
- BCT est un mécanisme efficace pour implémenter des boucles basées sur un nombre d'itérations connu à l'avance. Contrairement à des instructions comme BC,
dépendant d'une condition, BCT repose sur un simple comptage. Cela offre une solution légère et rapide pour les boucles de comptage.
- En utilisant un registre de base (B2), il est possible de gérer des boucles sur plusieurs segments mémoire. Cela rend l'instruction BCT très puissante pour itérer sur
des structures de données complexes. Elle est idéale pour les structures itératives dans des environnements à faible niveau.
Dernière mise à jour : Mardi, le 22 août 2017