Pregunta

Lectura a través de un papel para la ARM Cortex-M3 CPU I encontraron esta línea de confundir:

Los 2 bits más bajos de la pila punteros son siempre 0, lo que significa siempre están alineados por palabras

he visto declaraciones similares en otros lugares. ¿Cuál es la lógica detrás de unos bits cero => cierto grado de adaptación?

¿Fue útil?

Solución

Si las 2 LS bits son siempre cero, entonces las direcciones sólo puede ser múltiplos de 4, es decir, direcciones sólo pueden ser:

Hex      Binary
xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000
xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100
xxxxxxx8 bbbbbbbbbbbbbbbbbbbbbbbbbbbb1000
xxxxxxxc bbbbbbbbbbbbbbbbbbbbbbbbbbbb1100

(Si ayuda, piensa en el equivalente en decimal - cualquier número que termina en 00 es un múltiplo de 10 ^ 2 = 100).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top