语法:
.align {alignment} {, fill} {, max}
参数:
{…} 大括号表示可选项;
alignment 可选项. 对齐的字节数(默认值为4,最小也就是4了),计算公式: ;
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,效果如下所示: