Un registre d'état rassemble des drapeaux indépendants. Modifier l'un d'eux sans toucher aux autres est le geste le plus fréquent de la programmation bas niveau, et il a trois formes.
La situation
Le registre contient 0x42, soit 01000010 en binaire.
Les trois gestes
| Intention | Opération | Masque |
|---|---|---|
| forcer un bit à un | OU | le bit seul |
| effacer un bit | ET | le complément du bit |
| basculer un bit | OU EXCLUSIF | le bit seul |
Objectif
Appliquer les trois gestes au registre, et donner les valeurs décimales obtenues.
Ce qu'aucun des trois ne fait
Aucun ne lit l'état précédent du bit. C'est exactement ce qu'on veut : une lecture suivie d'une écriture laisse une fenêtre pendant laquelle un autre acteur peut modifier le registre, et le travail sur les drapeaux consiste justement à éviter cette fenêtre.