语法:

.align {alignment} {, fill} {, max}

参数:
{…} 大括号表示可选项;
alignment 可选项. 对齐的字节数(默认值为4,最小也就是4了),计算公式: 2alignment2^{alignment};
fill 可选项. 默认为0或不进行填充操作. 该值的范围[0,255];
max 可选项. [该参数功能未知,我在调试时尝试加入该参数,总是提示错误.]

功能:

使.align之后的代码按照指定的字节数进行地址对齐.

SofTool’s Note:
至于怎么理解”对齐”这两个字,大家上机调试一下就明白了。
例如下面的示例,标号SofTool1所在的地址为0xC000 8010,如果我没有在标号SofTool2之前添加对齐指令,那么标号SofTool2的地址应该是0xC000 8014,如果我在标号SofTool2之前使用指令”.align 3”,那么标号SofTool2的地址就会从0xC000 8014调整到0xC000 8018.

示例:

SofTool:
    ldr r0, =SofTool1    @0xC000 8010
    ldr r1, =SofTool2    @0xC000 8080
    mov r0, #0

SofTool1:
    mov    r0, #0

    .align 7,0x55
SofTool2:
    mov    r0, #0

上面程序调试期间的填充数据指定为0x55,效果如下所示:

.align - 图1