| Assembleur 370 |
S |
| Subtract |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer le registre de destination. Il contient aussi le premier opérande (le diminuende). Le résultat de la soustraction sera stocké dans ce registre. |
| D2(X2, B2) |
Ce paramètre permet d'indiquer l'adresse mémoire où se trouve le deuxième opérande (le sous-trahend). Cette adresse est calculée par la formule : Adresse effective = D2 + contenu de X2 + contenu de B2. D2 : Déplacement (offset) codé sur 12 bits, X2 : (facultatif) registre d'index, utilisé pour ajouter un décalage variable, B2 : registre de base, contient l'adresse de base pour le calcul d'adresse. |
Description
Cette instruction permet d'effectuer la soustraction d'une opérande à un registre.
Remarques
- L'instruction S réalise une soustraction entre une valeur en mémoire et un registre. Le registre R1 joue un double rôle : il contient le diminuende (valeur de départ)
et recevra le résultat final. Cela permet une opération directe et rapide, sans variable intermédiaire.
- Le second opérande se trouve en mémoire à l'adresse calculée par la combinaison D2 + X2 + B2. Ce schéma d'adressage flexible permet d'accéder dynamiquement à différentes
zones mémoire. On peut ainsi facilement itérer ou adapter l'accès aux données selon le contexte.
- L'opération est destructrice pour R1, puisque le résultat de la soustraction écrase sa valeur d'origine. Il est donc essentiel de préserver le contenu de R1 si celui-ci
est encore nécessaire après l'instruction. Cela peut nécessiter une copie préalable dans un autre registre.
- Le registre X2 est optionnel mais utile pour gérer des structures de données indexées. Par exemple, on peut l'utiliser pour parcourir un tableau ou une liste. C'est une
forme d'adressage indirect typique des programmes en Assembleur.
- Cette instruction agit sur des données entières de 32 bits, ce qui est le format standard des registres. Si l'opérande mémoire n'est pas alignée ou mal formatée, cela
peut causer des erreurs d'exécution. La précision des adresses est donc cruciale.
- L'instruction S modifie les indicateurs de condition du processeur (Condition Code). Ces indicateurs permettent de savoir si le résultat est négatif, nul ou positif.
Ils sont souvent utilisés juste après pour prendre une décision de branchement.
- L'architecture 370 ne fournit pas de sous-instruction de type mémoire-à-mémoire pour la soustraction. C'est toujours une opération entre registre et mémoire.
Cela implique une organisation rigoureuse des registres pour toutes les opérations arithmétiques.
- L'instruction S est souvent utilisée en combinaison avec C (Compare) et des instructions de branchement conditionnel. Elle fait partie des instructions de base pour
implémenter des boucles, des tests et des algorithmes numériques. Maîtriser son usage est fondamental pour tout programmeur Assembleur sur IBM 370.
Dernière mise à jour : Mardi, le 22 août 2017