Un octet de configuration range souvent plusieurs champs côte à côte. Les extraire demande deux gestes, et toujours dans le même ordre : décaler, puis masquer.
La situation
Un registre de configuration contient l'octet 0xAB, soit 10101011 en binaire.
| Bits | Champ |
|---|---|
| 4 à 7 | mode |
| 0 à 3 | vitesse |
Objectif
Extraire les deux champs, en valeur décimale.
L'ordre des deux gestes
Décaler d'abord amène le champ en bas du registre, masquer ensuite efface ce qui se trouvait au-dessus. L'ordre inverse marche aussi, à condition de décaler le masque d'autant, ce qui fait une occasion d'erreur de plus. Décaler puis masquer avec un masque toujours écrit en bas est la convention qui se relit le mieux.