[求助]关于字节对齐
arm吧
全部回复
仅看楼主
level 5
Davee_X
楼主
我对字节对齐还是有一点点概念的(新手),
但是时我在看一本Cortex-M3资料的的时候实在不理解这句话:
"堆栈指针(32位寄存器)的最低两位永远是0,这就意味着堆栈总是4字节对齐的",
望各位指教一下
2012年10月03日 05点10分
1
level 9
贴毛吧
0x40004100
0x40004104
0x40004108
0x4000410c
0x40004110
像这样的就是连续的一组寄存器地址,32位处理器一次能处理4字节(32个bit)的数据,
arm9的寄存器地址都是这样的。m3我没接触过
2012年10月04日 08点10分
3
Davee_X
谢谢! 我的意思是 "堆栈指针的最低两位永远是0,这就意味着堆栈总是4字节对齐的" 这句话 前半句我推不出后半句,为什么"最低两位永远是0" 就 "总是4字节对齐"了呢?
2012年10月04日 09点10分
贴毛吧
回复 Davee_X :最低两位是0,寄存器地址就是我列的那样的地址,我列的那样的地址就是4字节对齐
2012年10月04日 10点10分
Davee_X
回复 贴毛吧 : 自己写了一下二进制位恍然大悟,谢谢,非常感谢!
2012年10月04日 12点10分
level 13
雕_猫
上楼正解!其实,最低两位说的是二进制!
2012年10月04日 23点10分
5
1