2010-12-10 6 views
1

私はこのラインが混乱見出さのARMのCortex-M3のCPUのために紙を通して読み取り:スタックの最下位2ビット ポインタは、それらが常にデータの整列とゼロビットの関係?

整列ワードである を意味し、常に0である

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

答えて

2

2つのLSビットは常にゼロである場合、アドレスは唯一の4の倍数することができ、すなわちアドレスしか指定できます

Hex  Binary 
xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000 
xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100 
xxxxxxx8 bbbbbbbbbbbbbbbbbbbbbbbbbbbb1000 
xxxxxxxc bbbbbbbbbbbbbbbbbbbbbbbbbbbb1100 

(それが助け場合は10進数で同等の考える - 終了し、任意の数00は10^2 = 100の倍数です)。

+0

もちろんです。どういうわけか私は、ポインタ自体が格納時に整列していると思っていました。 – Oystein