1

ARM Cortex-M3 CPUの論文を読んで、この行が混乱していることに気づきました。

スタックポインタの下位2ビットは常に0です。つまり、常にワードアラインされます。

私は他の場所でも同様の声明を見てきました。いくつかのゼロビット=>いくつかのアライメントの背後にあるロジックは何ですか?

4

1 に答える 1

2

2つのLSビットが常にゼロの場合、アドレスは4の倍数のみになります。つまり、アドレスは次のようになります。

Hex      Binary
xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000
xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100
xxxxxxx8 bbbbbbbbbbbbbbbbbbbbbbbbbbbb1000
xxxxxxxc bbbbbbbbbbbbbbbbbbbbbbbbbbbb1100

(役立つ場合は、10進数で同等のものを考えてください。00で終わる数値は、10 ^ 2 = 100の倍数です)。

于 2010-12-10T22:05:44.250 に答える