Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer un registre source et de destination. Ce registre contient l'une des valeurs sur lesquelles l'opération AND sera effectuée. Après l'opération, ce registre contiendra le résultat du AND entre la valeur qu'il contenait initialement et la valeur à l'adresse mémoire spécifiée. |
| D2(X2,B2) |
Ce paramètre permet d'indiquer l'adresse mémoire source. D2 : Déplacement (offset) depuis l'adresse contenue dans le registre B2 pour obtenir l'adresse source, X2 : Valeur de longueur (en octets) à utiliser pour l'adresse mémoire, souvent ignorée dans certaines versions mais parfois utilisée pour une gestion plus complexe des adresses, B2 : Registre de base contenant l'adresse mémoire d'où la donnée sera lue pour l'opération. |
Description
Cette instruction permet d'effectuer une opération de «Et binaire» d'une opérande à un registre.
Remarques
- L'instruction N réalise un ET logique (AND binaire) entre le contenu d'un registre et une valeur mémoire. Chaque bit du registre R1 est comparé avec le bit
correspondant de l'opérande mémoire. Le résultat remplace directement le contenu initial du registre.
- Le registre R1 joue un double rôle : il contient l'un des opérandes avant l'opération et reçoit le résultat après l'opération. Cela signifie que la valeur d'origine
est écrasée par le résultat du AND. Il est donc essentiel de préserver le contenu si celui-ci doit être réutilisé.
- Le second opérande est une valeur mémoire située à l'adresse effective calculée par D2 + X2 + B2. Cela permet une grande flexibilité dans le positionnement des
données à tester. Cette adresse peut être construite dynamiquement grâce aux registres d'index et de base.
- Le AND binaire est utilisé pour forcer certains bits à zéro, tout en préservant les autres. Il est notamment utile pour appliquer des masques de bits, afin d'isoler
ou nettoyer certaines parties d'un mot. C'est une technique courante en programmation bas niveau et en manipulation de drapeaux.
- Cette instruction agit au niveau binaire, bit à bit, et non au niveau arithmétique. Elle est donc particulièrement adaptée au traitement de codes, de drapeaux, ou de
bits de contrôle. Les instructions logiques comme N, O (OR) et X (XOR) sont fondamentales pour ce type de tâches.
- Il faut s'assurer que la taille des données en mémoire correspond à la taille du registre (généralement 32 bits). Un décalage dans les tailles peut entraîner un
résultat inattendu ou incohérent. La précision dans l'adressage mémoire est donc cruciale.
- Cette instruction ne modifie aucun indicateur de condition dans le programme. Elle est donc utilisée uniquement pour des manipulations de données, et non pour
contrôler un flux conditionnel. Cela la distingue de certaines autres instructions logiques qui mettent à jour les drapeaux.
- N est une instruction rapide et efficace, souvent utilisée dans des boucles de traitement bas niveau ou pour désactiver sélectivement des bits. Son exécution dépend
directement de la disponibilité en mémoire de l'opérande source. C'est une base essentielle des opérations logiques dans l'assembleur 370.
Dernière mise à jour : Mardi, le 22 août 2017