Arm 数据对齐和零位关系?

Arm 数据对齐和零位关系?,arm,alignment,relation,zero,bits,Arm,Alignment,Relation,Zero,Bits,在阅读ARM Cortex-M3 CPU的论文时,我发现这一行令人困惑: 堆栈的最低2位 指针总是0,这意味着 它们总是单词对齐的 我在其他地方也看到过类似的说法。某些零位=>某些对齐背后的逻辑是什么 如果2个LS位始终为零,则地址只能是4的倍数,即地址只能是: Hex Binary xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000 xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100 xxxxxxx8 bbbbbbbbb

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

堆栈的最低2位 指针总是0,这意味着 它们总是单词对齐的


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

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

Hex      Binary
xxxxxxx0 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0000
xxxxxxx4 bbbbbbbbbbbbbbbbbbbbbbbbbbbb0100
xxxxxxx8 bbbbbbbbbbbbbbbbbbbbbbbbbbbb1000
xxxxxxxc bbbbbbbbbbbbbbbbbbbbbbbbbbbb1100

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

Oh当然可以。不知何故,我认为指针本身在存储时是对齐的,而不是它们指向对齐的数据。。