Syntaxe
Paramètres
| Nom |
Description |
| O |
Ce paramètre permet d'indiquer l'instruction "OR" effectue une opération logique OU entre le contenu du registre spécifié et la valeur provenant de la mémoire à une adresse donnée (indiquée par D2(X2, B2)). |
| R1 |
Ce paramètre permet d'indiquer le registre de destination. Ce registre contiendra le résultat de l'opération logique OU entre son propre contenu et la valeur obtenue à l'adresse D2(X2, B2). |
| D2(X2, B2) |
Ce paramètre permet d'indiquer l'opérande mémoire étant utilisée dans l'opération OU. Il est constitué de plusieurs éléments : D2 : Le décalage de base ou un registre qui contient une valeur d'adresse, (X2, B2) : Ce sont des composants d'adresse. X2 est une valeur de décalage ou d'index, et B2 est un registre qui contient une adresse de base. L'opérande mémoire est calculée comme la somme de ces trois éléments : l'adresse de base (B2), l'index (X2), et le décalage (D2). |
Description
Cette instruction permet d'effectuer une opération de «Ou binaire» d'une opérande à un registre.
Remarques
- L'instruction O réalise une opération logique OU binaire entre un registre et une valeur en mémoire. Elle modifie le registre R1 pour y placer le résultat. La source
mémoire n'est pas modifiée.
- Cette instruction est pratique pour activer certains bits dans un registre sans toucher aux autres. Par exemple, O R1,D2(X2,B2) permet d'ajouter des drapeaux (flags) à
une valeur existante. C'est l'inverse logique de l'instruction N, qui éteint des bits.
- Le calcul de l'adresse mémoire suit le schéma classique IBM : D2 + X2 + B2. Cela permet une grande flexibilité, notamment pour accéder à des structures complexes
en mémoire. X2 peut être omis si on n'utilise pas d'indexation.
- Comme l'opérande mémoire est lue mais non modifiée, O est non destructive pour la source. Cela la rend adaptée à des opérations répétées où la même valeur est utilisée
comme masque. Le masque peut être une constante placée en mémoire.
- R1 est à la fois opérande et destination, il est donc modifié après l'instruction. Il faut s'assurer que sa valeur initiale est bien celle à enrichir avec le OU logique.
Cela évite de perdre des données importantes.
- L'opération OU est utile pour fusionner des informations binaires, par exemple assembler des bits de plusieurs sources. Elle sert aussi pour des tests ou configurations
dans les traitements système ou périphériques. Elle permet d'ajouter des options sans effacer celles déjà présentes.
- L'instruction O est plus souple que les variantes immédiates (OI) lorsqu'on veut appliquer des masques dynamiquement calculés ou variables. Elle permet d'utiliser une
valeur en mémoire comme masque, au lieu d'une constante codée dans l'instruction. Cela permet une programmation plus générique.
- Cette instruction fait partie d'une famille logique avec N (AND), X (XOR), et leurs variantes par registres ou immédiates. Elle est essentielle dans les traitements
bit à bit, qui sont courants dans la gestion de registres matériels. Sa simplicité d'usage en fait un outil très utilisé en bas niveau.
Dernière mise à jour : Mardi, le 22 août 2017