alignement des données et la relation zéro bits?
Question
Lecture à travers un papier pour le processeur ARM Cortex-M3 Je trouve cette ligne confusion:
Les 2 bits les plus bas de la pile pointeurs sont toujours 0, ce qui signifie ils sont toujours alignés mot
J'ai vu des déclarations similaires ailleurs. Quelle est la logique derrière certains bits à zéro => un certain alignement?
La solution
Si les 2 bits LS sont toujours zéro, les adresses ne peut être un multiple de 4, à savoir les adresses ne peuvent être:
Hex Binary
xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000
xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100
xxxxxxx8 bbbbbbbbbbbbbbbbbbbbbbbbbbbb1000
xxxxxxxc bbbbbbbbbbbbbbbbbbbbbbbbbbbb1100
(Si elle aide, penser à l'équivalent en décimal - un nombre qui se termine en 00 est un multiple de 10 ^ 2 = 100).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow