【发布时间】:2010-12-10 21:05:19
【问题描述】:
阅读 ARM Cortex-M3 CPU 的论文后,我发现这行令人困惑:
堆栈的最低 2 位 指针始终为 0,这意味着 它们总是字对齐的
我在其他地方看到过类似的说法。一些零位 => 一些对齐背后的逻辑是什么?
【问题讨论】:
标签: arm alignment relation zero bits
阅读 ARM Cortex-M3 CPU 的论文后,我发现这行令人困惑:
堆栈的最低 2 位 指针始终为 0,这意味着 它们总是字对齐的
我在其他地方看到过类似的说法。一些零位 => 一些对齐背后的逻辑是什么?
【问题讨论】:
标签: arm alignment relation zero bits
如果 2 个 LS 位始终为零,则地址只能是 4 的倍数,即地址只能是:
Hex Binary
xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000
xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100
xxxxxxx8 bbbbbbbbbbbbbbbbbbbbbbbbbbbb1000
xxxxxxxc bbbbbbbbbbbbbbbbbbbbbbbbbbbb1100
(如果有帮助,请考虑十进制的等价物 - 任何以 00 结尾的数字都是 10^2 = 100 的倍数)。
【讨论】: