2012年6月16日

ARM平台的对齐问题:

摘要: 在ARM中,有ARM和Thumb两种指令。ARM指令:每执行一条指令,PC的值加4个字节(32bits).一次访问4字节内容,该字节的起始地址必须是4字节对齐的位置上,即地址的低两位为bits[0b00],(为什么?因为第三位就是4的倍数,前两位的值都组合有3,2,1,0其中3,1就不是4的倍数所以就硬性规定低两位为00这样就地址就一定会是四的倍数了)也就是说地址必须是4的倍数。Thumb指令:每执行一条指令,PC的值加2个字节(16bits).).一次访问2字节内容,该字节的起始地址必须是2字节对齐的位置上,即地址的低两位为bits[0b0],也就是说地址必须是2的倍数。 阅读全文

posted @ 2012-06-16 15:51 flczcy 阅读(243) 评论(0) 推荐(0)

导航