数据对齐和零位关系?
在阅读 ARM Cortex-M3 CPU 的论文时,我发现这一行令人困惑:
栈的最低2位 指针始终为 0,这意味着 它们总是单词对齐
我在其他地方看到过类似的声明。一些零位背后的逻辑是什么 =>一些对齐?
Reading through a paper for the ARM Cortex-M3 CPU I found this line confusing:
The lowest 2 bits of the stack
pointers are always 0, which means
they are always word aligned
I have seen similar statements elsewhere. What is the logic behind some zero bits => some alignment?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果 2 个 LS 位始终为零,则地址只能是 4 的倍数,即地址只能是:(
如果有帮助,请考虑十进制的等价物 - 任何以 00 结尾的数字都是 10^2 = 100 的倍数)。
If the 2 LS bits are always zero then addresses can only be multiples of 4, i.e. addresses can only be:
(If it helps, think of the equivalent in decimal - any number that ends in 00 is a multiple of 10^2 = 100).