数据对齐(/Adxx 或 /AD:yy)
每个块的起始地址将被对齐到给定参数 xx 的倍数。如果省略分隔符 ‘:’ 或 ‘=’,则参数 xx 被解释为十六进制值。如果使用了分隔符,则值 xx 以 C 风格进行解释,例如 /AD:0xFF 与 /AD:255 或 /AD:11111111b 相同。这个值只能是无符号字符值。
示例说明:
-
/AD2
- 将地址对齐,使其成为 2 的倍数。
- 如果一个块从 0xFE01 开始,则会在 0xFE00 插入一个填充字节。插入的字符默认为 0xFF。可以使用 /AF 参数重写默认字符。
- 如果地址从 0xE000 开始,则保持不变,不插入任何字符。
-
/AD:0x80
- 将所有节的地址对齐到 128 的倍数。
- 如果地址从例如 0xE730 开始,将会被对齐到 0xE700。
输入
命令
输出
总结:
数据对齐参数允许开发者指定内存块的起始地址必须是某个数值的倍数,以确保数据在内存中按照预期的边界对齐。这对于某些硬件操作和性能优化是必要的。参数可以是十六进制值,也可以是 C 风格的十进制或二进制值。如果当前地址不是指定倍数的倍数,则会在前面插入填充字节以实现对齐,除非地址已经是对齐的。默认情况下,插入的填充字节是 0xFF,但这个值可以通过其他参数进行更改。