1

阅读 ARM Cortex-M3 CPU 的论文后,我发现这行令人困惑:

堆栈指针的最低 2 位始终为 0,这意味着它们始终是字对齐的

我在其他地方看到过类似的说法。一些零位 => 一些对齐背后的逻辑是什么?

4

1 回答 1

2

如果 2 个 LS 位始终为零,则地址只能是 4 的倍数,即地址只能是:

Hex      Binary
xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000
xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100
xxxxxxx8 bbbbbbbbbbbbbbbbbbbbbbbbbbbb1000
xxxxxxxc bbbbbbbbbbbbbbbbbbbbbbbbbbbb1100

(如果有帮助,请考虑十进制的等价物 - 任何以 00 结尾的数字都是 10^2 = 100 的倍数)。

于 2010-12-10T22:05:44.250 回答