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?

Était-ce utile?

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
scroll top