ARM Cortex-M3 CPUの論文を読んで、この行が混乱していることに気づきました。
スタックポインタの下位2ビットは常に0です。つまり、常にワードアラインされます。
私は他の場所でも同様の声明を見てきました。いくつかのゼロビット=>いくつかのアライメントの背後にあるロジックは何ですか?
2つのLSビットが常にゼロの場合、アドレスは4の倍数のみになります。つまり、アドレスは次のようになります。
Hex Binary
xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000
xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100
xxxxxxx8 bbbbbbbbbbbbbbbbbbbbbbbbbbbb1000
xxxxxxxc bbbbbbbbbbbbbbbbbbbbbbbbbbbb1100
(役立つ場合は、10進数で同等のものを考えてください。00で終わる数値は、10 ^ 2 = 100の倍数です)。