Assembleur 370 |
SR |
Subtract Registers |
Syntaxe
Paramètres
Nom |
Description |
R1 |
Ce paramètre permet d'indiquer un registre de destination. Contient le diminuende (valeur de départ). Reçoit le résultat de la soustraction. |
R2 |
Ce paramètre permet d'indiquer un registre source. Contient le soustrayeur (valeur à soustraire). N'est pas modifié. |
Description
Cette instruction permet d'effectuer la soustraction d'un registre à un autre registre.
Remarques
- L'instruction SR réalise une soustraction entre deux registres généraux. Le registre R1 reçoit le résultat, tandis que R2 reste inchangé. Elle permet de manipuler
des entiers binaires signés sur 32 bits.
- R1 joue le rôle du diminuende, c'est-à-dire la valeur de départ. Après l'opération, il contiendra la différence entre ses données initiales et celles de R2.
Ce registre est donc modifié directement par l'instruction.
- R2 contient le soustrayeur, c'est-à-dire la valeur à soustraire. Il est utilisé uniquement en lecture, ce qui permet de le réutiliser dans d'autres opérations sans
précaution particulière. Cela renforce la souplesse dans la construction de séquences arithmétiques.
- L'instruction fonctionne sur des valeurs signées. Cela signifie que la soustraction tient compte du bit de signe (bit 0). Le résultat peut être positif, négatif ou nul,
en fonction des valeurs initiales.
- Aucune vérification de dépassement n'est faite automatiquement par l'instruction. Si le résultat déborde la capacité d'un mot (32 bits), un débordement peut se produire
sans alerte explicite. Il appartient au programmeur d'ajouter une détection de débordement si nécessaire.
- Cette instruction est très rapide car elle opère entièrement dans les registres, sans accès mémoire. Elle est donc particulièrement adaptée aux calculs intensifs ou
aux boucles d'opérations arithmétiques. Son usage permet d'optimiser la performance du programme.
- SR est complémentaire des instructions AR (Add Registers) et MR (Multiply Registers). Ces instructions permettent une manipulation directe des registres sans recourir
à la mémoire. Elles sont souvent utilisées dans des calculs intermédiaires ou dans les sous-routines mathématiques.
- Comme toujours en assembleur, l'ordre des registres est crucial : SR R1,R2 n'est pas équivalent à SR R2,R1. Inverser les opérandes modifie le résultat obtenu. Cela
nécessite une attention constante pour éviter des erreurs de logique dans les calculs.
Dernière mise à jour : Mardi, le 22 août 2017