Trois largeurs d'accès existent, et chacune a une variante signée et une variante non signée. Le choix n'est pas une question de goût : il décide de la valeur qui arrive dans le registre.
Les instructions
| Instruction | Octets lus | Traitement du bit de poids fort |
|---|---|---|
lb | 1 | étendu, l'octet est lu comme signé |
lbu | 1 | complété par des zéros |
lw | 4 | le mot occupe tout le registre |
Objectif
Prévoir la valeur déposée dans le registre pour trois lectures.
Pourquoi l'extension de signe existe
Un octet signé valant moins un doit valoir moins un une fois dans un registre de trente-deux bits.
Recopier le bit de poids fort sur tous les bits vacants est la seule façon d'y parvenir. Sur une
donnée qui n'est pas un nombre signé, une couleur ou un caractère par exemple, cette extension
produit au contraire une valeur fausse : c'est précisément ce que lbu évite.