zoukankan      html  css  js  c++  java
  • .align

    .align的作用是针对指令或数据的存放地址对齐。但不同的CPU架构,指令和数据的存储方式不同,也就导致对齐的计量单位不一样。

    i386:n对齐

    ARM:2^n 对齐,ARM架构下,指令都是占32位,所以是4字节对齐。

    当数据没有4字节对齐,编译器会报错(arm-linux-gcc (ctng-1.8.1-FA) 4.5.1),也有的编译器不会报错(有可能ldr指令的地址是6,那么在运行时b跳转肯定会出错)。
    加入.align(默认4字节)对齐后,能正常编译通过。
     
    至于在uboot中看到.align  5,也就是0x20对齐,为什么要8个word对齐,暂不知道为什么? 
    有空再研究
     
  • 相关阅读:
    阅读笔记03
    第十三周总结
    阅读笔记02
    第十二周总结
    第十一周总结
    阅读笔记01
    阅读笔记3
    第十一周总结
    阅读笔记
    HDFS-学习总结
  • 原文地址:https://www.cnblogs.com/black-mamba/p/5040586.html
Copyright © 2011-2022 走看看