asm align 对齐数据
最大成员dword
data:
dd 1
db 2
align 4
dw 3
000E0010 - 01 00 00 00
000E0014 - 02 00 00 00
000E0018 - 03 00
align 的宽度超过最大成员宽度,取最大成员宽度,结果和上面的一样
data:
dd 1
db 2
align 8
dw 3
align的宽度小于等于上一个数据的宽度,则align无效
data:
dd 1
dw 2
align 1
dw 3
000E0010 - 01 00 00 00
000E0014 - 02 00
000E0016 - 03 00
如果数据已经对齐,则align无效
data:
dd 1
dw 2
dw 3
align 4
dw 3
000E0010 - 01 00 00 00
000E0014 - 02 00
000E0016 - 03 00
000E0018 - 03 00
See also:
- NASM align
- 除了你的手动对齐外,编译器还可能做其他优化
- http://www.songho.ca/misc/alignment/dataalign.html