Il existe dans le langage C un moyen de réaliser de telles descriptions, à l'aide du concept de structure. En effet, dans une déclaration de structure, il est possible de faire suivre la définition d'un membre par une indication du nombre de bits que doit avoir ce membre. Dans ce cas, le langage C appelle ça un champ de bits.
Le registre d'état du MC 68030 peut se décrire ainsi :
struct sr { unsigned int trace : 2; unsigned int priv : 2; unsigned int : 1; /* inutilisé */ unsigned int masque : 3; unsigned int : 3; /* inutilisé */ unsigned int extend : 1; unsigned int negative : 1; unsigned int zero : 1; unsigned int overflow : 1; unsigned int carry : 1; };On voit que le langage C accepte que l'on ne donne pas de nom aux champs de bits qui ne sont pas utilisés.
Matthieu Moy 2017-02-08