| Assembleur 370 |
LTR |
| Load and Test Register |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer le registre destination - il recevra le contenu de R2 (copie exacte). |
| R2 |
Ce paramètre permet d'indiquer le registre source - son contenu sera copié dans R1. |
Description
Cette instruction permet de copier un registre dans un autre registre et effectue un teste de celui-ci.
Remarques
- LTR effectue une copie du contenu de R2 vers R1, comme l'instruction LR. Mais en plus, elle teste la valeur copiée pour mettre à jour les indicateurs de condition (CC).
C'est donc une version enrichie de LR avec test intégré.
- Après exécution, le code condition (CC) est mis à jour selon la valeur dans R1 : CC=0 si R1 contient 0, CC=1 si R1 > 0, CC=2 si R1 < 0. Cela permet une prise
de décision directe avec une instruction de branchement conditionnel.
- LTR est très utile pour tester rapidement une valeur tout en la copiant. Cela évite de faire deux instructions (LR + CR) et donc optimise le code assembleur. C'est une
instruction compacte et efficace.
- L'instruction n'affecte pas R2, restant inchangé. Seul R1 reçoit la valeur copiée et testée. R2 peut donc être utilisé dans d'autres traitements ensuite.
LTR est souvent utilisée pour tester une valeur de retour ou un résultat intermédiaire. Par exemple, après un appel de sous-programme, on peut savoir rapidement si
une erreur est survenue. Elle est courante dans la gestion des flux de contrôle.
- LTR fait partie des instructions RR (registre à registre), donc ne provoque aucun accès mémoire. Elle est rapide et bien adaptée aux séquences critiques en performance.
Cela en fait un bon choix dans des boucles ou traitements fréquents.
- On peut écrire LTR R4,R4 pour tester uniquement la valeur d'un registre sans le modifier. Cette utilisation permet un test rapide sans avoir besoin d'un registre
source différent. C'est une alternative économique à CR R4,R0.
- LTR est neutre pour les bits de registre autres que CC. Elle ne modifie aucun autre indicateur ni registre système. Cela en fait une instruction sûre et prévisible
dans une logique conditionnelle.
Dernière mise à jour : Mardi, le 22 août 2017